From 92facaa6a2333a39aacfb58955dff6db062c71c5 Mon Sep 17 00:00:00 2001 From: Rasheed Lewis Date: Sat, 17 Sep 2022 05:45:33 +0000 Subject: [PATCH] Extra Dim QS Animated Icon Fixes: 247162592 Test: atest ReduceBrightColorsTileTest Test: Manually tapped tile on and off Change-Id: I72a15b2a81875ffa1653cce9c897ce1861ea889c --- .../res/drawable/qs_extra_dim_icon_off.xml | 197 ++++++++++++++++++ .../res/drawable/qs_extra_dim_icon_on.xml | 197 ++++++++++++++++++ .../qs/tiles/ReduceBrightColorsTile.java | 5 +- .../qs/tiles/ReduceBrightColorsTileTest.java | 25 +++ 4 files changed, 422 insertions(+), 2 deletions(-) create mode 100644 packages/SystemUI/res/drawable/qs_extra_dim_icon_off.xml create mode 100644 packages/SystemUI/res/drawable/qs_extra_dim_icon_on.xml diff --git a/packages/SystemUI/res/drawable/qs_extra_dim_icon_off.xml b/packages/SystemUI/res/drawable/qs_extra_dim_icon_off.xml new file mode 100644 index 0000000000000..b0f85e7714c61 --- /dev/null +++ b/packages/SystemUI/res/drawable/qs_extra_dim_icon_off.xml @@ -0,0 +1,197 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/SystemUI/res/drawable/qs_extra_dim_icon_on.xml b/packages/SystemUI/res/drawable/qs_extra_dim_icon_on.xml new file mode 100644 index 0000000000000..5546b6f398131 --- /dev/null +++ b/packages/SystemUI/res/drawable/qs_extra_dim_icon_on.xml @@ -0,0 +1,197 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/ReduceBrightColorsTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/ReduceBrightColorsTile.java index 6921ad5496269..1dac33909ba77 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/ReduceBrightColorsTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/ReduceBrightColorsTile.java @@ -49,7 +49,6 @@ import javax.inject.Named; public class ReduceBrightColorsTile extends QSTileImpl implements ReduceBrightColorsController.Listener{ - private final Icon mIcon = ResourceIcon.get(drawable.ic_reduce_bright_colors); private final boolean mIsAvailable; private final ReduceBrightColorsController mReduceBrightColorsController; private boolean mIsListening; @@ -111,7 +110,9 @@ public class ReduceBrightColorsTile extends QSTileImpl state.label = mContext.getString(R.string.reduce_bright_colors_feature_name); state.expandedAccessibilityClassName = Switch.class.getName(); state.contentDescription = state.label; - state.icon = mIcon; + state.icon = ResourceIcon.get(state.value + ? drawable.qs_extra_dim_icon_on + : drawable.qs_extra_dim_icon_off); } @Override diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/ReduceBrightColorsTileTest.java b/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/ReduceBrightColorsTileTest.java index 9eb688de35118..8601d6c0a3570 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/ReduceBrightColorsTileTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/ReduceBrightColorsTileTest.java @@ -32,13 +32,16 @@ import androidx.test.filters.SmallTest; import com.android.internal.R; import com.android.internal.logging.MetricsLogger; +import com.android.systemui.R.drawable; import com.android.systemui.SysuiTestCase; import com.android.systemui.classifier.FalsingManagerFake; import com.android.systemui.plugins.ActivityStarter; +import com.android.systemui.plugins.qs.QSTile; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.qs.QSTileHost; import com.android.systemui.qs.ReduceBrightColorsController; import com.android.systemui.qs.logging.QSLogger; +import com.android.systemui.qs.tileimpl.QSTileImpl; import com.android.systemui.settings.UserTracker; import org.junit.Before; @@ -130,4 +133,26 @@ public class ReduceBrightColorsTileTest extends SysuiTestCase { .setReduceBrightColorsActivated(eq(true)); } + @Test + public void testIcon_whenTileEnabled_isOnState() { + when(mReduceBrightColorsController.isReduceBrightColorsActivated()).thenReturn(true); + mTile.refreshState(); + QSTile.BooleanState state = new QSTile.BooleanState(); + + mTile.handleUpdateState(state, /* arg= */ null); + + assertEquals(state.icon, QSTileImpl.ResourceIcon.get(drawable.qs_extra_dim_icon_on)); + } + + @Test + public void testIcon_whenTileDisabled_isOffState() { + when(mReduceBrightColorsController.isReduceBrightColorsActivated()).thenReturn(false); + mTile.refreshState(); + QSTile.BooleanState state = new QSTile.BooleanState(); + + mTile.handleUpdateState(state, /* arg= */ null); + + assertEquals(state.icon, QSTileImpl.ResourceIcon.get(drawable.qs_extra_dim_icon_off)); + } + }