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

Commit 70659c99 authored by Sukesh Ram's avatar Sukesh Ram Committed by Android (Google) Code Review
Browse files

Merge "Make Navbar Secondary Handle Appear Correctly" into main

parents 53c2d9b9 102e65c1
Loading
Loading
Loading
Loading
+39 −41
Original line number Diff line number Diff line
@@ -940,12 +940,12 @@ public class NavigationBar extends ViewController<NavigationBarView> implements

    private void orientSecondaryHomeHandle() {
        if (!canShowSecondaryHandle()) {
            if (mStartingQuickSwitchRotation == -1) {
                resetSecondaryHandle();
            }
            return;
        }

        if (mStartingQuickSwitchRotation == -1) {
            resetSecondaryHandle();
        } else {
        int deltaRotation = deltaRotation(mCurrentRotation, mStartingQuickSwitchRotation);
        if (mStartingQuickSwitchRotation == -1 || deltaRotation == -1) {
            // Curious if starting quickswitch can change between the if check and our delta
@@ -958,13 +958,11 @@ public class NavigationBar extends ViewController<NavigationBarView> implements
        Rect dispSize = mWindowManager.getCurrentWindowMetrics().getBounds();
        mOrientationHandle.setDeltaRotation(deltaRotation);
        switch (deltaRotation) {
                case Surface.ROTATION_90:
                case Surface.ROTATION_270:
            case Surface.ROTATION_90, Surface.ROTATION_270:
                height = dispSize.height();
                width = mView.getHeight();
                break;
                case Surface.ROTATION_180:
                case Surface.ROTATION_0:
            case Surface.ROTATION_180, Surface.ROTATION_0:
                // TODO(b/152683657): Need to determine best UX for this
                if (!mShowOrientedHandleForImmersiveMode) {
                    resetSecondaryHandle();
@@ -984,7 +982,6 @@ public class NavigationBar extends ViewController<NavigationBarView> implements
        mView.setVisibility(View.GONE);
        mOrientationHandle.setVisibility(View.VISIBLE);
    }
    }

    private void resetSecondaryHandle() {
        if (mOrientationHandle != null) {
@@ -1786,7 +1783,8 @@ public class NavigationBar extends ViewController<NavigationBarView> implements
    }

    private boolean canShowSecondaryHandle() {
        return mNavBarMode == NAV_BAR_MODE_GESTURAL && mOrientationHandle != null;
        return mNavBarMode == NAV_BAR_MODE_GESTURAL && mOrientationHandle != null
                && mStartingQuickSwitchRotation != -1;
    }

    private final UserTracker.Callback mUserChangedCallback =