[Central Surfaces] Make LetterboxAppearanceCalculator a singleton.
Bug: 277762009 Test: compiles Test: `adb shell dumpsys activity service com.android.systemui/.SystemUIService LetterboxAppearanceCalculator` -> shows dump Test: atest LeterboxAppearanceCalculatorTest Change-Id: I3713c8ed9a5408283374229ebbf3d47497c716b5
This commit is contained in:
@@ -39,6 +39,11 @@ open class DumpManager @Inject constructor() {
|
||||
private val dumpables: MutableMap<String, RegisteredDumpable<Dumpable>> = ArrayMap()
|
||||
private val buffers: MutableMap<String, RegisteredDumpable<LogBuffer>> = ArrayMap()
|
||||
|
||||
/** See [registerCriticalDumpable]. */
|
||||
fun registerCriticalDumpable(module: Dumpable) {
|
||||
registerCriticalDumpable(module::class.java.simpleName, module)
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers a dumpable to be called during the CRITICAL section of the bug report.
|
||||
*
|
||||
|
||||
@@ -26,10 +26,10 @@ import android.view.WindowInsetsController.Appearance
|
||||
import com.android.internal.statusbar.LetterboxDetails
|
||||
import com.android.internal.util.ContrastColorUtil
|
||||
import com.android.internal.view.AppearanceRegion
|
||||
import com.android.systemui.Dumpable
|
||||
import com.android.systemui.dagger.SysUISingleton
|
||||
import com.android.systemui.dump.DumpManager
|
||||
import com.android.systemui.statusbar.core.StatusBarInitializer.OnStatusBarViewInitializedListener
|
||||
import com.android.systemui.statusbar.phone.dagger.CentralSurfacesComponent
|
||||
import com.android.systemui.statusbar.phone.dagger.CentralSurfacesComponent.CentralSurfacesScope
|
||||
import com.android.systemui.statusbar.phone.fragment.dagger.StatusBarFragmentComponent
|
||||
import java.io.PrintWriter
|
||||
import java.util.Arrays
|
||||
@@ -50,25 +50,21 @@ class LetterboxAppearance(
|
||||
* Responsible for calculating the [Appearance] and [AppearanceRegion] for the status bar when apps
|
||||
* are letterboxed.
|
||||
*/
|
||||
@CentralSurfacesScope
|
||||
@SysUISingleton
|
||||
class LetterboxAppearanceCalculator
|
||||
@Inject
|
||||
constructor(
|
||||
private val lightBarController: LightBarController,
|
||||
private val dumpManager: DumpManager,
|
||||
dumpManager: DumpManager,
|
||||
private val letterboxBackgroundProvider: LetterboxBackgroundProvider,
|
||||
) : OnStatusBarViewInitializedListener, CentralSurfacesComponent.Startable {
|
||||
) : OnStatusBarViewInitializedListener, Dumpable {
|
||||
|
||||
init {
|
||||
dumpManager.registerCriticalDumpable(this)
|
||||
}
|
||||
|
||||
private var statusBarBoundsProvider: StatusBarBoundsProvider? = null
|
||||
|
||||
override fun start() {
|
||||
dumpManager.registerCriticalDumpable(javaClass.simpleName) { pw, _ -> dump(pw) }
|
||||
}
|
||||
|
||||
override fun stop() {
|
||||
dumpManager.unregisterDumpable(javaClass.simpleName)
|
||||
}
|
||||
|
||||
private var lastAppearance: Int? = null
|
||||
private var lastAppearanceRegions: Array<AppearanceRegion>? = null
|
||||
private var lastLetterboxes: Array<LetterboxDetails>? = null
|
||||
@@ -216,8 +212,8 @@ constructor(
|
||||
return this.intersect(other)
|
||||
}
|
||||
|
||||
private fun dump(printWriter: PrintWriter) {
|
||||
printWriter.println(
|
||||
override fun dump(pw: PrintWriter, args: Array<out String>) {
|
||||
pw.println(
|
||||
"""
|
||||
lastAppearance: ${lastAppearance?.toAppearanceString()}
|
||||
lastAppearanceRegion: ${Arrays.toString(lastAppearanceRegions)},
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
package com.android.systemui.statusbar.phone.dagger;
|
||||
|
||||
import com.android.systemui.statusbar.phone.LetterboxAppearanceCalculator;
|
||||
import com.android.systemui.statusbar.phone.SystemBarAttributesListener;
|
||||
|
||||
import dagger.Binds;
|
||||
@@ -31,11 +30,6 @@ interface CentralSurfacesStartableModule {
|
||||
@Multibinds
|
||||
Set<CentralSurfacesComponent.Startable> multibindStartables();
|
||||
|
||||
@Binds
|
||||
@IntoSet
|
||||
CentralSurfacesComponent.Startable letterboxAppearanceCalculator(
|
||||
LetterboxAppearanceCalculator letterboxAppearanceCalculator);
|
||||
|
||||
@Binds
|
||||
@IntoSet
|
||||
CentralSurfacesComponent.Startable sysBarAttrsListener(
|
||||
|
||||
Reference in New Issue
Block a user