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

Commit 6033a8a6 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 am: b13edd9f

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

Change-Id: I3602b2c994e3cdc5bd9b3d3e195d64cbb830e630
parents 69e69b94 b13edd9f
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();