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

Commit 642f6792 authored by Sunny Goyal's avatar Sunny Goyal Committed by Automerger Merge Worker
Browse files

Fixing recents orientation (when home rotation is allowed) during swipe-up am: 12f46d52

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/12181002

Change-Id: If2459ee1dbfb37a9382fdf016cfec207632e3f00
parents 3a80d76f 12f46d52
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -103,6 +103,7 @@ public class TaskViewSimulator implements TransformParams.BuilderProxy {
        mSizeStrategy = sizeStrategy;

        mOrientationState = new RecentsOrientedState(context, sizeStrategy, i -> { });
        mOrientationState.setGestureActive(true);

        mCurrentFullscreenParams = new FullscreenDrawParams(context);
        mPageSpacing = context.getResources().getDimensionPixelSize(R.dimen.recents_page_spacing);
+10 −3
Original line number Diff line number Diff line
@@ -1002,7 +1002,9 @@ public abstract class RecentsView<T extends StatefulActivity> extends PagedView
        mDwbToastShown = false;
        mActivity.getSystemUiController().updateUiState(UI_STATE_OVERVIEW, 0);
        LayoutUtils.setViewEnabled(mActionsView, true);
        mOrientationState.setGestureActive(false);
        if (mOrientationState.setGestureActive(false)) {
            updateOrientationHandler();
        }
    }

    public @Nullable TaskView getRunningTaskView() {
@@ -1040,7 +1042,10 @@ public abstract class RecentsView<T extends StatefulActivity> extends PagedView
     */
    public void onGestureAnimationStart(RunningTaskInfo runningTaskInfo) {
        // This needs to be called before the other states are set since it can create the task view
        mOrientationState.setGestureActive(true);
        if (mOrientationState.setGestureActive(true)) {
            updateOrientationHandler();
        }

        showCurrentTask(runningTaskInfo);
        setEnableFreeScroll(false);
        setEnableDrawingLiveTile(false);
@@ -1103,7 +1108,9 @@ public abstract class RecentsView<T extends StatefulActivity> extends PagedView
     * Called when a gesture from an app has finished.
     */
    public void onGestureAnimationEnd() {
        mOrientationState.setGestureActive(false);
        if (mOrientationState.setGestureActive(false)) {
            updateOrientationHandler();
        }

        setOnScrollChangeListener(null);
        setEnableFreeScroll(true);
+8 −15
Original line number Diff line number Diff line
@@ -188,8 +188,9 @@ public final class RecentsOrientedState implements SharedPreferences.OnSharedPre
    /**
     * Sets if the swipe up gesture is currently running or not
     */
    public void setGestureActive(boolean isGestureActive) {
    public boolean setGestureActive(boolean isGestureActive) {
        setFlag(FLAG_SWIPE_UP_NOT_RUNNING, !isGestureActive);
        return update(mTouchRotation, mDisplayRotation);
    }

    /**
@@ -202,27 +203,19 @@ public final class RecentsOrientedState implements SharedPreferences.OnSharedPre
     */
    public boolean update(
            @SurfaceRotation int touchRotation, @SurfaceRotation int displayRotation) {
        int recentsActivityRotation = inferRecentsActivityRotation(displayRotation);
        if (mDisplayRotation == displayRotation
                && mTouchRotation == touchRotation
                && mRecentsActivityRotation == recentsActivityRotation) {
            return false;
        }

        mRecentsActivityRotation = recentsActivityRotation;
        mRecentsActivityRotation = inferRecentsActivityRotation(displayRotation);
        mDisplayRotation = displayRotation;
        mTouchRotation = touchRotation;
        mPreviousRotation = touchRotation;

        if (mRecentsActivityRotation == mTouchRotation || canRecentsActivityRotate()) {
        PagedOrientationHandler oldHandler = mOrientationHandler;
        if (mRecentsActivityRotation == mTouchRotation
                || (canRecentsActivityRotate() && (mFlags & FLAG_SWIPE_UP_NOT_RUNNING) != 0)) {
            mOrientationHandler = PagedOrientationHandler.PORTRAIT;
            if (DEBUG) {
                Log.d(TAG, "current RecentsOrientedState: " + this);
            }
            return true;
        }

        if (mTouchRotation == ROTATION_90) {
        } else if (mTouchRotation == ROTATION_90) {
            mOrientationHandler = PagedOrientationHandler.LANDSCAPE;
        } else if (mTouchRotation == ROTATION_270) {
            mOrientationHandler = PagedOrientationHandler.SEASCAPE;
@@ -232,7 +225,7 @@ public final class RecentsOrientedState implements SharedPreferences.OnSharedPre
        if (DEBUG) {
            Log.d(TAG, "current RecentsOrientedState: " + this);
        }
        return true;
        return oldHandler != mOrientationHandler;
    }

    @SurfaceRotation