Merge "Enforce sysui-held permissions when getting main launch intent" into udc-dev

This commit is contained in:
Winson Chung
2023-05-06 07:12:28 +00:00
committed by Android (Google) Code Review
2 changed files with 5 additions and 5 deletions

View File

@@ -765,10 +765,6 @@ public class LauncherApps {
@Nullable
public PendingIntent getMainActivityLaunchIntent(@NonNull ComponentName component,
@Nullable Bundle startActivityOptions, @NonNull UserHandle user) {
if (mContext.checkSelfPermission(android.Manifest.permission.START_TASKS_FROM_RECENTS)
!= PackageManager.PERMISSION_GRANTED) {
Log.w(TAG, "Only allowed for recents.");
}
logErrorForInvalidProfileAccess(user);
if (DEBUG) {
Log.i(TAG, "GetMainActivityLaunchIntent " + component + " " + user);

View File

@@ -1330,7 +1330,11 @@ public class LauncherAppsService extends SystemService {
@Override
public PendingIntent getActivityLaunchIntent(String callingPackage, ComponentName component,
UserHandle user) {
ensureShortcutPermission(callingPackage);
if (mContext.checkPermission(android.Manifest.permission.START_TASKS_FROM_RECENTS,
injectBinderCallingPid(), injectBinderCallingUid())
!= PackageManager.PERMISSION_GRANTED) {
throw new SecurityException("Permission START_TASKS_FROM_RECENTS required");
}
if (!canAccessProfile(user.getIdentifier(), "Cannot start activity")) {
throw new ActivityNotFoundException("Activity could not be found");
}