Merge "Make mCurrentPipTaskToken null when app crashes" into udc-dev am: 2a2a1b1266
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/24044846 Change-Id: I0acb846942912f8135a52e7b0d7b25245d6e583a Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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) {}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user