diff --git a/src/com/android/settings/privatespace/SetupSuccessFragment.java b/src/com/android/settings/privatespace/SetupSuccessFragment.java index 647bc62087d..bfd9e961837 100644 --- a/src/com/android/settings/privatespace/SetupSuccessFragment.java +++ b/src/com/android/settings/privatespace/SetupSuccessFragment.java @@ -18,6 +18,7 @@ package com.android.settings.privatespace; import android.app.Activity; import android.app.ActivityManager; +import android.app.role.RoleManager; import android.app.settings.SettingsEnums; import android.content.Intent; import android.content.pm.PackageManager; @@ -103,12 +104,19 @@ public class SetupSuccessFragment extends InstrumentedFragment { PackageManager.MATCH_SYSTEM_ONLY, activity.getUserId()); if (resolveInfo != null) { - allAppsIntent.setPackage(resolveInfo.activityInfo.packageName); - allAppsIntent.setComponent(resolveInfo.activityInfo.getComponentName()); + RoleManager mRoleManager = getContext().getSystemService(RoleManager.class); + final List packageNames = mRoleManager + .getRoleHolders(RoleManager.ROLE_HOME); + if (packageNames.contains(resolveInfo.activityInfo.packageName)) { + allAppsIntent.setPackage(resolveInfo.activityInfo.packageName); + allAppsIntent.setComponent(resolveInfo.activityInfo.getComponentName()); + } } activity.setTheme(R.style.Theme_SubSettings); - accessPrivateSpaceToast(); - startActivity(allAppsIntent); + if (allAppsIntent.getPackage() != null) { + accessPrivateSpaceToast(); + startActivity(allAppsIntent); + } Log.i(TAG, "Private space setup complete"); deleteAllTaskAndFinish(activity); }