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

Commit b13edd9f authored by Jerry Chang's avatar Jerry Chang Committed by Automerger Merge Worker
Browse files

Merge "Dismiss staged split after folded the device" into sc-v2-dev am: 4048fa7a

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/14700845

Change-Id: Icd0fc9969d2b6a0552c8aea89aefe61e04f36f01
parents 09ac674a 4048fa7a
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -44,6 +44,7 @@ import android.annotation.Nullable;
import android.app.ActivityManager;
import android.content.Context;
import android.graphics.Rect;
import android.hardware.devicestate.DeviceStateManager;
import android.os.Bundle;
import android.os.IBinder;
import android.util.Log;
@@ -158,6 +159,10 @@ class StageCoordinator implements SplitLayout.SplitLayoutHandler,
                mSurfaceSession);
        mDisplayImeController = displayImeController;
        mRootTDAOrganizer.registerListener(displayId, this);
        final DeviceStateManager deviceStateManager =
                mContext.getSystemService(DeviceStateManager.class);
        deviceStateManager.registerCallback(taskOrganizer.getExecutor(),
                new DeviceStateManager.FoldStateListener(mContext, this::onFoldedStateChanged));
        mSplitTransitions = new SplitScreenTransitions(transactionPool, transitions,
                mOnTransitionAnimationComplete);
        transitions.addHandler(this);
@@ -599,6 +604,12 @@ class StageCoordinator implements SplitLayout.SplitLayoutHandler,
        }
    }

    private void onFoldedStateChanged(boolean folded) {
        if (folded && mMainStage.isActive()) {
            exitSplitScreen();
        }
    }

    private Rect getSideStageBounds() {
        return mSideStagePosition == SPLIT_POSITION_TOP_OR_LEFT
                ? mSplitLayout.getBounds1() : mSplitLayout.getBounds2();