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

Commit 2a4e1476 authored by Tracy Zhou's avatar Tracy Zhou
Browse files

Show floating rotation button in sticky immersive mode if in gesture nav

Bug: 216182085
Test: manual
Change-Id: I00f1718e754f81e68ea2cc153540d65a65576599
parent b1f4e4cf
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import static android.content.pm.PackageManager.FEATURE_PC;
import static android.view.Display.DEFAULT_DISPLAY;

import static com.android.internal.view.RotationPolicy.NATURAL_ROTATION;
import static com.android.systemui.shared.system.QuickStepContract.isGesturalMode;

import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
@@ -97,6 +98,7 @@ public class RotationButtonController {
    @SuppressLint("InlinedApi")
    private @WindowInsetsController.Behavior
    int mBehavior = WindowInsetsController.BEHAVIOR_DEFAULT;
    private int mNavBarMode;
    private boolean mSkipOverrideUserLockPrefsOnce;
    private final int mLightIconColor;
    private final int mDarkIconColor;
@@ -397,6 +399,10 @@ public class RotationButtonController {
        if (rotateSuggestionsDisabled) onRotationSuggestionsDisabled();
    }

    public void onNavigationModeChanged(int mode) {
        mNavBarMode = mode;
    }

    public void onBehaviorChanged(int displayId, @WindowInsetsController.Behavior int behavior) {
        if (DEFAULT_DISPLAY != displayId) {
            return;
@@ -433,7 +439,8 @@ public class RotationButtonController {
     */
    @SuppressLint("InlinedApi")
    private boolean canShowRotationButton() {
        return mIsNavigationBarShowing || mBehavior == WindowInsetsController.BEHAVIOR_DEFAULT;
        return mIsNavigationBarShowing || mBehavior == WindowInsetsController.BEHAVIOR_DEFAULT
                || isGesturalMode(mNavBarMode);
    }

    @DrawableRes
+1 −0
Original line number Diff line number Diff line
@@ -812,6 +812,7 @@ public class NavigationBarView extends FrameLayout {
        mImeDrawsImeNavBar = imeDrawsImeNavBar;
        mBarTransitions.onNavigationModeChanged(mNavBarMode);
        mEdgeBackGestureHandler.onNavigationModeChanged(mNavBarMode);
        mRotationButtonController.onNavigationModeChanged(mNavBarMode);
        updateRotationButton();
    }