Show chevron on ScreenRecordTile

Only show chevron when clicking will open a dialog.

Test: atest ScreenRecordTileTest
Fixes: 191097250
Change-Id: I752d79ebd30391d68fcce2c59ac7c68a15f8098c
This commit is contained in:
Fabian Kozynski
2021-06-15 09:35:59 -04:00
parent 0245b5cbce
commit 33a9b54f69
2 changed files with 36 additions and 0 deletions

View File

@@ -103,6 +103,8 @@ public class ScreenRecordTile extends QSTileImpl<QSTile.BooleanState>
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);

View File

@@ -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);
}
}