Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 06ef5afb authored by Sunny Goyal's avatar Sunny Goyal
Browse files

Removing douple lookup when calling startActivityAsUser

Test: atest \
      com.android.cts.devicepolicy.LauncherAppsMultiUserTest \
      com.android.cts.devicepolicy.LauncherAppsProfileTest \
      com.android.cts.devicepolicy.LauncherAppsSingleUserTest
Bug: 117888136

Change-Id: Ia25058b3bb2fb6cf57eedc5eecae4cb99275b4e7
parent dfa4c24a
Loading
Loading
Loading
Loading
+5 −9
Original line number Diff line number Diff line
@@ -659,15 +659,6 @@ public class LauncherAppsService extends SystemService {
            try {
                final PackageManagerInternal pmInt =
                        LocalServices.getService(PackageManagerInternal.class);
                ActivityInfo info = pmInt.getActivityInfo(component,
                        PackageManager.MATCH_DIRECT_BOOT_AWARE
                                | PackageManager.MATCH_DIRECT_BOOT_UNAWARE,
                        callingUid, user.getIdentifier());
                if (!info.exported) {
                    throw new SecurityException("Cannot launch non-exported components "
                            + component);
                }

                // Check that the component actually has Intent.CATEGORY_LAUCNCHER
                // as calling startActivityAsUser ignores the category and just
                // resolves based on the component if present.
@@ -680,6 +671,11 @@ public class LauncherAppsService extends SystemService {
                    ActivityInfo activityInfo = apps.get(i).activityInfo;
                    if (activityInfo.packageName.equals(component.getPackageName()) &&
                            activityInfo.name.equals(component.getClassName())) {
                        if (!activityInfo.exported) {
                            throw new SecurityException("Cannot launch non-exported components "
                                    + component);
                        }

                        // Found an activity with category launcher that matches
                        // this component so ok to launch.
                        launchIntent.setPackage(null);