summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Louis Chang <louischang@google.com> 2020-06-18 17:59:34 +0800
committer Louis Chang <louischang@google.com> 2020-07-08 12:30:22 +0800
commitc9aa51b1738f800bd58e11bf8f6e0be817fb3582 (patch)
tree792148b835bcbe87d441c9027644775059cae74b
parent276d5d7a0dc655d8405fa3ef4eccdf2f8e7289fa (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.java3
-rw-r--r--services/core/java/com/android/server/wm/ActivityTaskManagerService.java4
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);