summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileViewImpl.kt2
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/qs/tileimpl/QSTileViewImplTest.kt20
2 files changed, 21 insertions, 1 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileViewImpl.kt b/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileViewImpl.kt
index 3090b793552f..4a3199850e0f 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileViewImpl.kt
+++ b/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileViewImpl.kt
@@ -496,7 +496,7 @@ open class QSTileViewImpl @JvmOverloads constructor(
}
// Colors
- if (state.state != lastState || state.disabledByPolicy || lastDisabledByPolicy) {
+ if (state.state != lastState || state.disabledByPolicy != lastDisabledByPolicy) {
singleAnimator.cancel()
mQsLogger?.logTileBackgroundColorUpdateIfInternetTile(
state.spec,
diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/tileimpl/QSTileViewImplTest.kt b/packages/SystemUI/tests/src/com/android/systemui/qs/tileimpl/QSTileViewImplTest.kt
index d3ec1dd8bfb2..28aeba461c50 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/qs/tileimpl/QSTileViewImplTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/qs/tileimpl/QSTileViewImplTest.kt
@@ -317,6 +317,26 @@ class QSTileViewImplTest : SysuiTestCase() {
}
@Test
+ fun testDisableByPolicyThenRemoved_changesColor() {
+ val stateActive = QSTile.State()
+ stateActive.state = Tile.STATE_ACTIVE
+
+ val stateDisabledByPolicy = stateActive.copy()
+ stateDisabledByPolicy.disabledByPolicy = true
+
+ tileView.changeState(stateActive)
+ val activeColors = tileView.getCurrentColors()
+
+ tileView.changeState(stateDisabledByPolicy)
+ // It has unavailable colors
+ assertThat(tileView.getCurrentColors()).isNotEqualTo(activeColors)
+
+ // When we get back to not disabled by policy tile, it should go back to active colors
+ tileView.changeState(stateActive)
+ assertThat(tileView.getCurrentColors()).containsExactlyElementsIn(activeColors)
+ }
+
+ @Test
fun testDisabledByPolicy_secondaryLabelText() {
val testA11yLabel = "TEST_LABEL"
context.orCreateTestableResources