Upgrade resize mode setting for home activities when restoring task
We need to convert the resize mode of home activities saved before
version 1 of the persisted task record if they are marked as
RESIZE_MODE_RESIZEABLE to RESIZE_MODE_RESIZEABLE_VIA_SDK_VERSION
since we didn't have that differentiation before version 1 and the
system didn't resize home activities before then.
Bug: 30982291
Bug: 32231084
Test: Verify that a device runnin N upgraded to O doesn't resize the
home activity when in split-screen multi-window mode.
Change-Id: I3c9dfcc8be2651b06f7ab77abe4edb9653742952
diff --git a/services/core/java/com/android/server/am/TaskPersister.java b/services/core/java/com/android/server/am/TaskPersister.java
index 0817f0d..1ecb2e9 100644
--- a/services/core/java/com/android/server/am/TaskPersister.java
+++ b/services/core/java/com/android/server/am/TaskPersister.java
@@ -54,6 +54,8 @@
import java.util.Comparator;
import java.util.List;
+import static android.app.ActivityManager.StackId.HOME_STACK_ID;
+
public class TaskPersister {
static final String TAG = "TaskPersister";
static final boolean DEBUG = false;
@@ -450,7 +452,7 @@
final int taskId = task.taskId;
if (mStackSupervisor.anyTaskForIdLocked(taskId,
- /* restoreFromRecents= */ false, 0) != null) {
+ /* restoreFromRecents= */ false, HOME_STACK_ID) != null) {
// Should not happen.
Slog.wtf(TAG, "Existing task with taskId " + taskId + "found");
} else if (userId != task.userId) {