diff options
| author | 2020-06-18 17:59:34 +0800 | |
|---|---|---|
| committer | 2020-07-08 12:30:22 +0800 | |
| commit | c9aa51b1738f800bd58e11bf8f6e0be817fb3582 (patch) | |
| tree | 792148b835bcbe87d441c9027644775059cae74b | |
| parent | 276d5d7a0dc655d8405fa3ef4eccdf2f8e7289fa (diff) | |
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
| -rw-r--r-- | core/java/android/app/ActivityThread.java | 3 | ||||
| -rw-r--r-- | services/core/java/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 89e1f5a28a35..5f2517244bbc 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<IBinder, ActivityClientRecord> 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 bf85db2e9700..2b33608b7176 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); |