Merge "Make showing back for bouncer only rely on back disable status, not home and recents as well." into tm-qpr-dev

This commit is contained in:
Pat Manning
2023-01-31 21:13:46 +00:00
committed by Android (Google) Code Review
2 changed files with 17 additions and 61 deletions

View File

@@ -90,13 +90,8 @@ public class TaskbarKeyguardController implements TaskbarControllers.LoggableTas
*/
private void updateIconsForBouncer() {
boolean disableBack = (mKeyguardSysuiFlags & SYSUI_STATE_BACK_DISABLED) != 0;
boolean disableRecent = (mKeyguardSysuiFlags & SYSUI_STATE_OVERVIEW_DISABLED) != 0;
boolean disableHome = (mKeyguardSysuiFlags & SYSUI_STATE_HOME_DISABLED) != 0;
boolean onlyBackEnabled = !disableBack && disableRecent && disableHome;
boolean showBackForBouncer = onlyBackEnabled &&
mKeyguardManager.isDeviceSecure() &&
mBouncerShowing;
boolean showBackForBouncer =
!disableBack && mKeyguardManager.isDeviceSecure() && mBouncerShowing;
mNavbarButtonsViewController.setBackForBouncer(showBackForBouncer);
}

View File

@@ -19,8 +19,6 @@ import android.app.KeyguardManager
import com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_BACK_DISABLED
import com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_BOUNCER_SHOWING
import com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_DEVICE_DOZING
import com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_HOME_DISABLED
import com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_OVERVIEW_DISABLED
import com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING
import com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING_OCCLUDED
import org.junit.Before
@@ -34,16 +32,14 @@ import org.mockito.Mockito.`when` as whenever
class TaskbarKeyguardControllerTest : TaskbarBaseTestCase() {
@Mock
lateinit var baseDragLayer: TaskbarDragLayer
@Mock
lateinit var keyguardManager: KeyguardManager
@Mock lateinit var baseDragLayer: TaskbarDragLayer
@Mock lateinit var keyguardManager: KeyguardManager
@Before
override fun setup() {
super.setup()
whenever(taskbarActivityContext.getSystemService(KeyguardManager::class.java))
.thenReturn(keyguardManager)
.thenReturn(keyguardManager)
whenever(baseDragLayer.childCount).thenReturn(0)
whenever(taskbarActivityContext.dragLayer).thenReturn(baseDragLayer)
@@ -60,41 +56,35 @@ class TaskbarKeyguardControllerTest : TaskbarBaseTestCase() {
@Test
fun keyguardShowing() {
setFlags(SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING)
verify(navbarButtonsViewController, times(1)).setKeyguardVisible(
true /*isKeyguardVisible*/,
false /*isKeyguardOccluded*/)
verify(navbarButtonsViewController, times(1))
.setKeyguardVisible(true /*isKeyguardVisible*/, false /*isKeyguardOccluded*/)
}
@Test
fun dozingShowing() {
setFlags(SYSUI_STATE_DEVICE_DOZING)
verify(navbarButtonsViewController, times(1)).setKeyguardVisible(
true /*isKeyguardVisible*/,
false /*isKeyguardOccluded*/)
verify(navbarButtonsViewController, times(1))
.setKeyguardVisible(true /*isKeyguardVisible*/, false /*isKeyguardOccluded*/)
}
@Test
fun keyguardOccluded() {
setFlags(SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING_OCCLUDED)
verify(navbarButtonsViewController, times(1)).setKeyguardVisible(
false /*isKeyguardVisible*/,
true /*isKeyguardOccluded*/)
verify(navbarButtonsViewController, times(1))
.setKeyguardVisible(false /*isKeyguardVisible*/, true /*isKeyguardOccluded*/)
}
@Test
fun keyguardOccludedAndDozing() {
setFlags(SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING_OCCLUDED.or(SYSUI_STATE_DEVICE_DOZING))
verify(navbarButtonsViewController, times(1)).setKeyguardVisible(
true /*isKeyguardVisible*/,
true /*isKeyguardOccluded*/)
verify(navbarButtonsViewController, times(1))
.setKeyguardVisible(true /*isKeyguardVisible*/, true /*isKeyguardOccluded*/)
}
@Test
fun deviceInsecure_hideBackForBouncer() {
whenever(keyguardManager.isDeviceSecure).thenReturn(false)
setFlags(SYSUI_STATE_OVERVIEW_DISABLED
.or(SYSUI_STATE_HOME_DISABLED)
.or(SYSUI_STATE_BOUNCER_SHOWING))
setFlags(SYSUI_STATE_BOUNCER_SHOWING)
verify(navbarButtonsViewController, times(1)).setBackForBouncer(false)
}
@@ -102,49 +92,20 @@ class TaskbarKeyguardControllerTest : TaskbarBaseTestCase() {
@Test
fun deviceSecure_showBackForBouncer() {
whenever(keyguardManager.isDeviceSecure).thenReturn(true)
setFlags(SYSUI_STATE_OVERVIEW_DISABLED
.or(SYSUI_STATE_HOME_DISABLED)
.or(SYSUI_STATE_BOUNCER_SHOWING))
setFlags(SYSUI_STATE_BOUNCER_SHOWING)
verify(navbarButtonsViewController, times(1)).setBackForBouncer(true)
}
@Test
fun homeShowing_hideBackForBouncer() {
whenever(keyguardManager.isDeviceSecure).thenReturn(true)
setFlags(SYSUI_STATE_OVERVIEW_DISABLED
.or(SYSUI_STATE_BOUNCER_SHOWING))
verify(navbarButtonsViewController, times(1)).setBackForBouncer(false)
}
@Test
fun overviewShowing_hideBackForBouncer() {
whenever(keyguardManager.isDeviceSecure).thenReturn(true)
setFlags(SYSUI_STATE_HOME_DISABLED
.or(SYSUI_STATE_BOUNCER_SHOWING))
verify(navbarButtonsViewController, times(1)).setBackForBouncer(false)
}
@Test
fun backDisabled_hideBackForBouncer() {
whenever(keyguardManager.isDeviceSecure).thenReturn(true)
setFlags(SYSUI_STATE_BACK_DISABLED
.or(SYSUI_STATE_BOUNCER_SHOWING))
setFlags(SYSUI_STATE_BACK_DISABLED.or(SYSUI_STATE_BOUNCER_SHOWING))
verify(navbarButtonsViewController, times(1)).setBackForBouncer(false)
// back disabled along with home and overview
setFlags(SYSUI_STATE_BACK_DISABLED
.or(SYSUI_STATE_HOME_DISABLED)
.or(SYSUI_STATE_OVERVIEW_DISABLED)
.or(SYSUI_STATE_BOUNCER_SHOWING))
verify(navbarButtonsViewController, times(2)).setBackForBouncer(false)
}
private fun setFlags(flags: Int) {
taskbarKeyguardController.updateStateForSysuiFlags(flags)
}
}
}