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

Commit 65404c82 authored by Hongwei Wang's avatar Hongwei Wang Committed by Automerger Merge Worker
Browse files

Merge "Set mIsInMultiWindowMode in activity creation" into rvc-dev am: 954820b0

Change-Id: I881c754d12e8ec25897ad230b97994aae0fc046e
parents ef36e6f8 954820b0
Loading
Loading
Loading
Loading
+17 −11
Original line number Diff line number Diff line
@@ -17,6 +17,8 @@
package android.app;

import static android.Manifest.permission.CONTROL_REMOTE_APP_TRANSITION_ANIMATIONS;
import static android.app.WindowConfiguration.WINDOWING_MODE_PINNED;
import static android.app.WindowConfiguration.inMultiWindowMode;
import static android.os.Process.myUid;

import static java.lang.Character.MIN_VALUE;
@@ -947,9 +949,8 @@ public class Activity extends ContextThemeWrapper
    /** @hide */
    boolean mEnterAnimationComplete;

    /** Track last dispatched multi-window and PiP mode to client, internal debug purpose **/
    private Boolean mLastDispatchedIsInMultiWindowMode;
    private Boolean mLastDispatchedIsInPictureInPictureMode;
    private boolean mIsInMultiWindowMode;
    private boolean mIsInPictureInPictureMode;

    private final WindowControllerCallback mWindowControllerCallback =
            new WindowControllerCallback() {
@@ -2748,7 +2749,7 @@ public class Activity extends ContextThemeWrapper
     * @return True if the activity is in multi-window mode.
     */
    public boolean isInMultiWindowMode() {
        return mLastDispatchedIsInMultiWindowMode == Boolean.TRUE;
        return mIsInMultiWindowMode;
    }

    /**
@@ -2791,7 +2792,7 @@ public class Activity extends ContextThemeWrapper
     * @return True if the activity is in picture-in-picture mode.
     */
    public boolean isInPictureInPictureMode() {
        return mLastDispatchedIsInPictureInPictureMode == Boolean.TRUE;
        return mIsInPictureInPictureMode;
    }

    /**
@@ -7142,10 +7143,10 @@ public class Activity extends ContextThemeWrapper
                writer.print(mResumed); writer.print(" mStopped=");
                writer.print(mStopped); writer.print(" mFinished=");
                writer.println(mFinished);
        writer.print(innerPrefix); writer.print("mLastDispatchedIsInMultiWindowMode=");
                writer.print(mLastDispatchedIsInMultiWindowMode);
                writer.print(" mLastDispatchedIsInPictureInPictureMode=");
                writer.println(mLastDispatchedIsInPictureInPictureMode);
        writer.print(innerPrefix); writer.print("mIsInMultiWindowMode=");
                writer.print(mIsInMultiWindowMode);
                writer.print(" mIsInPictureInPictureMode=");
                writer.println(mIsInPictureInPictureMode);
        writer.print(innerPrefix); writer.print("mChangingConfigurations=");
                writer.println(mChangingConfigurations);
        writer.print(innerPrefix); writer.print("mCurrentConfig=");
@@ -7977,6 +7978,11 @@ public class Activity extends ContextThemeWrapper
    final void performCreate(Bundle icicle, PersistableBundle persistentState) {
        dispatchActivityPreCreated(icicle);
        mCanEnterPictureInPicture = true;
        // initialize mIsInMultiWindowMode and mIsInPictureInPictureMode before onCreate
        final int windowingMode = getResources().getConfiguration().windowConfiguration
                .getWindowingMode();
        mIsInMultiWindowMode = inMultiWindowMode(windowingMode);
        mIsInPictureInPictureMode = windowingMode == WINDOWING_MODE_PINNED;
        restoreHasCurrentPermissionRequest(icicle);
        if (persistentState != null) {
            onCreate(icicle, persistentState);
@@ -8245,7 +8251,7 @@ public class Activity extends ContextThemeWrapper
        if (mWindow != null) {
            mWindow.onMultiWindowModeChanged();
        }
        mLastDispatchedIsInMultiWindowMode = isInMultiWindowMode;
        mIsInMultiWindowMode = isInMultiWindowMode;
        onMultiWindowModeChanged(isInMultiWindowMode, newConfig);
    }

@@ -8258,7 +8264,7 @@ public class Activity extends ContextThemeWrapper
        if (mWindow != null) {
            mWindow.onPictureInPictureModeChanged(isInPictureInPictureMode);
        }
        mLastDispatchedIsInPictureInPictureMode = isInPictureInPictureMode;
        mIsInPictureInPictureMode = isInPictureInPictureMode;
        onPictureInPictureModeChanged(isInPictureInPictureMode, newConfig);
    }