Merge "Fix bubble shows empty contents after rotating the device." into rvc-dev am: 35cd1a6a87
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12098183 Change-Id: I1ed7e12ce87c16e3a30f414e0818b6c9a3f87a55
This commit is contained in:
@@ -2443,7 +2443,7 @@ class ActivityStack extends Task {
|
||||
forAllActivities(ActivityRecord::removeLaunchTickRunnable);
|
||||
}
|
||||
|
||||
private void updateTransitLocked(int transit, ActivityOptions options) {
|
||||
private void updateTransitLocked(int transit, ActivityOptions options, boolean forceOverride) {
|
||||
if (options != null) {
|
||||
ActivityRecord r = topRunningActivity();
|
||||
if (r != null && !r.isState(RESUMED)) {
|
||||
@@ -2452,7 +2452,8 @@ class ActivityStack extends Task {
|
||||
ActivityOptions.abort(options);
|
||||
}
|
||||
}
|
||||
getDisplay().mDisplayContent.prepareAppTransition(transit, false);
|
||||
getDisplay().mDisplayContent.prepareAppTransition(transit, false,
|
||||
0 /* flags */, forceOverride);
|
||||
}
|
||||
|
||||
final void moveTaskToFront(Task tr, boolean noAnimation, ActivityOptions options,
|
||||
@@ -2472,8 +2473,17 @@ class ActivityStack extends Task {
|
||||
// nothing to do!
|
||||
if (noAnimation) {
|
||||
ActivityOptions.abort(options);
|
||||
} else if (isSingleTaskInstance()) {
|
||||
// When a task is moved front on the display which can only contain one task, start
|
||||
// a special transition.
|
||||
// {@link AppTransitionController#handleAppTransitionReady} later picks up the
|
||||
// transition, and schedules
|
||||
// {@link ITaskStackListener#onSingleTaskDisplayDrawn} callback which is triggered
|
||||
// after contents are drawn on the display.
|
||||
updateTransitLocked(TRANSIT_SHOW_SINGLE_TASK_DISPLAY, options,
|
||||
true /* forceOverride */);
|
||||
} else {
|
||||
updateTransitLocked(TRANSIT_TASK_TO_FRONT, options);
|
||||
updateTransitLocked(TRANSIT_TASK_TO_FRONT, options, false /* forceOverride */);
|
||||
}
|
||||
return;
|
||||
}
|
||||
@@ -2519,9 +2529,13 @@ class ActivityStack extends Task {
|
||||
mStackSupervisor.mNoAnimActivities.add(r);
|
||||
}
|
||||
ActivityOptions.abort(options);
|
||||
} else if (isSingleTaskInstance()) {
|
||||
updateTransitLocked(TRANSIT_SHOW_SINGLE_TASK_DISPLAY, options,
|
||||
true /* forceOverride */);
|
||||
} else {
|
||||
updateTransitLocked(TRANSIT_TASK_TO_FRONT, options);
|
||||
updateTransitLocked(TRANSIT_TASK_TO_FRONT, options, false /* forceOverride */);
|
||||
}
|
||||
|
||||
// If a new task is moved to the front, then mark the existing top activity as
|
||||
// supporting
|
||||
|
||||
|
||||
@@ -2375,7 +2375,8 @@ class RootWindowContainer extends WindowContainer<DisplayContent>
|
||||
// triggered after contents are drawn on the display.
|
||||
if (display.isSingleTaskInstance()) {
|
||||
display.mDisplayContent.prepareAppTransition(
|
||||
TRANSIT_SHOW_SINGLE_TASK_DISPLAY, false);
|
||||
TRANSIT_SHOW_SINGLE_TASK_DISPLAY, false,
|
||||
0 /* flags */, true /* forceOverride*/);
|
||||
}
|
||||
stack.awakeFromSleepingLocked();
|
||||
if (display.isSingleTaskInstance()) {
|
||||
|
||||
Reference in New Issue
Block a user