diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java index faa0cc96675c2..d15d094405734 100644 --- a/services/core/java/com/android/server/wm/ActivityRecord.java +++ b/services/core/java/com/android/server/wm/ActivityRecord.java @@ -9074,6 +9074,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 @@ -9098,6 +9099,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 diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java index ebdc537e78723..969f65c9602b4 100644 --- a/services/core/java/com/android/server/wm/Task.java +++ b/services/core/java/com/android/server/wm/Task.java @@ -5781,8 +5781,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)