summaryrefslogtreecommitdiff
path: root/src_no_quickstep
diff options
context:
space:
mode:
author Will Osborn <willosborn@google.com> 2025-01-20 15:33:43 +0000
committer Will Osborn <willosborn@google.com> 2025-02-12 10:46:34 +0000
commit5f8b6206ce62a5a02396b8fbcc65e496f1e03973 (patch)
treea879411648836e404ed97eea43fac655d17b9f8e /src_no_quickstep
parent743786b66c87fc6c962b4a89a9ac4d36a013a6e9 (diff)
Refactor all uses of DisplayController singleton INSTANCE
And make DisplayController display id aware Test: locally tested on Tangor Flag: EXEMPT refactor Bug: 392858637 Change-Id: I805cd7323c48a2988c95b9fda7f6cfe4c153860c
Diffstat (limited to 'src_no_quickstep')
-rw-r--r--src_no_quickstep/com/android/launcher3/dagger/Modules.kt34
1 files changed, 34 insertions, 0 deletions
diff --git a/src_no_quickstep/com/android/launcher3/dagger/Modules.kt b/src_no_quickstep/com/android/launcher3/dagger/Modules.kt
index c3bf7c532b..8872b7931d 100644
--- a/src_no_quickstep/com/android/launcher3/dagger/Modules.kt
+++ b/src_no_quickstep/com/android/launcher3/dagger/Modules.kt
@@ -16,7 +16,16 @@
package com.android.launcher3.dagger
+import android.content.Context
+import android.view.Display.DEFAULT_DISPLAY
+import com.android.launcher3.LauncherPrefs
+import com.android.launcher3.util.DaggerSingletonTracker
+import com.android.launcher3.util.DisplayController
+import com.android.launcher3.util.PerDisplayObjectProvider
+import com.android.launcher3.util.window.WindowManagerProxy
+import dagger.Binds
import dagger.Module
+import javax.inject.Inject
private object Modules {}
@@ -28,5 +37,30 @@ private object Modules {}
@Module object StaticObjectModule {}
+@LauncherAppSingleton
+class DefaultPerDisplayObjectProvider
+@Inject
+constructor(
+ @ApplicationContext context: Context,
+ wmProxy: WindowManagerProxy,
+ launcherPrefs: LauncherPrefs,
+ lifecycleTracker: DaggerSingletonTracker,
+) : PerDisplayObjectProvider {
+ val displayController =
+ DisplayController(context, wmProxy, launcherPrefs, lifecycleTracker, DEFAULT_DISPLAY)
+
+ override fun getDisplayController(displayId: Int): DisplayController {
+ return displayController
+ }
+}
+
+@Module
+abstract class PerDisplayObjectProviderModule {
+ @Binds
+ abstract fun bindPerDisplayObjectProvider(
+ impl: DefaultPerDisplayObjectProvider
+ ): PerDisplayObjectProvider
+}
+
// Module containing bindings for the final derivative app
@Module abstract class AppModule {}