Merge "Make mCurrentPipTaskToken null when app crashes" into udc-dev am: 2a2a1b1266 am: 372d2ee787

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

Change-Id: I7015ddb5d5d5761ad90e4ba825cf441c54027ca2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Ikram Gabiyev
2023-07-13 20:06:43 +00:00
committed by Automerger Merge Worker
3 changed files with 19 additions and 0 deletions

View File

@@ -1927,6 +1927,7 @@ public class PipTaskOrganizer implements ShellTaskOrganizer.TaskListener,
pw.println(innerPrefix + "mLeash=" + mLeash); pw.println(innerPrefix + "mLeash=" + mLeash);
pw.println(innerPrefix + "mState=" + mPipTransitionState.getTransitionState()); pw.println(innerPrefix + "mState=" + mPipTransitionState.getTransitionState());
pw.println(innerPrefix + "mPictureInPictureParams=" + mPictureInPictureParams); pw.println(innerPrefix + "mPictureInPictureParams=" + mPictureInPictureParams);
mPipTransitionController.dump(pw, innerPrefix);
} }
@Override @Override

View File

@@ -72,6 +72,7 @@ import com.android.wm.shell.transition.CounterRotatorHelper;
import com.android.wm.shell.transition.Transitions; import com.android.wm.shell.transition.Transitions;
import com.android.wm.shell.util.TransitionUtil; import com.android.wm.shell.util.TransitionUtil;
import java.io.PrintWriter;
import java.util.Optional; import java.util.Optional;
/** /**
@@ -451,6 +452,9 @@ public class PipTransition extends PipTransitionController {
@Override @Override
public void forceFinishTransition() { public void forceFinishTransition() {
// mFinishCallback might be null with an outdated mCurrentPipTaskToken
// for example, when app crashes while in PiP and exit transition has not started
mCurrentPipTaskToken = null;
if (mFinishCallback == null) return; if (mFinishCallback == null) return;
mFinishCallback.onTransitionFinished(null /* wct */, null /* callback */); mFinishCallback.onTransitionFinished(null /* wct */, null /* callback */);
mFinishCallback = null; mFinishCallback = null;
@@ -1137,4 +1141,12 @@ public class PipTransition extends PipTransitionController {
PipMenuController.ALPHA_NO_CHANGE); PipMenuController.ALPHA_NO_CHANGE);
mPipMenuController.updateMenuBounds(destinationBounds); mPipMenuController.updateMenuBounds(destinationBounds);
} }
@Override
public void dump(PrintWriter pw, String prefix) {
final String innerPrefix = prefix + " ";
pw.println(prefix + TAG);
pw.println(innerPrefix + "mCurrentPipTaskToken=" + mCurrentPipTaskToken);
pw.println(innerPrefix + "mFinishCallback=" + mFinishCallback);
}
} }

View File

@@ -42,6 +42,7 @@ import com.android.wm.shell.common.split.SplitScreenUtils;
import com.android.wm.shell.sysui.ShellInit; import com.android.wm.shell.sysui.ShellInit;
import com.android.wm.shell.transition.Transitions; import com.android.wm.shell.transition.Transitions;
import java.io.PrintWriter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@@ -283,4 +284,9 @@ public abstract class PipTransitionController implements Transitions.TransitionH
*/ */
void onPipTransitionCanceled(int direction); void onPipTransitionCanceled(int direction);
} }
/**
* Dumps internal states.
*/
public void dump(PrintWriter pw, String prefix) {}
} }