Make class open for inherit

Bug: 261483935
Test: Manual
Change-Id: Ia29ad9684e5128c715b6e7948b7edec64d95f575
This commit is contained in:
Cassie(Yitong) Wang
2023-01-12 18:10:52 +00:00
parent c7d5d7f091
commit f944cef613

View File

@@ -54,7 +54,7 @@ import javax.inject.Inject
* their respective views based on the progress of the animator. Interpolation differences TBD * their respective views based on the progress of the animator. Interpolation differences TBD
*/ */
@SysUISingleton @SysUISingleton
class SystemStatusAnimationScheduler @Inject constructor( open class SystemStatusAnimationScheduler @Inject constructor(
private val coordinator: SystemEventCoordinator, private val coordinator: SystemEventCoordinator,
private val chipAnimationController: SystemEventChipAnimationController, private val chipAnimationController: SystemEventChipAnimationController,
private val statusBarWindowController: StatusBarWindowController, private val statusBarWindowController: StatusBarWindowController,
@@ -66,7 +66,7 @@ class SystemStatusAnimationScheduler @Inject constructor(
companion object { companion object {
private const val PROPERTY_ENABLE_IMMERSIVE_INDICATOR = "enable_immersive_indicator" private const val PROPERTY_ENABLE_IMMERSIVE_INDICATOR = "enable_immersive_indicator"
} }
private fun isImmersiveIndicatorEnabled(): Boolean { public fun isImmersiveIndicatorEnabled(): Boolean {
return DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_PRIVACY, return DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_PRIVACY,
PROPERTY_ENABLE_IMMERSIVE_INDICATOR, true) PROPERTY_ENABLE_IMMERSIVE_INDICATOR, true)
} }
@@ -76,18 +76,22 @@ class SystemStatusAnimationScheduler @Inject constructor(
/** True if the persistent privacy dot should be active */ /** True if the persistent privacy dot should be active */
var hasPersistentDot = false var hasPersistentDot = false
private set protected set
private var scheduledEvent: StatusEvent? = null private var scheduledEvent: StatusEvent? = null
private var cancelExecutionRunnable: Runnable? = null private var cancelExecutionRunnable: Runnable? = null
private val listeners = mutableSetOf<SystemStatusAnimationCallback>() private val listeners = mutableSetOf<SystemStatusAnimationCallback>()
fun getListeners(): MutableSet<SystemStatusAnimationCallback> {
return listeners
}
init { init {
coordinator.attachScheduler(this) coordinator.attachScheduler(this)
dumpManager.registerDumpable(TAG, this) dumpManager.registerDumpable(TAG, this)
} }
fun onStatusEvent(event: StatusEvent) { open fun onStatusEvent(event: StatusEvent) {
// Ignore any updates until the system is up and running // Ignore any updates until the system is up and running
if (isTooEarly() || !isImmersiveIndicatorEnabled()) { if (isTooEarly() || !isImmersiveIndicatorEnabled()) {
return return
@@ -139,7 +143,7 @@ class SystemStatusAnimationScheduler @Inject constructor(
} }
} }
private fun isTooEarly(): Boolean { public fun isTooEarly(): Boolean {
return systemClock.uptimeMillis() - Process.getStartUptimeMillis() < MIN_UPTIME return systemClock.uptimeMillis() - Process.getStartUptimeMillis() < MIN_UPTIME
} }