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 Original line Diff line number Diff line
@@ -90,13 +90,8 @@ public class TaskbarKeyguardController implements TaskbarControllers.LoggableTas
     */
     */
    private void updateIconsForBouncer() {
    private void updateIconsForBouncer() {
        boolean disableBack = (mKeyguardSysuiFlags & SYSUI_STATE_BACK_DISABLED) != 0;
        boolean disableBack = (mKeyguardSysuiFlags & SYSUI_STATE_BACK_DISABLED) != 0;
        boolean disableRecent = (mKeyguardSysuiFlags & SYSUI_STATE_OVERVIEW_DISABLED) != 0;
        boolean showBackForBouncer =
        boolean disableHome = (mKeyguardSysuiFlags & SYSUI_STATE_HOME_DISABLED) != 0;
                !disableBack && mKeyguardManager.isDeviceSecure() && mBouncerShowing;
        boolean onlyBackEnabled = !disableBack && disableRecent && disableHome;

        boolean showBackForBouncer = onlyBackEnabled &&
                mKeyguardManager.isDeviceSecure() &&
                mBouncerShowing;
        mNavbarButtonsViewController.setBackForBouncer(showBackForBouncer);
        mNavbarButtonsViewController.setBackForBouncer(showBackForBouncer);
    }
    }


+15 −54
Original line number Original line 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_BACK_DISABLED
import com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_BOUNCER_SHOWING
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_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
import com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING_OCCLUDED
import com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING_OCCLUDED
import org.junit.Before
import org.junit.Before
@@ -34,10 +32,8 @@ import org.mockito.Mockito.`when` as whenever


class TaskbarKeyguardControllerTest : TaskbarBaseTestCase() {
class TaskbarKeyguardControllerTest : TaskbarBaseTestCase() {


    @Mock
    @Mock lateinit var baseDragLayer: TaskbarDragLayer
    lateinit var baseDragLayer: TaskbarDragLayer
    @Mock lateinit var keyguardManager: KeyguardManager
    @Mock
    lateinit var keyguardManager: KeyguardManager


    @Before
    @Before
    override fun setup() {
    override fun setup() {
@@ -60,41 +56,35 @@ class TaskbarKeyguardControllerTest : TaskbarBaseTestCase() {
    @Test
    @Test
    fun keyguardShowing() {
    fun keyguardShowing() {
        setFlags(SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING)
        setFlags(SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING)
        verify(navbarButtonsViewController, times(1)).setKeyguardVisible(
        verify(navbarButtonsViewController, times(1))
                true /*isKeyguardVisible*/,
            .setKeyguardVisible(true /*isKeyguardVisible*/, false /*isKeyguardOccluded*/)
                false /*isKeyguardOccluded*/)
    }
    }


    @Test
    @Test
    fun dozingShowing() {
    fun dozingShowing() {
        setFlags(SYSUI_STATE_DEVICE_DOZING)
        setFlags(SYSUI_STATE_DEVICE_DOZING)
        verify(navbarButtonsViewController, times(1)).setKeyguardVisible(
        verify(navbarButtonsViewController, times(1))
                true /*isKeyguardVisible*/,
            .setKeyguardVisible(true /*isKeyguardVisible*/, false /*isKeyguardOccluded*/)
                false /*isKeyguardOccluded*/)
    }
    }


    @Test
    @Test
    fun keyguardOccluded() {
    fun keyguardOccluded() {
        setFlags(SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING_OCCLUDED)
        setFlags(SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING_OCCLUDED)
        verify(navbarButtonsViewController, times(1)).setKeyguardVisible(
        verify(navbarButtonsViewController, times(1))
                false /*isKeyguardVisible*/,
            .setKeyguardVisible(false /*isKeyguardVisible*/, true /*isKeyguardOccluded*/)
                true /*isKeyguardOccluded*/)
    }
    }


    @Test
    @Test
    fun keyguardOccludedAndDozing() {
    fun keyguardOccludedAndDozing() {
        setFlags(SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING_OCCLUDED.or(SYSUI_STATE_DEVICE_DOZING))
        setFlags(SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING_OCCLUDED.or(SYSUI_STATE_DEVICE_DOZING))
        verify(navbarButtonsViewController, times(1)).setKeyguardVisible(
        verify(navbarButtonsViewController, times(1))
                true /*isKeyguardVisible*/,
            .setKeyguardVisible(true /*isKeyguardVisible*/, true /*isKeyguardOccluded*/)
                true /*isKeyguardOccluded*/)
    }
    }


    @Test
    @Test
    fun deviceInsecure_hideBackForBouncer() {
    fun deviceInsecure_hideBackForBouncer() {
        whenever(keyguardManager.isDeviceSecure).thenReturn(false)
        whenever(keyguardManager.isDeviceSecure).thenReturn(false)
        setFlags(SYSUI_STATE_OVERVIEW_DISABLED
        setFlags(SYSUI_STATE_BOUNCER_SHOWING)
                .or(SYSUI_STATE_HOME_DISABLED)
                .or(SYSUI_STATE_BOUNCER_SHOWING))


        verify(navbarButtonsViewController, times(1)).setBackForBouncer(false)
        verify(navbarButtonsViewController, times(1)).setBackForBouncer(false)
    }
    }
@@ -102,46 +92,17 @@ class TaskbarKeyguardControllerTest : TaskbarBaseTestCase() {
    @Test
    @Test
    fun deviceSecure_showBackForBouncer() {
    fun deviceSecure_showBackForBouncer() {
        whenever(keyguardManager.isDeviceSecure).thenReturn(true)
        whenever(keyguardManager.isDeviceSecure).thenReturn(true)
        setFlags(SYSUI_STATE_OVERVIEW_DISABLED
        setFlags(SYSUI_STATE_BOUNCER_SHOWING)
                .or(SYSUI_STATE_HOME_DISABLED)
                .or(SYSUI_STATE_BOUNCER_SHOWING))


        verify(navbarButtonsViewController, times(1)).setBackForBouncer(true)
        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
    @Test
    fun backDisabled_hideBackForBouncer() {
    fun backDisabled_hideBackForBouncer() {
        whenever(keyguardManager.isDeviceSecure).thenReturn(true)
        whenever(keyguardManager.isDeviceSecure).thenReturn(true)
        setFlags(SYSUI_STATE_BACK_DISABLED
        setFlags(SYSUI_STATE_BACK_DISABLED.or(SYSUI_STATE_BOUNCER_SHOWING))
                .or(SYSUI_STATE_BOUNCER_SHOWING))


        verify(navbarButtonsViewController, times(1)).setBackForBouncer(false)
        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) {
    private fun setFlags(flags: Int) {