Ensure child task has activity type set
Otherwise, the activity type of the child task is undefined. Also log if the activity type of an Activity is changed once set. Bug: 271528886 Test: drag app into split-screen Change-Id: Ib8e925bc50dc2779bea1230cc22e6c1f68406d2c
This commit is contained in:
@@ -8892,6 +8892,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
|
||||
|
||||
final boolean wasInPictureInPicture = inPinnedWindowingMode();
|
||||
final DisplayContent display = mDisplayContent;
|
||||
final int activityType = getActivityType();
|
||||
if (wasInPictureInPicture && attachedToProcess() && display != null) {
|
||||
// If the PIP activity is changing to fullscreen with display orientation change, the
|
||||
// fixed rotation will take effect that requires to send fixed rotation adjustments
|
||||
@@ -8916,6 +8917,11 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
|
||||
} else {
|
||||
super.onConfigurationChanged(newParentConfig);
|
||||
}
|
||||
if (activityType != ACTIVITY_TYPE_UNDEFINED
|
||||
&& activityType != getActivityType()) {
|
||||
Slog.w(TAG, "Can't change activity type once set: " + this
|
||||
+ " activityType=" + activityTypeToString(getActivityType()));
|
||||
}
|
||||
|
||||
// Configuration's equality doesn't consider seq so if only seq number changes in resolved
|
||||
// override configuration. Therefore ConfigurationContainer doesn't change merged override
|
||||
|
||||
@@ -5884,8 +5884,11 @@ class Task extends TaskFragment {
|
||||
final int taskId = activity != null
|
||||
? mTaskSupervisor.getNextTaskIdForUser(activity.mUserId)
|
||||
: mTaskSupervisor.getNextTaskIdForUser();
|
||||
final int activityType = getActivityType();
|
||||
task = new Task.Builder(mAtmService)
|
||||
.setTaskId(taskId)
|
||||
.setActivityType(activityType != ACTIVITY_TYPE_UNDEFINED ? activityType
|
||||
: ACTIVITY_TYPE_STANDARD)
|
||||
.setActivityInfo(info)
|
||||
.setActivityOptions(options)
|
||||
.setIntent(intent)
|
||||
|
||||
Reference in New Issue
Block a user