Loading packages/SystemUI/src/com/android/systemui/dump/DumpManager.kt +5 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,11 @@ open class DumpManager @Inject constructor() { registerDumpable(name, module, DumpPriority.CRITICAL) } /** See [registerNormalDumpable]. */ fun registerNormalDumpable(module: Dumpable) { registerNormalDumpable(module::class.java.simpleName, module) } /** * Registers a dumpable to be called during the NORMAL section of the bug report. * Loading packages/SystemUI/src/com/android/systemui/media/taptotransfer/receiver/MediaTttChipControllerReceiver.kt +4 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ import com.android.systemui.common.shared.model.ContentDescription import com.android.systemui.common.ui.binder.TintedIconViewBinder import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.dump.DumpManager import com.android.systemui.media.taptotransfer.MediaTttFlags import com.android.systemui.media.taptotransfer.common.MediaTttIcon import com.android.systemui.media.taptotransfer.common.MediaTttLogger Loading Loading @@ -69,6 +70,7 @@ open class MediaTttChipControllerReceiver @Inject constructor( mainExecutor: DelayableExecutor, accessibilityManager: AccessibilityManager, configurationController: ConfigurationController, dumpManager: DumpManager, powerManager: PowerManager, @Main private val mainHandler: Handler, private val mediaTttFlags: MediaTttFlags, Loading @@ -83,6 +85,7 @@ open class MediaTttChipControllerReceiver @Inject constructor( mainExecutor, accessibilityManager, configurationController, dumpManager, powerManager, R.layout.media_ttt_chip_receiver, wakeLockBuilder, Loading Loading @@ -162,6 +165,7 @@ open class MediaTttChipControllerReceiver @Inject constructor( } override fun start() { super.start() if (mediaTttFlags.isMediaTttEnabled()) { commandQueue.addCallback(commandQueueCallbacks) } Loading packages/SystemUI/src/com/android/systemui/temporarydisplay/TemporaryViewDisplayController.kt +24 −3 Original line number Diff line number Diff line Loading @@ -30,12 +30,16 @@ import android.view.accessibility.AccessibilityManager import android.view.accessibility.AccessibilityManager.FLAG_CONTENT_CONTROLS import android.view.accessibility.AccessibilityManager.FLAG_CONTENT_ICONS import android.view.accessibility.AccessibilityManager.FLAG_CONTENT_TEXT import androidx.annotation.CallSuper import com.android.systemui.CoreStartable import com.android.systemui.Dumpable import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.dump.DumpManager import com.android.systemui.statusbar.policy.ConfigurationController import com.android.systemui.util.concurrency.DelayableExecutor import com.android.systemui.util.time.SystemClock import com.android.systemui.util.wakelock.WakeLock import java.io.PrintWriter /** * A generic controller that can temporarily display a new view in a new window. Loading Loading @@ -69,11 +73,12 @@ abstract class TemporaryViewDisplayController<T : TemporaryViewInfo, U : Tempora @Main private val mainExecutor: DelayableExecutor, private val accessibilityManager: AccessibilityManager, private val configurationController: ConfigurationController, private val dumpManager: DumpManager, private val powerManager: PowerManager, @LayoutRes private val viewLayoutRes: Int, private val wakeLockBuilder: WakeLock.Builder, private val systemClock: SystemClock, ) : CoreStartable { ) : CoreStartable, Dumpable { /** * Window layout params that will be used as a starting point for the [windowLayoutParams] of * all subclasses. Loading Loading @@ -109,6 +114,11 @@ abstract class TemporaryViewDisplayController<T : TemporaryViewInfo, U : Tempora return activeViews.getOrNull(0) } @CallSuper override fun start() { dumpManager.registerNormalDumpable(this) } /** * Displays the view with the provided [newInfo]. * Loading Loading @@ -382,6 +392,19 @@ abstract class TemporaryViewDisplayController<T : TemporaryViewInfo, U : Tempora } } @Synchronized @CallSuper override fun dump(pw: PrintWriter, args: Array<out String>) { pw.println("Current time millis: ${systemClock.currentTimeMillis()}") pw.println("Active views size: ${activeViews.size}") activeViews.forEachIndexed { index, displayInfo -> pw.println("View[$index]:") pw.println(" info=${displayInfo.info}") pw.println(" hasView=${displayInfo.view != null}") pw.println(" timeExpiration=${displayInfo.timeExpirationMillis}") } } /** * A method implemented by subclasses to update [currentView] based on [newInfo]. */ Loading Loading @@ -445,8 +468,6 @@ abstract class TemporaryViewDisplayController<T : TemporaryViewInfo, U : Tempora */ var cancelViewTimeout: Runnable?, ) // TODO(b/258019006): Add a dump method that dumps the currently active views. } private const val REMOVAL_REASON_TIMEOUT = "TIMEOUT" Loading packages/SystemUI/src/com/android/systemui/temporarydisplay/chipbar/ChipbarCoordinator.kt +3 −2 Original line number Diff line number Diff line Loading @@ -41,6 +41,7 @@ import com.android.systemui.common.ui.binder.TextViewBinder import com.android.systemui.common.ui.binder.TintedIconViewBinder import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.dump.DumpManager import com.android.systemui.plugins.FalsingManager import com.android.systemui.statusbar.VibratorHelper import com.android.systemui.statusbar.policy.ConfigurationController Loading Loading @@ -75,6 +76,7 @@ open class ChipbarCoordinator @Inject constructor( @Main mainExecutor: DelayableExecutor, accessibilityManager: AccessibilityManager, configurationController: ConfigurationController, dumpManager: DumpManager, powerManager: PowerManager, private val falsingManager: FalsingManager, private val falsingCollector: FalsingCollector, Loading @@ -89,6 +91,7 @@ open class ChipbarCoordinator @Inject constructor( mainExecutor, accessibilityManager, configurationController, dumpManager, powerManager, R.layout.chipbar, wakeLockBuilder, Loading Loading @@ -225,8 +228,6 @@ open class ChipbarCoordinator @Inject constructor( return requireViewById(R.id.chipbar_inner) } override fun start() {} override fun getTouchableRegion(view: View, outRect: Rect) { viewUtil.setRectToViewWindowLocation(view, outRect) } Loading packages/SystemUI/tests/src/com/android/systemui/media/taptotransfer/receiver/FakeMediaTttChipControllerReceiver.kt +3 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.os.PowerManager import android.view.ViewGroup import android.view.WindowManager import android.view.accessibility.AccessibilityManager import com.android.systemui.dump.DumpManager import com.android.systemui.media.taptotransfer.MediaTttFlags import com.android.systemui.media.taptotransfer.common.MediaTttLogger import com.android.systemui.statusbar.CommandQueue Loading @@ -39,6 +40,7 @@ class FakeMediaTttChipControllerReceiver( mainExecutor: DelayableExecutor, accessibilityManager: AccessibilityManager, configurationController: ConfigurationController, dumpManager: DumpManager, powerManager: PowerManager, mainHandler: Handler, mediaTttFlags: MediaTttFlags, Loading @@ -55,6 +57,7 @@ class FakeMediaTttChipControllerReceiver( mainExecutor, accessibilityManager, configurationController, dumpManager, powerManager, mainHandler, mediaTttFlags, Loading Loading
packages/SystemUI/src/com/android/systemui/dump/DumpManager.kt +5 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,11 @@ open class DumpManager @Inject constructor() { registerDumpable(name, module, DumpPriority.CRITICAL) } /** See [registerNormalDumpable]. */ fun registerNormalDumpable(module: Dumpable) { registerNormalDumpable(module::class.java.simpleName, module) } /** * Registers a dumpable to be called during the NORMAL section of the bug report. * Loading
packages/SystemUI/src/com/android/systemui/media/taptotransfer/receiver/MediaTttChipControllerReceiver.kt +4 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ import com.android.systemui.common.shared.model.ContentDescription import com.android.systemui.common.ui.binder.TintedIconViewBinder import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.dump.DumpManager import com.android.systemui.media.taptotransfer.MediaTttFlags import com.android.systemui.media.taptotransfer.common.MediaTttIcon import com.android.systemui.media.taptotransfer.common.MediaTttLogger Loading Loading @@ -69,6 +70,7 @@ open class MediaTttChipControllerReceiver @Inject constructor( mainExecutor: DelayableExecutor, accessibilityManager: AccessibilityManager, configurationController: ConfigurationController, dumpManager: DumpManager, powerManager: PowerManager, @Main private val mainHandler: Handler, private val mediaTttFlags: MediaTttFlags, Loading @@ -83,6 +85,7 @@ open class MediaTttChipControllerReceiver @Inject constructor( mainExecutor, accessibilityManager, configurationController, dumpManager, powerManager, R.layout.media_ttt_chip_receiver, wakeLockBuilder, Loading Loading @@ -162,6 +165,7 @@ open class MediaTttChipControllerReceiver @Inject constructor( } override fun start() { super.start() if (mediaTttFlags.isMediaTttEnabled()) { commandQueue.addCallback(commandQueueCallbacks) } Loading
packages/SystemUI/src/com/android/systemui/temporarydisplay/TemporaryViewDisplayController.kt +24 −3 Original line number Diff line number Diff line Loading @@ -30,12 +30,16 @@ import android.view.accessibility.AccessibilityManager import android.view.accessibility.AccessibilityManager.FLAG_CONTENT_CONTROLS import android.view.accessibility.AccessibilityManager.FLAG_CONTENT_ICONS import android.view.accessibility.AccessibilityManager.FLAG_CONTENT_TEXT import androidx.annotation.CallSuper import com.android.systemui.CoreStartable import com.android.systemui.Dumpable import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.dump.DumpManager import com.android.systemui.statusbar.policy.ConfigurationController import com.android.systemui.util.concurrency.DelayableExecutor import com.android.systemui.util.time.SystemClock import com.android.systemui.util.wakelock.WakeLock import java.io.PrintWriter /** * A generic controller that can temporarily display a new view in a new window. Loading Loading @@ -69,11 +73,12 @@ abstract class TemporaryViewDisplayController<T : TemporaryViewInfo, U : Tempora @Main private val mainExecutor: DelayableExecutor, private val accessibilityManager: AccessibilityManager, private val configurationController: ConfigurationController, private val dumpManager: DumpManager, private val powerManager: PowerManager, @LayoutRes private val viewLayoutRes: Int, private val wakeLockBuilder: WakeLock.Builder, private val systemClock: SystemClock, ) : CoreStartable { ) : CoreStartable, Dumpable { /** * Window layout params that will be used as a starting point for the [windowLayoutParams] of * all subclasses. Loading Loading @@ -109,6 +114,11 @@ abstract class TemporaryViewDisplayController<T : TemporaryViewInfo, U : Tempora return activeViews.getOrNull(0) } @CallSuper override fun start() { dumpManager.registerNormalDumpable(this) } /** * Displays the view with the provided [newInfo]. * Loading Loading @@ -382,6 +392,19 @@ abstract class TemporaryViewDisplayController<T : TemporaryViewInfo, U : Tempora } } @Synchronized @CallSuper override fun dump(pw: PrintWriter, args: Array<out String>) { pw.println("Current time millis: ${systemClock.currentTimeMillis()}") pw.println("Active views size: ${activeViews.size}") activeViews.forEachIndexed { index, displayInfo -> pw.println("View[$index]:") pw.println(" info=${displayInfo.info}") pw.println(" hasView=${displayInfo.view != null}") pw.println(" timeExpiration=${displayInfo.timeExpirationMillis}") } } /** * A method implemented by subclasses to update [currentView] based on [newInfo]. */ Loading Loading @@ -445,8 +468,6 @@ abstract class TemporaryViewDisplayController<T : TemporaryViewInfo, U : Tempora */ var cancelViewTimeout: Runnable?, ) // TODO(b/258019006): Add a dump method that dumps the currently active views. } private const val REMOVAL_REASON_TIMEOUT = "TIMEOUT" Loading
packages/SystemUI/src/com/android/systemui/temporarydisplay/chipbar/ChipbarCoordinator.kt +3 −2 Original line number Diff line number Diff line Loading @@ -41,6 +41,7 @@ import com.android.systemui.common.ui.binder.TextViewBinder import com.android.systemui.common.ui.binder.TintedIconViewBinder import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.dump.DumpManager import com.android.systemui.plugins.FalsingManager import com.android.systemui.statusbar.VibratorHelper import com.android.systemui.statusbar.policy.ConfigurationController Loading Loading @@ -75,6 +76,7 @@ open class ChipbarCoordinator @Inject constructor( @Main mainExecutor: DelayableExecutor, accessibilityManager: AccessibilityManager, configurationController: ConfigurationController, dumpManager: DumpManager, powerManager: PowerManager, private val falsingManager: FalsingManager, private val falsingCollector: FalsingCollector, Loading @@ -89,6 +91,7 @@ open class ChipbarCoordinator @Inject constructor( mainExecutor, accessibilityManager, configurationController, dumpManager, powerManager, R.layout.chipbar, wakeLockBuilder, Loading Loading @@ -225,8 +228,6 @@ open class ChipbarCoordinator @Inject constructor( return requireViewById(R.id.chipbar_inner) } override fun start() {} override fun getTouchableRegion(view: View, outRect: Rect) { viewUtil.setRectToViewWindowLocation(view, outRect) } Loading
packages/SystemUI/tests/src/com/android/systemui/media/taptotransfer/receiver/FakeMediaTttChipControllerReceiver.kt +3 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.os.PowerManager import android.view.ViewGroup import android.view.WindowManager import android.view.accessibility.AccessibilityManager import com.android.systemui.dump.DumpManager import com.android.systemui.media.taptotransfer.MediaTttFlags import com.android.systemui.media.taptotransfer.common.MediaTttLogger import com.android.systemui.statusbar.CommandQueue Loading @@ -39,6 +40,7 @@ class FakeMediaTttChipControllerReceiver( mainExecutor: DelayableExecutor, accessibilityManager: AccessibilityManager, configurationController: ConfigurationController, dumpManager: DumpManager, powerManager: PowerManager, mainHandler: Handler, mediaTttFlags: MediaTttFlags, Loading @@ -55,6 +57,7 @@ class FakeMediaTttChipControllerReceiver( mainExecutor, accessibilityManager, configurationController, dumpManager, powerManager, mainHandler, mediaTttFlags, Loading