[DO NOT MERGE] Bail early if mToken.asBinder() not found am: 3de034371b

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

Change-Id: I2f2a3aac91925f75530caf36718c8504430a0002
This commit is contained in:
Hongwei Wang
2020-09-23 21:50:06 +00:00
committed by Automerger Merge Worker

View File

@@ -303,15 +303,20 @@ public class PipTaskOrganizer extends TaskOrganizer implements
* @param animationDurationMs duration in millisecond for the exiting PiP transition
*/
public void exitPip(int animationDurationMs) {
if (!mState.isInPip() || mState == State.EXITING_PIP || mToken == null) {
if (!mState.isInPip() || mToken == null) {
Log.wtf(TAG, "Not allowed to exitPip in current state"
+ " mState=" + mState + " mToken=" + mToken);
return;
}
final PipWindowConfigurationCompact config = mCompactState.remove(mToken.asBinder());
if (config == null) {
Log.wtf(TAG, "Token not in record, this should not happen mToken=" + mToken);
return;
}
mPipUiEventLoggerLogger.log(
PipUiEventLogger.PipUiEventEnum.PICTURE_IN_PICTURE_EXPAND_TO_FULLSCREEN);
final PipWindowConfigurationCompact config = mCompactState.remove(mToken.asBinder());
config.syncWithScreenOrientation(mRequestedOrientation,
mPipBoundsHandler.getDisplayRotation());
final boolean orientationDiffers = config.getRotation()