summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Chris Li <lihongyu@google.com> 2024-12-05 09:59:29 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2024-12-05 09:59:29 +0000
commit77b4da7b52fe155fcefd7733bd31f24451dc285f (patch)
treea409631796fc9f4562b34cc68d18c2b903a00fcb
parentf848df33e63379ad00f5fef440ff12f1ef34e4ba (diff)
parent92c98a7d50c754a32e416356e981d7fd239455c7 (diff)
Merge "ATMS: fix the NPE problem in case the dream activity fails to start." into main
-rw-r--r--services/core/java/com/android/server/wm/ActivityTaskManagerService.java11
1 files changed, 7 insertions, 4 deletions
diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
index cfd5300417b4..66ed0dae53f5 100644
--- a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
+++ b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
@@ -1535,7 +1535,8 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
final ActivityRecord[] outActivity = new ActivityRecord[1];
- getActivityStartController().obtainStarter(intent, "dream")
+ final int res = getActivityStartController()
+ .obtainStarter(intent, "dream")
.setCallingUid(callingUid)
.setCallingPid(callingPid)
.setCallingPackage(intent.getPackage())
@@ -1549,9 +1550,11 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
.execute();
final ActivityRecord started = outActivity[0];
- final IAppTask appTask = started == null ? null :
- new AppTaskImpl(this, started.getTask().mTaskId, callingUid);
- return appTask;
+ if (started == null || !ActivityManager.isStartResultSuccessful(res)) {
+ // start the dream activity failed.
+ return null;
+ }
+ return new AppTaskImpl(this, started.getTask().mTaskId, callingUid);
}
}