Merge "Avoid potential NPE if the restore-below task is not collected" into tm-qpr-dev am: 0fb2fcc716

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

Change-Id: Ic65d4a98bf75f73e0f673f277334154e146b07d8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Riddle Hsu
2022-06-14 16:04:53 +00:00
committed by Automerger Merge Worker
2 changed files with 13 additions and 8 deletions

View File

@@ -1660,6 +1660,7 @@ class ActivityStarter {
transitionController.collect(r); transitionController.collect(r);
try { try {
mService.deferWindowLayout(); mService.deferWindowLayout();
try {
Trace.traceBegin(Trace.TRACE_TAG_WINDOW_MANAGER, "startActivityInner"); Trace.traceBegin(Trace.TRACE_TAG_WINDOW_MANAGER, "startActivityInner");
result = startActivityInner(r, sourceRecord, voiceSession, voiceInteractor, result = startActivityInner(r, sourceRecord, voiceSession, voiceInteractor,
startFlags, doResume, options, inTask, inTaskFragment, restrictedBgActivity, startFlags, doResume, options, inTask, inTaskFragment, restrictedBgActivity,
@@ -1668,6 +1669,8 @@ class ActivityStarter {
Trace.traceEnd(Trace.TRACE_TAG_WINDOW_MANAGER); Trace.traceEnd(Trace.TRACE_TAG_WINDOW_MANAGER);
startedActivityRootTask = handleStartResult(r, options, result, newTransition, startedActivityRootTask = handleStartResult(r, options, result, newTransition,
remoteTransition); remoteTransition);
}
} finally {
mService.continueWindowLayout(); mService.continueWindowLayout();
} }
postStartActivityProcessing(r, result, startedActivityRootTask); postStartActivityProcessing(r, result, startedActivityRootTask);

View File

@@ -229,8 +229,10 @@ class Transition extends Binder implements BLASTSyncEngine.TransactionReadyListe
if (restoreBelow != null) { if (restoreBelow != null) {
final ChangeInfo info = mChanges.get(restoreBelow); final ChangeInfo info = mChanges.get(restoreBelow);
if (info != null) {
info.mFlags |= ChangeInfo.FLAG_ABOVE_TRANSIENT_LAUNCH; info.mFlags |= ChangeInfo.FLAG_ABOVE_TRANSIENT_LAUNCH;
} }
}
ProtoLog.v(ProtoLogGroup.WM_DEBUG_WINDOW_TRANSITIONS, "Transition %d: Set %s as " ProtoLog.v(ProtoLogGroup.WM_DEBUG_WINDOW_TRANSITIONS, "Transition %d: Set %s as "
+ "transient-launch", mSyncId, activity); + "transient-launch", mSyncId, activity);
} }