diff options
author | 2025-01-20 15:33:43 +0000 | |
---|---|---|
committer | 2025-02-12 10:46:34 +0000 | |
commit | 5f8b6206ce62a5a02396b8fbcc65e496f1e03973 (patch) | |
tree | a879411648836e404ed97eea43fac655d17b9f8e /src_no_quickstep | |
parent | 743786b66c87fc6c962b4a89a9ac4d36a013a6e9 (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.kt | 34 |
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 {} |