Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f667823a authored by Pat Manning's avatar Pat Manning Committed by Android (Google) Code Review
Browse files

Merge "Make showing back for bouncer only rely on back disable status, not...

Merge "Make showing back for bouncer only rely on back disable status, not home and recents as well." into tm-qpr-dev
parents 71e2763b 7462c2ab
Loading
Loading
Loading
Loading
+2 −7
Original line number Diff line number Diff line
@@ -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);
    }

+15 −54
Original line number Diff line number Diff line
@@ -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,10 +32,8 @@ 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() {
@@ -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,46 +92,17 @@ 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) {