diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index 1b32e3ef2eb7a..25d5832399eca 100644 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -10605,8 +10605,8 @@ public class ActivityManagerService extends IActivityManager.Stub intent.addFlags(Intent.FLAG_ACTIVITY_RETAIN_IN_RECENTS); } } - final ActivityInfo ainfo = AppGlobals.getPackageManager().getActivityInfo(comp, 0, - UserHandle.getUserId(callingUid)); + final ActivityInfo ainfo = AppGlobals.getPackageManager().getActivityInfo(comp, + STOCK_PM_FLAGS, UserHandle.getUserId(callingUid)); if (ainfo.applicationInfo.uid != callingUid) { throw new SecurityException( "Can't add task for another application: target uid=" @@ -21213,7 +21213,7 @@ public class ActivityManagerService extends IActivityManager.Stub ApplicationInfo aInfo = null; try { aInfo = AppGlobals.getPackageManager() - .getApplicationInfo(ssp, 0 /*flags*/, userId); + .getApplicationInfo(ssp, STOCK_PM_FLAGS, userId); } catch (RemoteException ignore) {} if (aInfo == null) { Slog.w(TAG, "Dropping ACTION_PACKAGE_REPLACED for non-existent pkg:" @@ -21238,7 +21238,7 @@ public class ActivityManagerService extends IActivityManager.Stub try { ApplicationInfo ai = AppGlobals.getPackageManager(). - getApplicationInfo(ssp, 0, 0); + getApplicationInfo(ssp, STOCK_PM_FLAGS, 0); mBatteryStatsService.notePackageInstalled(ssp, ai != null ? ai.versionCode : 0); } catch (RemoteException e) { diff --git a/services/core/java/com/android/server/am/ActivityRecord.java b/services/core/java/com/android/server/am/ActivityRecord.java index ccc17a3b1d0e0..1af4114441c36 100644 --- a/services/core/java/com/android/server/am/ActivityRecord.java +++ b/services/core/java/com/android/server/am/ActivityRecord.java @@ -236,7 +236,8 @@ final class ActivityRecord extends ConfigurationContainer implements AppWindowCo final IApplicationToken.Stub appToken; // window manager token AppWindowContainerController mWindowContainerController; final ActivityInfo info; // all about me - final ApplicationInfo appInfo; // information about activity's app + // TODO: This is duplicated state already contained in info.applicationInfo - remove + ApplicationInfo appInfo; // information about activity's app final int launchedFromPid; // always the pid who started the activity. final int launchedFromUid; // always the uid who started the activity. final String launchedFromPackage; // always the package who started the activity. @@ -605,6 +606,11 @@ final class ActivityRecord extends ConfigurationContainer implements AppWindowCo } } + void updateApplicationInfo(ApplicationInfo aInfo) { + appInfo = aInfo; + info.applicationInfo = aInfo; + } + private boolean crossesHorizontalSizeThreshold(int firstDp, int secondDp) { return crossesSizeThreshold(mHorizontalSizeConfigurations, firstDp, secondDp); } diff --git a/services/core/java/com/android/server/am/ActivityStack.java b/services/core/java/com/android/server/am/ActivityStack.java index 5628fe1395f6d..00ebcbd92053a 100644 --- a/services/core/java/com/android/server/am/ActivityStack.java +++ b/services/core/java/com/android/server/am/ActivityStack.java @@ -1324,7 +1324,7 @@ class ActivityStack extends ConfigurationContai final ActivityRecord ar = activities.get(activityNdx); if ((userId == ar.userId) && packageName.equals(ar.packageName)) { - ar.info.applicationInfo = aInfo; + ar.updateApplicationInfo(aInfo); } } } @@ -3987,7 +3987,8 @@ class ActivityStack extends ConfigurationContai } else { try { ActivityInfo aInfo = AppGlobals.getPackageManager().getActivityInfo( - destIntent.getComponent(), 0, srec.userId); + destIntent.getComponent(), ActivityManagerService.STOCK_PM_FLAGS, + srec.userId); // TODO(b/64750076): Check if calling pid should really be -1. final int res = mService.getActivityStartController() .obtainStarter(destIntent, "navigateUpTo") diff --git a/services/core/java/com/android/server/am/ActivityStartController.java b/services/core/java/com/android/server/am/ActivityStartController.java index 868f90df5c1bb..fb78838cfc9e5 100644 --- a/services/core/java/com/android/server/am/ActivityStartController.java +++ b/services/core/java/com/android/server/am/ActivityStartController.java @@ -198,9 +198,10 @@ public class ActivityStartController { // See if we should be showing the platform update setup UI. final Intent intent = new Intent(Intent.ACTION_UPGRADE_SETUP); - final List ris = mService.mContext.getPackageManager() - .queryIntentActivities(intent, - PackageManager.MATCH_SYSTEM_ONLY | PackageManager.GET_META_DATA); + final List ris = + mService.mContext.getPackageManager().queryIntentActivities(intent, + PackageManager.MATCH_SYSTEM_ONLY | PackageManager.GET_META_DATA + | ActivityManagerService.STOCK_PM_FLAGS); if (!ris.isEmpty()) { final ResolveInfo ri = ris.get(0); String vers = ri.activityInfo.metaData != null diff --git a/services/core/java/com/android/server/am/RecentTasks.java b/services/core/java/com/android/server/am/RecentTasks.java index efd8153832004..fcf00ce79ea91 100644 --- a/services/core/java/com/android/server/am/RecentTasks.java +++ b/services/core/java/com/android/server/am/RecentTasks.java @@ -600,7 +600,8 @@ class RecentTasks { // activities that are fully runnable based on // current system state. ai = pm.getActivityInfo(task.realActivity, - PackageManager.MATCH_DEBUG_TRIAGED_MISSING, userId); + PackageManager.MATCH_DEBUG_TRIAGED_MISSING + | ActivityManagerService.STOCK_PM_FLAGS, userId); } catch (RemoteException e) { // Will never happen. continue;