diff options
| -rw-r--r-- | services/core/java/com/android/server/am/ActivityStartInterceptor.java | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/am/ActivityStartInterceptor.java b/services/core/java/com/android/server/am/ActivityStartInterceptor.java index a2c2040b5c51..f26e47e934c4 100644 --- a/services/core/java/com/android/server/am/ActivityStartInterceptor.java +++ b/services/core/java/com/android/server/am/ActivityStartInterceptor.java @@ -186,9 +186,13 @@ class ActivityStartInterceptor { if (mActivityOptions == null) { mActivityOptions = ActivityOptions.makeBasic(); } - // Showing credential confirmation activity in home task to avoid stopping multi-windowed - // mode after showing the full-screen credential confirmation activity. - mActivityOptions.setLaunchTaskId(mSupervisor.getHomeActivity().task.taskId); + + ActivityRecord homeActivityRecord = mSupervisor.getHomeActivity(); + if (homeActivityRecord != null && homeActivityRecord.task != null) { + // Showing credential confirmation activity in home task to avoid stopping multi-windowed + // mode after showing the full-screen credential confirmation activity. + mActivityOptions.setLaunchTaskId(homeActivityRecord.task.taskId); + } final UserInfo parent = mUserManager.getProfileParent(mUserId); mRInfo = mSupervisor.resolveIntent(mIntent, mResolvedType, parent.id); |