From c9aa51b1738f800bd58e11bf8f6e0be817fb3582 Mon Sep 17 00:00:00 2001 From: Louis Chang Date: Thu, 18 Jun 2020 17:59:34 +0800 Subject: [PATCH] Do not schedule relaunch for local activities IllegalArgumentException was thrown when reporting size config for local activities while relaunch. Bug: 120008604 Test: start ActivtiyGroup activities and update display cutout Change-Id: If376012cd0741bc7436dc45aeb2f0216aee32a02 --- core/java/android/app/ActivityThread.java | 3 ++- .../com/android/server/wm/ActivityTaskManagerService.java | 4 +--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java index 89e1f5a28a355..5f2517244bbc6 100644 --- a/core/java/android/app/ActivityThread.java +++ b/core/java/android/app/ActivityThread.java @@ -4971,7 +4971,8 @@ public final class ActivityThread extends ClientTransactionHandler { private void relaunchAllActivities(boolean preserveWindows) { for (Map.Entry entry : mActivities.entrySet()) { final ActivityClientRecord r = entry.getValue(); - if (!r.activity.mFinished) { + // Schedule relaunch the activity if it is not a local object or finishing. + if (!r.activity.mFinished && !(r.token instanceof Binder)) { if (preserveWindows && r.window != null) { r.mPreserveWindow = true; } diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java index bf85db2e97001..2b33608b7176a 100644 --- a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java +++ b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java @@ -218,7 +218,6 @@ import android.service.voice.IVoiceInteractionSession; import android.service.voice.VoiceInteractionManagerInternal; import android.sysprop.DisplayProperties; import android.telecom.TelecomManager; -import android.text.TextUtils; import android.text.format.TimeMigrationUtils; import android.util.ArrayMap; import android.util.ArraySet; @@ -4007,8 +4006,7 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { synchronized (mGlobalLock) { ActivityRecord record = ActivityRecord.isInStackLocked(token); if (record == null) { - throw new IllegalArgumentException("reportSizeConfigurations: ActivityRecord not " - + "found for: " + token); + return; } record.setSizeConfigurations(horizontalSizeConfiguration, verticalSizeConfigurations, smallestSizeConfigurations);