Merge "Revert "Enable DemoMode for new QS clock"" into tm-qpr-dev

This commit is contained in:
Aaron Fan
2022-11-04 19:59:14 +00:00
committed by Android (Google) Code Review
3 changed files with 9 additions and 73 deletions

View File

@@ -19,7 +19,6 @@ package com.android.systemui.shade
import android.annotation.IdRes import android.annotation.IdRes
import android.app.StatusBarManager import android.app.StatusBarManager
import android.content.res.Configuration import android.content.res.Configuration
import android.os.Bundle
import android.os.Trace import android.os.Trace
import android.os.Trace.TRACE_TAG_APP import android.os.Trace.TRACE_TAG_APP
import android.util.Pair import android.util.Pair
@@ -35,8 +34,6 @@ import com.android.systemui.animation.Interpolators
import com.android.systemui.animation.ShadeInterpolation import com.android.systemui.animation.ShadeInterpolation
import com.android.systemui.battery.BatteryMeterView import com.android.systemui.battery.BatteryMeterView
import com.android.systemui.battery.BatteryMeterViewController import com.android.systemui.battery.BatteryMeterViewController
import com.android.systemui.demomode.DemoMode
import com.android.systemui.demomode.DemoModeController
import com.android.systemui.dump.DumpManager import com.android.systemui.dump.DumpManager
import com.android.systemui.flags.FeatureFlags import com.android.systemui.flags.FeatureFlags
import com.android.systemui.flags.Flags import com.android.systemui.flags.Flags
@@ -56,7 +53,6 @@ import com.android.systemui.statusbar.phone.StatusIconContainer
import com.android.systemui.statusbar.phone.dagger.CentralSurfacesComponent.CentralSurfacesScope import com.android.systemui.statusbar.phone.dagger.CentralSurfacesComponent.CentralSurfacesScope
import com.android.systemui.statusbar.phone.dagger.StatusBarViewModule.LARGE_SCREEN_BATTERY_CONTROLLER import com.android.systemui.statusbar.phone.dagger.StatusBarViewModule.LARGE_SCREEN_BATTERY_CONTROLLER
import com.android.systemui.statusbar.phone.dagger.StatusBarViewModule.LARGE_SCREEN_SHADE_HEADER import com.android.systemui.statusbar.phone.dagger.StatusBarViewModule.LARGE_SCREEN_SHADE_HEADER
import com.android.systemui.statusbar.policy.Clock
import com.android.systemui.statusbar.policy.ConfigurationController import com.android.systemui.statusbar.policy.ConfigurationController
import com.android.systemui.statusbar.policy.VariableDateView import com.android.systemui.statusbar.policy.VariableDateView
import com.android.systemui.statusbar.policy.VariableDateViewController import com.android.systemui.statusbar.policy.VariableDateViewController
@@ -93,8 +89,7 @@ class LargeScreenShadeHeaderController @Inject constructor(
private val dumpManager: DumpManager, private val dumpManager: DumpManager,
private val featureFlags: FeatureFlags, private val featureFlags: FeatureFlags,
private val qsCarrierGroupControllerBuilder: QSCarrierGroupController.Builder, private val qsCarrierGroupControllerBuilder: QSCarrierGroupController.Builder,
private val combinedShadeHeadersConstraintManager: CombinedShadeHeadersConstraintManager, private val combinedShadeHeadersConstraintManager: CombinedShadeHeadersConstraintManager
private val demoModeController: DemoModeController
) : ViewController<View>(header), Dumpable { ) : ViewController<View>(header), Dumpable {
companion object { companion object {
@@ -131,7 +126,7 @@ class LargeScreenShadeHeaderController @Inject constructor(
private lateinit var qsCarrierGroupController: QSCarrierGroupController private lateinit var qsCarrierGroupController: QSCarrierGroupController
private val batteryIcon: BatteryMeterView = header.findViewById(R.id.batteryRemainingIcon) private val batteryIcon: BatteryMeterView = header.findViewById(R.id.batteryRemainingIcon)
private val clock: Clock = header.findViewById(R.id.clock) private val clock: TextView = header.findViewById(R.id.clock)
private val date: TextView = header.findViewById(R.id.date) private val date: TextView = header.findViewById(R.id.date)
private val iconContainer: StatusIconContainer = header.findViewById(R.id.statusIcons) private val iconContainer: StatusIconContainer = header.findViewById(R.id.statusIcons)
private val qsCarrierGroup: QSCarrierGroup = header.findViewById(R.id.carrier_group) private val qsCarrierGroup: QSCarrierGroup = header.findViewById(R.id.carrier_group)
@@ -217,14 +212,6 @@ class LargeScreenShadeHeaderController @Inject constructor(
view.onApplyWindowInsets(insets) view.onApplyWindowInsets(insets)
} }
private val demoModeReceiver = object : DemoMode {
override fun demoCommands() = listOf(DemoMode.COMMAND_CLOCK)
override fun dispatchDemoCommand(command: String, args: Bundle) =
clock.dispatchDemoCommand(command, args)
override fun onDemoModeStarted() = clock.onDemoModeStarted()
override fun onDemoModeFinished() = clock.onDemoModeFinished()
}
private val chipVisibilityListener: ChipVisibilityListener = object : ChipVisibilityListener { private val chipVisibilityListener: ChipVisibilityListener = object : ChipVisibilityListener {
override fun onChipVisibilityRefreshed(visible: Boolean) { override fun onChipVisibilityRefreshed(visible: Boolean) {
if (header is MotionLayout) { if (header is MotionLayout) {
@@ -311,7 +298,6 @@ class LargeScreenShadeHeaderController @Inject constructor(
dumpManager.registerDumpable(this) dumpManager.registerDumpable(this)
configurationController.addCallback(configurationControllerListener) configurationController.addCallback(configurationControllerListener)
demoModeController.addCallback(demoModeReceiver)
updateVisibility() updateVisibility()
updateTransition() updateTransition()
@@ -321,7 +307,6 @@ class LargeScreenShadeHeaderController @Inject constructor(
privacyIconsController.chipVisibilityListener = null privacyIconsController.chipVisibilityListener = null
dumpManager.unregisterDumpable(this::class.java.simpleName) dumpManager.unregisterDumpable(this::class.java.simpleName)
configurationController.removeCallback(configurationControllerListener) configurationController.removeCallback(configurationControllerListener)
demoModeController.removeCallback(demoModeReceiver)
} }
fun disable(state1: Int, state2: Int, animate: Boolean) { fun disable(state1: Int, state2: Int, animate: Boolean) {
@@ -539,7 +524,4 @@ class LargeScreenShadeHeaderController @Inject constructor(
updateConstraints(LARGE_SCREEN_HEADER_CONSTRAINT, updates.largeScreenConstraintsChanges) updateConstraints(LARGE_SCREEN_HEADER_CONSTRAINT, updates.largeScreenConstraintsChanges)
} }
} }
@VisibleForTesting
internal fun simulateViewDetached() = this.onViewDetached()
} }

View File

@@ -35,8 +35,6 @@ import com.android.systemui.animation.Interpolators
import com.android.systemui.animation.ShadeInterpolation import com.android.systemui.animation.ShadeInterpolation
import com.android.systemui.battery.BatteryMeterView import com.android.systemui.battery.BatteryMeterView
import com.android.systemui.battery.BatteryMeterViewController import com.android.systemui.battery.BatteryMeterViewController
import com.android.systemui.demomode.DemoMode
import com.android.systemui.demomode.DemoModeController
import com.android.systemui.dump.DumpManager import com.android.systemui.dump.DumpManager
import com.android.systemui.flags.FeatureFlags import com.android.systemui.flags.FeatureFlags
import com.android.systemui.flags.Flags import com.android.systemui.flags.Flags
@@ -52,12 +50,10 @@ import com.android.systemui.shade.LargeScreenShadeHeaderController.Companion.QS_
import com.android.systemui.statusbar.phone.StatusBarContentInsetsProvider import com.android.systemui.statusbar.phone.StatusBarContentInsetsProvider
import com.android.systemui.statusbar.phone.StatusBarIconController import com.android.systemui.statusbar.phone.StatusBarIconController
import com.android.systemui.statusbar.phone.StatusIconContainer import com.android.systemui.statusbar.phone.StatusIconContainer
import com.android.systemui.statusbar.policy.Clock
import com.android.systemui.statusbar.policy.FakeConfigurationController import com.android.systemui.statusbar.policy.FakeConfigurationController
import com.android.systemui.statusbar.policy.VariableDateView import com.android.systemui.statusbar.policy.VariableDateView
import com.android.systemui.statusbar.policy.VariableDateViewController import com.android.systemui.statusbar.policy.VariableDateViewController
import com.android.systemui.util.mockito.any import com.android.systemui.util.mockito.any
import com.android.systemui.util.mockito.argumentCaptor
import com.android.systemui.util.mockito.capture import com.android.systemui.util.mockito.capture
import com.android.systemui.util.mockito.eq import com.android.systemui.util.mockito.eq
import com.android.systemui.util.mockito.mock import com.android.systemui.util.mockito.mock
@@ -108,7 +104,7 @@ class LargeScreenShadeHeaderControllerCombinedTest : SysuiTestCase() {
@Mock @Mock
private lateinit var featureFlags: FeatureFlags private lateinit var featureFlags: FeatureFlags
@Mock @Mock
private lateinit var clock: Clock private lateinit var clock: TextView
@Mock @Mock
private lateinit var date: VariableDateView private lateinit var date: VariableDateView
@Mock @Mock
@@ -142,7 +138,6 @@ class LargeScreenShadeHeaderControllerCombinedTest : SysuiTestCase() {
private lateinit var qsConstraints: ConstraintSet private lateinit var qsConstraints: ConstraintSet
@Mock @Mock
private lateinit var largeScreenConstraints: ConstraintSet private lateinit var largeScreenConstraints: ConstraintSet
@Mock private lateinit var demoModeController: DemoModeController
@JvmField @Rule @JvmField @Rule
val mockitoRule = MockitoJUnit.rule() val mockitoRule = MockitoJUnit.rule()
@@ -154,7 +149,7 @@ class LargeScreenShadeHeaderControllerCombinedTest : SysuiTestCase() {
@Before @Before
fun setUp() { fun setUp() {
whenever<Clock>(view.findViewById(R.id.clock)).thenReturn(clock) whenever<TextView>(view.findViewById(R.id.clock)).thenReturn(clock)
whenever(clock.context).thenReturn(mockedContext) whenever(clock.context).thenReturn(mockedContext)
whenever<TextView>(view.findViewById(R.id.date)).thenReturn(date) whenever<TextView>(view.findViewById(R.id.date)).thenReturn(date)
@@ -201,8 +196,7 @@ class LargeScreenShadeHeaderControllerCombinedTest : SysuiTestCase() {
dumpManager, dumpManager,
featureFlags, featureFlags,
qsCarrierGroupControllerBuilder, qsCarrierGroupControllerBuilder,
combinedShadeHeadersConstraintManager, combinedShadeHeadersConstraintManager
demoModeController
) )
whenever(view.isAttachedToWindow).thenReturn(true) whenever(view.isAttachedToWindow).thenReturn(true)
controller.init() controller.init()
@@ -623,23 +617,6 @@ class LargeScreenShadeHeaderControllerCombinedTest : SysuiTestCase() {
) )
} }
@Test
fun demoMode_attachDemoMode() {
val cb = argumentCaptor<DemoMode>()
verify(demoModeController).addCallback(cb.capture())
cb.value.onDemoModeStarted()
verify(clock).onDemoModeStarted()
}
@Test
fun demoMode_detachDemoMode() {
controller.simulateViewDetached()
val cb = argumentCaptor<DemoMode>()
verify(demoModeController).removeCallback(cb.capture())
cb.value.onDemoModeFinished()
verify(clock).onDemoModeFinished()
}
@Test @Test
fun animateOutOnStartCustomizing() { fun animateOutOnStartCustomizing() {
val animator = Mockito.mock(ViewPropertyAnimator::class.java, Answers.RETURNS_SELF) val animator = Mockito.mock(ViewPropertyAnimator::class.java, Answers.RETURNS_SELF)

View File

@@ -13,8 +13,6 @@ import com.android.systemui.animation.Interpolators
import com.android.systemui.animation.ShadeInterpolation import com.android.systemui.animation.ShadeInterpolation
import com.android.systemui.battery.BatteryMeterView import com.android.systemui.battery.BatteryMeterView
import com.android.systemui.battery.BatteryMeterViewController import com.android.systemui.battery.BatteryMeterViewController
import com.android.systemui.demomode.DemoMode
import com.android.systemui.demomode.DemoModeController
import com.android.systemui.dump.DumpManager import com.android.systemui.dump.DumpManager
import com.android.systemui.flags.FeatureFlags import com.android.systemui.flags.FeatureFlags
import com.android.systemui.flags.Flags import com.android.systemui.flags.Flags
@@ -24,11 +22,9 @@ import com.android.systemui.qs.carrier.QSCarrierGroupController
import com.android.systemui.statusbar.phone.StatusBarContentInsetsProvider import com.android.systemui.statusbar.phone.StatusBarContentInsetsProvider
import com.android.systemui.statusbar.phone.StatusBarIconController import com.android.systemui.statusbar.phone.StatusBarIconController
import com.android.systemui.statusbar.phone.StatusIconContainer import com.android.systemui.statusbar.phone.StatusIconContainer
import com.android.systemui.statusbar.policy.Clock
import com.android.systemui.statusbar.policy.FakeConfigurationController import com.android.systemui.statusbar.policy.FakeConfigurationController
import com.android.systemui.statusbar.policy.VariableDateViewController import com.android.systemui.statusbar.policy.VariableDateViewController
import com.android.systemui.util.mockito.any import com.android.systemui.util.mockito.any
import com.android.systemui.util.mockito.argumentCaptor
import com.google.common.truth.Truth.assertThat import com.google.common.truth.Truth.assertThat
import org.junit.After import org.junit.After
import org.junit.Before import org.junit.Before
@@ -56,7 +52,7 @@ class LargeScreenShadeHeaderControllerTest : SysuiTestCase() {
@Mock private lateinit var qsCarrierGroupController: QSCarrierGroupController @Mock private lateinit var qsCarrierGroupController: QSCarrierGroupController
@Mock private lateinit var qsCarrierGroupControllerBuilder: QSCarrierGroupController.Builder @Mock private lateinit var qsCarrierGroupControllerBuilder: QSCarrierGroupController.Builder
@Mock private lateinit var featureFlags: FeatureFlags @Mock private lateinit var featureFlags: FeatureFlags
@Mock private lateinit var clock: Clock @Mock private lateinit var clock: TextView
@Mock private lateinit var date: TextView @Mock private lateinit var date: TextView
@Mock private lateinit var carrierGroup: QSCarrierGroup @Mock private lateinit var carrierGroup: QSCarrierGroup
@Mock private lateinit var batteryMeterView: BatteryMeterView @Mock private lateinit var batteryMeterView: BatteryMeterView
@@ -70,7 +66,6 @@ class LargeScreenShadeHeaderControllerTest : SysuiTestCase() {
CombinedShadeHeadersConstraintManager CombinedShadeHeadersConstraintManager
@Mock private lateinit var mockedContext: Context @Mock private lateinit var mockedContext: Context
@Mock private lateinit var demoModeController: DemoModeController
@JvmField @Rule val mockitoRule = MockitoJUnit.rule() @JvmField @Rule val mockitoRule = MockitoJUnit.rule()
var viewVisibility = View.GONE var viewVisibility = View.GONE
@@ -81,7 +76,7 @@ class LargeScreenShadeHeaderControllerTest : SysuiTestCase() {
@Before @Before
fun setup() { fun setup() {
whenever<Clock>(view.findViewById(R.id.clock)).thenReturn(clock) whenever<TextView>(view.findViewById(R.id.clock)).thenReturn(clock)
whenever(clock.context).thenReturn(mockedContext) whenever(clock.context).thenReturn(mockedContext)
whenever<TextView>(view.findViewById(R.id.date)).thenReturn(date) whenever<TextView>(view.findViewById(R.id.date)).thenReturn(date)
whenever(date.context).thenReturn(mockedContext) whenever(date.context).thenReturn(mockedContext)
@@ -116,9 +111,8 @@ class LargeScreenShadeHeaderControllerTest : SysuiTestCase() {
dumpManager, dumpManager,
featureFlags, featureFlags,
qsCarrierGroupControllerBuilder, qsCarrierGroupControllerBuilder,
combinedShadeHeadersConstraintManager, combinedShadeHeadersConstraintManager
demoModeController )
)
whenever(view.isAttachedToWindow).thenReturn(true) whenever(view.isAttachedToWindow).thenReturn(true)
mLargeScreenShadeHeaderController.init() mLargeScreenShadeHeaderController.init()
carrierIconSlots = listOf( carrierIconSlots = listOf(
@@ -236,21 +230,4 @@ class LargeScreenShadeHeaderControllerTest : SysuiTestCase() {
verify(animator).setInterpolator(Interpolators.ALPHA_IN) verify(animator).setInterpolator(Interpolators.ALPHA_IN)
verify(animator).start() verify(animator).start()
} }
@Test
fun demoMode_attachDemoMode() {
val cb = argumentCaptor<DemoMode>()
verify(demoModeController).addCallback(cb.capture())
cb.value.onDemoModeStarted()
verify(clock).onDemoModeStarted()
}
@Test
fun demoMode_detachDemoMode() {
mLargeScreenShadeHeaderController.simulateViewDetached()
val cb = argumentCaptor<DemoMode>()
verify(demoModeController).removeCallback(cb.capture())
cb.value.onDemoModeFinished()
verify(clock).onDemoModeFinished()
}
} }