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

Commit a50aa0c8 authored by Tiger Huang's avatar Tiger Huang Committed by Automerger Merge Worker
Browse files

Merge "Create input consumer only when nav bar is hidden by client" into...

Merge "Create input consumer only when nav bar is hidden by client" into rvc-dev am: 0bd76726 am: 000e5cb0 am: 1c4e921a

Change-Id: I70da939d21ad7b668531890fbb99a834b2e95fe4
parents d6bd61ff 1c4e921a
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -1494,9 +1494,7 @@ public class DisplayPolicy {
        final int behavior = mLastBehavior;
        boolean navVisible = ViewRootImpl.sNewInsetsMode != ViewRootImpl.NEW_INSETS_MODE_FULL
                ? (sysui & View.SYSTEM_UI_FLAG_HIDE_NAVIGATION) == 0
                : mNavigationBar != null && mNavigationBar.getControllableInsetProvider() != null
                        && mNavigationBar.getControllableInsetProvider().isClientVisible()
                        && !mDisplayContent.getInsetsPolicy().isTransient(ITYPE_NAVIGATION_BAR);
                : isNavigationBarRequestedVisible();
        boolean navTranslucent = (sysui
                & (View.NAVIGATION_BAR_TRANSLUCENT | View.NAVIGATION_BAR_TRANSPARENT)) != 0;
        boolean immersive = (sysui & View.SYSTEM_UI_FLAG_IMMERSIVE) != 0
@@ -1533,6 +1531,14 @@ public class DisplayPolicy {
        mLastNotificationShadeForcesShowingNavigation = notificationShadeForcesShowingNavigation;
    }

    boolean isNavigationBarRequestedVisible() {
        final InsetsSourceProvider provider =
                mDisplayContent.getInsetsStateController().peekSourceProvider(ITYPE_NAVIGATION_BAR);
        return provider == null
                ? InsetsState.getDefaultVisibility(ITYPE_NAVIGATION_BAR)
                : provider.isClientVisible();
    }

    void updateHideNavInputEventReceiver(boolean navVisible, boolean navAllowedHidden) {
        // When the navigation bar isn't visible, we put up a fake input window to catch all
        // touch events. This way we can detect when the user presses anywhere to bring back the
+1 −1
Original line number Diff line number Diff line
@@ -99,7 +99,7 @@ class InsetsPolicy {
    }

    private void updateHideNavInputEventReceiver() {
        mPolicy.updateHideNavInputEventReceiver(!isHidden(ITYPE_NAVIGATION_BAR),
        mPolicy.updateHideNavInputEventReceiver(mPolicy.isNavigationBarRequestedVisible(),
                mFocusedWin != null
                        && mFocusedWin.mAttrs.insetsFlags.behavior != BEHAVIOR_SHOW_BARS_BY_TOUCH);
    }