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

Commit 4407efe7 authored by Winson Chung's avatar Winson Chung Committed by android-build-merger
Browse files

Merge "Expose keyguard showing-but-occluded state to launcher" into qt-dev am: c8120d6d

am: 8533a4cc

Change-Id: I88cc04734dd4e653bf6229a7064f200b742ca626
parents fcc7dbd7 8533a4cc
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -61,12 +61,14 @@ public class QuickStepContract {
    public static final int SYSUI_STATE_A11Y_BUTTON_CLICKABLE = 1 << 4;
    // The navigation bar a11y button shortcut is available
    public static final int SYSUI_STATE_A11Y_BUTTON_LONG_CLICKABLE = 1 << 5;
    // The keyguard is showing
    // The keyguard is showing and not occluded
    public static final int SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING = 1 << 6;
    // The recents feature is disabled (either by SUW/SysUI/device policy)
    public static final int SYSUI_STATE_OVERVIEW_DISABLED = 1 << 7;
    // The home feature is disabled (either by SUW/SysUI/device policy)
    public static final int SYSUI_STATE_HOME_DISABLED = 1 << 8;
    // The keyguard is showing, but occluded
    public static final int SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING_OCCLUDED = 1 << 9;

    @Retention(RetentionPolicy.SOURCE)
    @IntDef({SYSUI_STATE_SCREEN_PINNING,
@@ -76,6 +78,7 @@ public class QuickStepContract {
            SYSUI_STATE_A11Y_BUTTON_CLICKABLE,
            SYSUI_STATE_A11Y_BUTTON_LONG_CLICKABLE,
            SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING,
            SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING_OCCLUDED,
            SYSUI_STATE_OVERVIEW_DISABLED,
            SYSUI_STATE_HOME_DISABLED
    })
@@ -89,6 +92,8 @@ public class QuickStepContract {
        str.add((flags & SYSUI_STATE_NAV_BAR_HIDDEN) != 0 ? "navbar_hidden" : "");
        str.add((flags & SYSUI_STATE_NOTIFICATION_PANEL_EXPANDED) != 0 ? "notif_visible" : "");
        str.add((flags & SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING) != 0 ? "keygrd_visible" : "");
        str.add((flags & SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING_OCCLUDED) != 0
                ? "keygrd_occluded" : "");
        str.add((flags & SYSUI_STATE_BOUNCER_SHOWING) != 0 ? "bouncer_visible" : "");
        str.add((flags & SYSUI_STATE_A11Y_BUTTON_CLICKABLE) != 0 ? "a11y_click" : "");
        str.add((flags & SYSUI_STATE_A11Y_BUTTON_LONG_CLICKABLE) != 0 ? "a11y_long_click" : "");
+5 −4
Original line number Diff line number Diff line
@@ -41,7 +41,6 @@ import android.graphics.Region;
import android.hardware.input.InputManager;
import android.os.Binder;
import android.os.Bundle;
import android.os.Debug;
import android.os.Handler;
import android.os.IBinder;
import android.os.Looper;
@@ -69,6 +68,7 @@ import com.android.systemui.statusbar.phone.NavigationBarFragment;
import com.android.systemui.statusbar.phone.NavigationBarView;
import com.android.systemui.statusbar.phone.NavigationModeController;
import com.android.systemui.statusbar.phone.StatusBar;
import com.android.systemui.statusbar.phone.StatusBarWindowController;
import com.android.systemui.statusbar.policy.CallbackController;
import com.android.systemui.statusbar.policy.DeviceProvisionedController;
import com.android.systemui.statusbar.policy.DeviceProvisionedController.DeviceProvisionedListener;
@@ -516,7 +516,8 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis
        final NavigationBarController navBar = Dependency.get(NavigationBarController.class);
        final NavigationBarFragment navBarFragment = navBar.getDefaultNavigationBarFragment();
        final NavigationBarView navBarView = navBar.getNavigationBarView(mContext.getDisplayId());
        final StatusBar statusBar = SysUiServiceProvider.getComponent(mContext, StatusBar.class);
        final StatusBarWindowController statusBarController =
                Dependency.get(StatusBarWindowController.class);

        mSysUiStateFlags = 0;
        if (navBarFragment != null) {
@@ -525,8 +526,8 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis
        if (navBarView != null) {
            navBarView.updateSystemUiStateFlags();
        }
        if (statusBar != null) {
            statusBar.updateSystemUiStateFlags();
        if (statusBarController != null) {
            statusBarController.updateSystemUiStateFlags();
        }
        notifySystemUiStateFlags(mSysUiStateFlags);
    }
+0 −16
Original line number Diff line number Diff line
@@ -30,8 +30,6 @@ import static com.android.systemui.Dependency.MAIN_HANDLER;
import static com.android.systemui.keyguard.WakefulnessLifecycle.WAKEFULNESS_ASLEEP;
import static com.android.systemui.keyguard.WakefulnessLifecycle.WAKEFULNESS_AWAKE;
import static com.android.systemui.keyguard.WakefulnessLifecycle.WAKEFULNESS_WAKING;
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_BOUNCER_SHOWING;
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING;
import static com.android.systemui.shared.system.WindowManagerWrapper.NAV_BAR_POS_INVALID;
import static com.android.systemui.shared.system.WindowManagerWrapper.NAV_BAR_POS_LEFT;
import static com.android.systemui.statusbar.NotificationLockscreenUserManager.PERMISSION_SELF;
@@ -169,7 +167,6 @@ import com.android.systemui.plugins.statusbar.NotificationSwipeActionHelper.Snoo
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.qs.QSFragment;
import com.android.systemui.qs.QSPanel;
import com.android.systemui.recents.OverviewProxyService;
import com.android.systemui.recents.Recents;
import com.android.systemui.recents.ScreenPinningRequest;
import com.android.systemui.shared.system.WindowManagerWrapper;
@@ -788,8 +785,6 @@ public class StatusBar extends SystemUI implements DemoMode,
        int disabledFlags2 = result.mDisabledFlags2;
        Dependency.get(InitController.class).addPostInitTask(
                () -> setUpDisableFlags(disabledFlags1, disabledFlags2));

        updateSystemUiStateFlags();
    }

    // ================================================================================
@@ -3423,7 +3418,6 @@ public class StatusBar extends SystemUI implements DemoMode,
        updateDozingState();
        checkBarModes();
        updateScrimController();
        updateSystemUiStateFlags();
        mPresenter.updateMediaMetaData(false, mState != StatusBarState.KEYGUARD);
        mKeyguardMonitor.notifyKeyguardState(mStatusBarKeyguardViewManager.isShowing(),
                mUnlockMethodCache.isMethodSecure(),
@@ -3590,16 +3584,6 @@ public class StatusBar extends SystemUI implements DemoMode,
        if (!mBouncerShowing) {
            updatePanelExpansionForKeyguard();
        }
        updateSystemUiStateFlags();
    }

    public void updateSystemUiStateFlags() {
        OverviewProxyService overviewProxyService = Dependency.get(OverviewProxyService.class);
        overviewProxyService.setSystemUiStateFlag(SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING,
                mStatusBarStateController.getState() == StatusBarState.KEYGUARD,
                mDisplayId);
        overviewProxyService.setSystemUiStateFlag(SYSUI_STATE_BOUNCER_SHOWING,
                isBouncerShowing(), mDisplayId);
    }

    /**
+16 −0
Original line number Diff line number Diff line
@@ -18,6 +18,9 @@ package com.android.systemui.statusbar.phone;

import static android.view.WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS;

import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_BOUNCER_SHOWING;
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING;
import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING_OCCLUDED;
import static com.android.systemui.statusbar.NotificationRemoteInputManager.ENABLE_REMOTE_INPUT;

import android.app.ActivityManager;
@@ -45,6 +48,7 @@ import com.android.systemui.colorextraction.SysuiColorExtractor;
import com.android.systemui.keyguard.KeyguardViewMediator;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.plugins.statusbar.StatusBarStateController.StateListener;
import com.android.systemui.recents.OverviewProxyService;
import com.android.systemui.statusbar.RemoteInputController.Callback;
import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.SysuiStatusBarStateController;
@@ -316,6 +320,18 @@ public class StatusBarWindowController implements Callback, Dumpable, Configurat
            }
            mHasTopUi = mHasTopUiChanged;
        }
        updateSystemUiStateFlags();
    }

    public void updateSystemUiStateFlags() {
        int displayId = mContext.getDisplayId();
        OverviewProxyService overviewProxyService = Dependency.get(OverviewProxyService.class);
        overviewProxyService.setSystemUiStateFlag(SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING,
                mCurrentState.keyguardShowing && !mCurrentState.keyguardOccluded, displayId);
        overviewProxyService.setSystemUiStateFlag(SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING_OCCLUDED,
                mCurrentState.keyguardShowing && mCurrentState.keyguardOccluded, displayId);
        overviewProxyService.setSystemUiStateFlag(SYSUI_STATE_BOUNCER_SHOWING,
                mCurrentState.bouncerShowing, displayId);
    }

    private void applyForceStatusBarVisibleFlag(State state) {