Merge "Revert "Enable DemoMode for new QS clock"" into tm-qpr-dev
This commit is contained in:
@@ -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()
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user