Merge "Set mIsInMultiWindowMode in activity creation" into rvc-dev
This commit is contained in:
@@ -17,6 +17,8 @@
|
|||||||
package android.app;
|
package android.app;
|
||||||
|
|
||||||
import static android.Manifest.permission.CONTROL_REMOTE_APP_TRANSITION_ANIMATIONS;
|
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 android.os.Process.myUid;
|
||||||
|
|
||||||
import static java.lang.Character.MIN_VALUE;
|
import static java.lang.Character.MIN_VALUE;
|
||||||
@@ -947,9 +949,8 @@ public class Activity extends ContextThemeWrapper
|
|||||||
/** @hide */
|
/** @hide */
|
||||||
boolean mEnterAnimationComplete;
|
boolean mEnterAnimationComplete;
|
||||||
|
|
||||||
/** Track last dispatched multi-window and PiP mode to client, internal debug purpose **/
|
private boolean mIsInMultiWindowMode;
|
||||||
private Boolean mLastDispatchedIsInMultiWindowMode;
|
private boolean mIsInPictureInPictureMode;
|
||||||
private Boolean mLastDispatchedIsInPictureInPictureMode;
|
|
||||||
|
|
||||||
private final WindowControllerCallback mWindowControllerCallback =
|
private final WindowControllerCallback mWindowControllerCallback =
|
||||||
new WindowControllerCallback() {
|
new WindowControllerCallback() {
|
||||||
@@ -2748,7 +2749,7 @@ public class Activity extends ContextThemeWrapper
|
|||||||
* @return True if the activity is in multi-window mode.
|
* @return True if the activity is in multi-window mode.
|
||||||
*/
|
*/
|
||||||
public boolean isInMultiWindowMode() {
|
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.
|
* @return True if the activity is in picture-in-picture mode.
|
||||||
*/
|
*/
|
||||||
public boolean isInPictureInPictureMode() {
|
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(mResumed); writer.print(" mStopped=");
|
||||||
writer.print(mStopped); writer.print(" mFinished=");
|
writer.print(mStopped); writer.print(" mFinished=");
|
||||||
writer.println(mFinished);
|
writer.println(mFinished);
|
||||||
writer.print(innerPrefix); writer.print("mLastDispatchedIsInMultiWindowMode=");
|
writer.print(innerPrefix); writer.print("mIsInMultiWindowMode=");
|
||||||
writer.print(mLastDispatchedIsInMultiWindowMode);
|
writer.print(mIsInMultiWindowMode);
|
||||||
writer.print(" mLastDispatchedIsInPictureInPictureMode=");
|
writer.print(" mIsInPictureInPictureMode=");
|
||||||
writer.println(mLastDispatchedIsInPictureInPictureMode);
|
writer.println(mIsInPictureInPictureMode);
|
||||||
writer.print(innerPrefix); writer.print("mChangingConfigurations=");
|
writer.print(innerPrefix); writer.print("mChangingConfigurations=");
|
||||||
writer.println(mChangingConfigurations);
|
writer.println(mChangingConfigurations);
|
||||||
writer.print(innerPrefix); writer.print("mCurrentConfig=");
|
writer.print(innerPrefix); writer.print("mCurrentConfig=");
|
||||||
@@ -7977,6 +7978,11 @@ public class Activity extends ContextThemeWrapper
|
|||||||
final void performCreate(Bundle icicle, PersistableBundle persistentState) {
|
final void performCreate(Bundle icicle, PersistableBundle persistentState) {
|
||||||
dispatchActivityPreCreated(icicle);
|
dispatchActivityPreCreated(icicle);
|
||||||
mCanEnterPictureInPicture = true;
|
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);
|
restoreHasCurrentPermissionRequest(icicle);
|
||||||
if (persistentState != null) {
|
if (persistentState != null) {
|
||||||
onCreate(icicle, persistentState);
|
onCreate(icicle, persistentState);
|
||||||
@@ -8245,7 +8251,7 @@ public class Activity extends ContextThemeWrapper
|
|||||||
if (mWindow != null) {
|
if (mWindow != null) {
|
||||||
mWindow.onMultiWindowModeChanged();
|
mWindow.onMultiWindowModeChanged();
|
||||||
}
|
}
|
||||||
mLastDispatchedIsInMultiWindowMode = isInMultiWindowMode;
|
mIsInMultiWindowMode = isInMultiWindowMode;
|
||||||
onMultiWindowModeChanged(isInMultiWindowMode, newConfig);
|
onMultiWindowModeChanged(isInMultiWindowMode, newConfig);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -8258,7 +8264,7 @@ public class Activity extends ContextThemeWrapper
|
|||||||
if (mWindow != null) {
|
if (mWindow != null) {
|
||||||
mWindow.onPictureInPictureModeChanged(isInPictureInPictureMode);
|
mWindow.onPictureInPictureModeChanged(isInPictureInPictureMode);
|
||||||
}
|
}
|
||||||
mLastDispatchedIsInPictureInPictureMode = isInPictureInPictureMode;
|
mIsInPictureInPictureMode = isInPictureInPictureMode;
|
||||||
onPictureInPictureModeChanged(isInPictureInPictureMode, newConfig);
|
onPictureInPictureModeChanged(isInPictureInPictureMode, newConfig);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user