From 33a9b54f69725bdb605e3a5a50b2973a11ffb368 Mon Sep 17 00:00:00 2001 From: Fabian Kozynski Date: Tue, 15 Jun 2021 09:35:59 -0400 Subject: [PATCH] Show chevron on ScreenRecordTile Only show chevron when clicking will open a dialog. Test: atest ScreenRecordTileTest Fixes: 191097250 Change-Id: I752d79ebd30391d68fcce2c59ac7c68a15f8098c --- .../systemui/qs/tiles/ScreenRecordTile.java | 2 ++ .../qs/tiles/ScreenRecordTileTest.java | 34 +++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/ScreenRecordTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/ScreenRecordTile.java index 32a6c6c20504c..24b9208d4ed17 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/ScreenRecordTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/ScreenRecordTile.java @@ -103,6 +103,8 @@ public class ScreenRecordTile extends QSTileImpl state.state = (isRecording || isStarting) ? Tile.STATE_ACTIVE : Tile.STATE_INACTIVE; state.label = mContext.getString(R.string.quick_settings_screen_record_label); state.icon = ResourceIcon.get(R.drawable.ic_screenrecord); + // Show expand icon when clicking will open a dialog + state.forceExpandIcon = state.state == Tile.STATE_INACTIVE; if (isRecording) { state.secondaryLabel = mContext.getString(R.string.quick_settings_screen_record_stop); diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/ScreenRecordTileTest.java b/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/ScreenRecordTileTest.java index e4af21aa7cd40..3b4e863ed8bd3 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/ScreenRecordTileTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/qs/tiles/ScreenRecordTileTest.java @@ -19,6 +19,7 @@ package com.android.systemui.qs.tiles; import static junit.framework.Assert.assertEquals; import static junit.framework.Assert.assertTrue; +import static org.junit.Assert.assertFalse; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -167,4 +168,37 @@ public class ScreenRecordTileTest extends SysuiTestCase { assertTrue(mTile.getState().contentDescription.toString().contains(mTile.getState().label)); } + + @Test + public void testForceExpandIcon_notRecordingNotStarting() { + when(mController.isStarting()).thenReturn(false); + when(mController.isRecording()).thenReturn(false); + + mTile.refreshState(); + mTestableLooper.processAllMessages(); + + assertTrue(mTile.getState().forceExpandIcon); + } + + @Test + public void testForceExpandIcon_recordingNotStarting() { + when(mController.isStarting()).thenReturn(false); + when(mController.isRecording()).thenReturn(true); + + mTile.refreshState(); + mTestableLooper.processAllMessages(); + + assertFalse(mTile.getState().forceExpandIcon); + } + + @Test + public void testForceExpandIcon_startingNotRecording() { + when(mController.isStarting()).thenReturn(true); + when(mController.isRecording()).thenReturn(false); + + mTile.refreshState(); + mTestableLooper.processAllMessages(); + + assertFalse(mTile.getState().forceExpandIcon); + } }