Loading services/core/java/com/android/server/pm/BroadcastHelper.java +17 −10 Original line number Diff line number Diff line Loading @@ -360,13 +360,17 @@ public final class BroadcastHelper { @Nullable SparseArray<int[]> broadcastAllowList, @NonNull AndroidPackage pkg, @NonNull String[] sharedUidPackages, @NonNull String reasonForTrace) { @NonNull String reasonForTrace, int callingUidForTrace) { final boolean isForWholeApp = componentNames.contains(packageName); final String callingPackageNameForTrace = mContext.getPackageManager().getNameForUid( callingUidForTrace); if (isForWholeApp || !android.content.pm.Flags.reduceBroadcastsForComponentStateChanges()) { tracePackageChangedBroadcastEvent( android.content.pm.Flags.reduceBroadcastsForComponentStateChanges(), reasonForTrace, packageName, "<implicit>" /* targetPackageName */, "whole" /* targetComponent */, componentNames.size()); "whole" /* targetComponent */, componentNames.size(), callingPackageNameForTrace); sendPackageChangedBroadcastWithPermissions(packageName, dontKillApp, componentNames, packageUid, reason, userIds, instantUserIds, broadcastAllowList, null /* targetPackageName */, null /* requiredPermissions */); Loading @@ -390,7 +394,7 @@ public final class BroadcastHelper { if (!TextUtils.equals(packageName, "android")) { tracePackageChangedBroadcastEvent(true /* applyFlag */, reasonForTrace, packageName, "android" /* targetPackageName */, "notExported" /* targetComponent */, notExportedComponentNames.size()); notExportedComponentNames.size(), callingPackageNameForTrace); sendPackageChangedBroadcastWithPermissions(packageName, dontKillApp, notExportedComponentNames, packageUid, reason, userIds, instantUserIds, broadcastAllowList, "android" /* targetPackageName */, Loading @@ -401,7 +405,7 @@ public final class BroadcastHelper { // Second, send the PACKAGE_CHANGED broadcast to the application itself. tracePackageChangedBroadcastEvent(true /* applyFlag */, reasonForTrace, packageName, packageName /* targetPackageName */, "notExported" /* targetComponent */, notExportedComponentNames.size()); notExportedComponentNames.size(), callingPackageNameForTrace); sendPackageChangedBroadcastWithPermissions(packageName, dontKillApp, notExportedComponentNames, packageUid, reason, userIds, instantUserIds, broadcastAllowList, packageName /* targetPackageName */, Loading @@ -415,7 +419,7 @@ public final class BroadcastHelper { } tracePackageChangedBroadcastEvent(true /* applyFlag */, reasonForTrace, packageName, sharedPackage /* targetPackageName */, "notExported" /* targetComponent */, notExportedComponentNames.size()); notExportedComponentNames.size(), callingPackageNameForTrace); sendPackageChangedBroadcastWithPermissions(packageName, dontKillApp, notExportedComponentNames, packageUid, reason, userIds, instantUserIds, broadcastAllowList, sharedPackage /* targetPackageName */, Loading @@ -427,7 +431,7 @@ public final class BroadcastHelper { if (!exportedComponentNames.isEmpty()) { tracePackageChangedBroadcastEvent(true /* applyFlag */, reasonForTrace, packageName, "<implicit>" /* targetPackageName */, "exported" /* targetComponent */, exportedComponentNames.size()); exportedComponentNames.size(), callingPackageNameForTrace); sendPackageChangedBroadcastWithPermissions(packageName, dontKillApp, exportedComponentNames, packageUid, reason, userIds, instantUserIds, broadcastAllowList, null /* targetPackageName */, Loading Loading @@ -770,7 +774,8 @@ public final class BroadcastHelper { dontKillApp, new ArrayList<>(Collections.singletonList(pkg.getPackageName())), pkg.getUid(), null /* reason */, "static_shared_library_changed" /* reasonForTrace */); "static_shared_library_changed" /* reasonForTrace */, Process.SYSTEM_UID); } } } Loading Loading @@ -962,7 +967,8 @@ public final class BroadcastHelper { @NonNull ArrayList<String> componentNames, int packageUid, @NonNull String reason, @NonNull String reasonForTrace) { @NonNull String reasonForTrace, int callingUidForTrace) { PackageStateInternal setting = snapshot.getPackageStateInternal(packageName, Process.SYSTEM_UID); if (setting == null || setting.getPkg() == null) { Loading @@ -980,7 +986,7 @@ public final class BroadcastHelper { mHandler.post(() -> sendPackageChangedBroadcastInternal( packageName, dontKillApp, componentNames, packageUid, reason, userIds, instantUserIds, broadcastAllowList, setting.getPkg(), sharedUserPackages, reasonForTrace)); sharedUserPackages, reasonForTrace, callingUidForTrace)); mPackageMonitorCallbackHelper.notifyPackageChanged(packageName, dontKillApp, componentNames, packageUid, reason, userIds, instantUserIds, broadcastAllowList, mHandler); } Loading Loading @@ -1277,7 +1283,7 @@ public final class BroadcastHelper { private static void tracePackageChangedBroadcastEvent(boolean applyFlag, @NonNull String reasonForTrace, @Nullable String packageName, @Nullable String targetPackageName, @Nullable String targetComponent, int componentSize) { int componentSize, @Nullable String callingPackageNameForTrace) { if (!Trace.isTagEnabled(Trace.TRACE_TAG_SYSTEM_SERVER)) { return; Loading @@ -1291,6 +1297,7 @@ public final class BroadcastHelper { builder.append(",tpn="); builder.append(targetPackageName); builder.append(",tc="); builder.append(targetComponent); builder.append(",cs="); builder.append(componentSize); builder.append(",cpnft="); builder.append(callingPackageNameForTrace); Trace.instant(Trace.TRACE_TAG_SYSTEM_SERVER, builder.toString()); } Loading services/core/java/com/android/server/pm/InstallPackageHelper.java +2 −2 Original line number Diff line number Diff line Loading @@ -2983,7 +2983,7 @@ final class InstallPackageHelper { } } public void sendPendingBroadcasts(String reasonForTrace) { public void sendPendingBroadcasts(String reasonForTrace, int callingUidForTrace) { String[] packages; ArrayList<String>[] components; int numBroadcasts = 0, numUsers; Loading Loading @@ -3028,7 +3028,7 @@ final class InstallPackageHelper { for (int i = 0; i < numBroadcasts; i++) { mBroadcastHelper.sendPackageChangedBroadcast(snapshot, packages[i], true /* dontKillApp */, components[i], uids[i], null /* reason */, reasonForTrace); reasonForTrace, callingUidForTrace); } } Loading services/core/java/com/android/server/pm/PackageHandler.java +1 −1 Original line number Diff line number Diff line Loading @@ -76,7 +76,7 @@ final class PackageHandler extends Handler { void doHandleMessage(Message msg) { switch (msg.what) { case SEND_PENDING_BROADCAST: { mPm.sendPendingBroadcasts((String) msg.obj); mPm.sendPendingBroadcasts((String) msg.obj, msg.arg1); break; } case POST_INSTALL: { Loading services/core/java/com/android/server/pm/PackageManagerService.java +21 −15 Original line number Diff line number Diff line Loading @@ -3503,7 +3503,8 @@ public class PackageManagerService implements PackageSender, TestUtilityService * if the resetEnabledSettingsOnAppDataCleared is {@code true}. */ @GuardedBy("mLock") private void resetComponentEnabledSettingsIfNeededLPw(String packageName, int userId) { private void resetComponentEnabledSettingsIfNeededLPw(String packageName, int userId, int callingUid) { final AndroidPackage pkg = packageName != null ? mPackages.get(packageName) : null; if (pkg == null || !pkg.isResetEnabledSettingsOnAppDataCleared()) { return; Loading Loading @@ -3542,9 +3543,8 @@ public class PackageManagerService implements PackageSender, TestUtilityService mPendingBroadcasts.addComponents(userId, packageName, updatedComponents); if (!mHandler.hasMessages(SEND_PENDING_BROADCAST)) { mHandler.sendMessageDelayed( mHandler.obtainMessage(SEND_PENDING_BROADCAST, "reset_component_state_changed" /* obj */), BROADCAST_DELAY); mHandler.obtainMessage(SEND_PENDING_BROADCAST, callingUid, 0 /* arg2 */, "reset_component_state_changed" /* obj */), BROADCAST_DELAY); } } Loading Loading @@ -3841,7 +3841,8 @@ public class PackageManagerService implements PackageSender, TestUtilityService mPendingBroadcasts.addComponent(userId, componentPkgName, componentName.getClassName()); if (!mHandler.hasMessages(SEND_PENDING_BROADCAST)) { mHandler.sendMessageDelayed(mHandler.obtainMessage(SEND_PENDING_BROADCAST, mHandler.sendMessageDelayed( mHandler.obtainMessage(SEND_PENDING_BROADCAST, callingUid, 0 /* arg2 */, "component_label_icon_changed" /* obj */), BROADCAST_DELAY); } } Loading Loading @@ -4101,8 +4102,10 @@ public class PackageManagerService implements PackageSender, TestUtilityService final long broadcastDelay = SystemClock.uptimeMillis() > mServiceStartWithDelay ? BROADCAST_DELAY : BROADCAST_DELAY_DURING_STARTUP; mHandler.sendMessageDelayed(mHandler.obtainMessage(SEND_PENDING_BROADCAST, "component_state_changed" /* obj */), broadcastDelay); mHandler.sendMessageDelayed( mHandler.obtainMessage(SEND_PENDING_BROADCAST, callingUid, 0 /* arg2 */, "component_state_changed" /* obj */), broadcastDelay); } } } Loading @@ -4121,7 +4124,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService userId, pkgSettings.get(packageName).getAppId()); mBroadcastHelper.sendPackageChangedBroadcast(newSnapshot, packageName, false /* dontKillApp */, components, packageUid, null /* reason */, "component_state_changed" /* reasonForTrace */); "component_state_changed" /* reasonForTrace */, callingUid); } } finally { Binder.restoreCallingIdentity(callingId); Loading Loading @@ -4349,7 +4352,8 @@ public class PackageManagerService implements PackageSender, TestUtilityService true /* dontKillApp */, new ArrayList<>(Collections.singletonList(pkg.getPackageName())), pkg.getUid(), Intent.ACTION_OVERLAY_CHANGED, "overlay_changed" /* reasonForTrace */); Intent.ACTION_OVERLAY_CHANGED, "overlay_changed" /* reasonForTrace */, Process.SYSTEM_UID); } }, overlayFilter); Loading Loading @@ -4847,7 +4851,8 @@ public class PackageManagerService implements PackageSender, TestUtilityService mInstantAppRegistry.deleteInstantApplicationMetadata(packageName, userId); synchronized (mLock) { if (succeeded) { resetComponentEnabledSettingsIfNeededLPw(packageName, userId); resetComponentEnabledSettingsIfNeededLPw(packageName, userId, callingUid); } } } Loading Loading @@ -6357,7 +6362,8 @@ public class PackageManagerService implements PackageSender, TestUtilityService @Override public void setMimeGroup(String packageName, String mimeGroup, List<String> mimeTypes) { final Computer snapshot = snapshotComputer(); enforceOwnerRights(snapshot, packageName, Binder.getCallingUid()); final int callingUid = Binder.getCallingUid(); enforceOwnerRights(snapshot, packageName, callingUid); mimeTypes = CollectionUtils.emptyIfNull(mimeTypes); for (int i = 0; i < mimeTypes.size(); i++) { if (mimeTypes.get(i).length() > 255) { Loading Loading @@ -6401,7 +6407,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService final int packageUid = UserHandle.getUid(userIds[i], appId); mBroadcastHelper.sendPackageChangedBroadcast(snapShot, packageName, true /* dontKillApp */, components, packageUid, reason, "mime_group_changed" /* reasonForTrace */); "mime_group_changed" /* reasonForTrace */, callingUid); } } }); Loading Loading @@ -8196,8 +8202,8 @@ public class PackageManagerService implements PackageSender, TestUtilityService mRemovePackageHelper.cleanUpForMoveInstall(volumeUuid, packageName, fromCodePath); } void sendPendingBroadcasts(String reasonForTrace) { mInstallPackageHelper.sendPendingBroadcasts(reasonForTrace); void sendPendingBroadcasts(String reasonForTrace, int callingUidForTrace) { mInstallPackageHelper.sendPendingBroadcasts(reasonForTrace, callingUidForTrace); } void handlePackagePostInstall(@NonNull InstallRequest request, boolean launchedForRestore) { Loading services/tests/PackageManagerServiceTests/server/src/com/android/server/pm/BroadcastHelperTest.java +3 −1 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ import android.app.ActivityManager; import android.app.ActivityManagerInternal; import android.content.Context; import android.content.Intent; import android.os.Binder; import android.os.Handler; import android.os.Message; import android.os.UserHandle; Loading Loading @@ -233,6 +234,7 @@ public class BroadcastHelperTest { mBroadcastHelper.sendPackageChangedBroadcast(mMockSnapshot, PACKAGE_CHANGED_TEST_PACKAGE_NAME, true /* dontKillApp */, componentNames, UserHandle.USER_SYSTEM, "test" /* reason */, "test" /* reasonForTrace */); UserHandle.USER_SYSTEM, "test" /* reason */, "test" /* reasonForTrace */, Binder.getCallingUid()); } } Loading
services/core/java/com/android/server/pm/BroadcastHelper.java +17 −10 Original line number Diff line number Diff line Loading @@ -360,13 +360,17 @@ public final class BroadcastHelper { @Nullable SparseArray<int[]> broadcastAllowList, @NonNull AndroidPackage pkg, @NonNull String[] sharedUidPackages, @NonNull String reasonForTrace) { @NonNull String reasonForTrace, int callingUidForTrace) { final boolean isForWholeApp = componentNames.contains(packageName); final String callingPackageNameForTrace = mContext.getPackageManager().getNameForUid( callingUidForTrace); if (isForWholeApp || !android.content.pm.Flags.reduceBroadcastsForComponentStateChanges()) { tracePackageChangedBroadcastEvent( android.content.pm.Flags.reduceBroadcastsForComponentStateChanges(), reasonForTrace, packageName, "<implicit>" /* targetPackageName */, "whole" /* targetComponent */, componentNames.size()); "whole" /* targetComponent */, componentNames.size(), callingPackageNameForTrace); sendPackageChangedBroadcastWithPermissions(packageName, dontKillApp, componentNames, packageUid, reason, userIds, instantUserIds, broadcastAllowList, null /* targetPackageName */, null /* requiredPermissions */); Loading @@ -390,7 +394,7 @@ public final class BroadcastHelper { if (!TextUtils.equals(packageName, "android")) { tracePackageChangedBroadcastEvent(true /* applyFlag */, reasonForTrace, packageName, "android" /* targetPackageName */, "notExported" /* targetComponent */, notExportedComponentNames.size()); notExportedComponentNames.size(), callingPackageNameForTrace); sendPackageChangedBroadcastWithPermissions(packageName, dontKillApp, notExportedComponentNames, packageUid, reason, userIds, instantUserIds, broadcastAllowList, "android" /* targetPackageName */, Loading @@ -401,7 +405,7 @@ public final class BroadcastHelper { // Second, send the PACKAGE_CHANGED broadcast to the application itself. tracePackageChangedBroadcastEvent(true /* applyFlag */, reasonForTrace, packageName, packageName /* targetPackageName */, "notExported" /* targetComponent */, notExportedComponentNames.size()); notExportedComponentNames.size(), callingPackageNameForTrace); sendPackageChangedBroadcastWithPermissions(packageName, dontKillApp, notExportedComponentNames, packageUid, reason, userIds, instantUserIds, broadcastAllowList, packageName /* targetPackageName */, Loading @@ -415,7 +419,7 @@ public final class BroadcastHelper { } tracePackageChangedBroadcastEvent(true /* applyFlag */, reasonForTrace, packageName, sharedPackage /* targetPackageName */, "notExported" /* targetComponent */, notExportedComponentNames.size()); notExportedComponentNames.size(), callingPackageNameForTrace); sendPackageChangedBroadcastWithPermissions(packageName, dontKillApp, notExportedComponentNames, packageUid, reason, userIds, instantUserIds, broadcastAllowList, sharedPackage /* targetPackageName */, Loading @@ -427,7 +431,7 @@ public final class BroadcastHelper { if (!exportedComponentNames.isEmpty()) { tracePackageChangedBroadcastEvent(true /* applyFlag */, reasonForTrace, packageName, "<implicit>" /* targetPackageName */, "exported" /* targetComponent */, exportedComponentNames.size()); exportedComponentNames.size(), callingPackageNameForTrace); sendPackageChangedBroadcastWithPermissions(packageName, dontKillApp, exportedComponentNames, packageUid, reason, userIds, instantUserIds, broadcastAllowList, null /* targetPackageName */, Loading Loading @@ -770,7 +774,8 @@ public final class BroadcastHelper { dontKillApp, new ArrayList<>(Collections.singletonList(pkg.getPackageName())), pkg.getUid(), null /* reason */, "static_shared_library_changed" /* reasonForTrace */); "static_shared_library_changed" /* reasonForTrace */, Process.SYSTEM_UID); } } } Loading Loading @@ -962,7 +967,8 @@ public final class BroadcastHelper { @NonNull ArrayList<String> componentNames, int packageUid, @NonNull String reason, @NonNull String reasonForTrace) { @NonNull String reasonForTrace, int callingUidForTrace) { PackageStateInternal setting = snapshot.getPackageStateInternal(packageName, Process.SYSTEM_UID); if (setting == null || setting.getPkg() == null) { Loading @@ -980,7 +986,7 @@ public final class BroadcastHelper { mHandler.post(() -> sendPackageChangedBroadcastInternal( packageName, dontKillApp, componentNames, packageUid, reason, userIds, instantUserIds, broadcastAllowList, setting.getPkg(), sharedUserPackages, reasonForTrace)); sharedUserPackages, reasonForTrace, callingUidForTrace)); mPackageMonitorCallbackHelper.notifyPackageChanged(packageName, dontKillApp, componentNames, packageUid, reason, userIds, instantUserIds, broadcastAllowList, mHandler); } Loading Loading @@ -1277,7 +1283,7 @@ public final class BroadcastHelper { private static void tracePackageChangedBroadcastEvent(boolean applyFlag, @NonNull String reasonForTrace, @Nullable String packageName, @Nullable String targetPackageName, @Nullable String targetComponent, int componentSize) { int componentSize, @Nullable String callingPackageNameForTrace) { if (!Trace.isTagEnabled(Trace.TRACE_TAG_SYSTEM_SERVER)) { return; Loading @@ -1291,6 +1297,7 @@ public final class BroadcastHelper { builder.append(",tpn="); builder.append(targetPackageName); builder.append(",tc="); builder.append(targetComponent); builder.append(",cs="); builder.append(componentSize); builder.append(",cpnft="); builder.append(callingPackageNameForTrace); Trace.instant(Trace.TRACE_TAG_SYSTEM_SERVER, builder.toString()); } Loading
services/core/java/com/android/server/pm/InstallPackageHelper.java +2 −2 Original line number Diff line number Diff line Loading @@ -2983,7 +2983,7 @@ final class InstallPackageHelper { } } public void sendPendingBroadcasts(String reasonForTrace) { public void sendPendingBroadcasts(String reasonForTrace, int callingUidForTrace) { String[] packages; ArrayList<String>[] components; int numBroadcasts = 0, numUsers; Loading Loading @@ -3028,7 +3028,7 @@ final class InstallPackageHelper { for (int i = 0; i < numBroadcasts; i++) { mBroadcastHelper.sendPackageChangedBroadcast(snapshot, packages[i], true /* dontKillApp */, components[i], uids[i], null /* reason */, reasonForTrace); reasonForTrace, callingUidForTrace); } } Loading
services/core/java/com/android/server/pm/PackageHandler.java +1 −1 Original line number Diff line number Diff line Loading @@ -76,7 +76,7 @@ final class PackageHandler extends Handler { void doHandleMessage(Message msg) { switch (msg.what) { case SEND_PENDING_BROADCAST: { mPm.sendPendingBroadcasts((String) msg.obj); mPm.sendPendingBroadcasts((String) msg.obj, msg.arg1); break; } case POST_INSTALL: { Loading
services/core/java/com/android/server/pm/PackageManagerService.java +21 −15 Original line number Diff line number Diff line Loading @@ -3503,7 +3503,8 @@ public class PackageManagerService implements PackageSender, TestUtilityService * if the resetEnabledSettingsOnAppDataCleared is {@code true}. */ @GuardedBy("mLock") private void resetComponentEnabledSettingsIfNeededLPw(String packageName, int userId) { private void resetComponentEnabledSettingsIfNeededLPw(String packageName, int userId, int callingUid) { final AndroidPackage pkg = packageName != null ? mPackages.get(packageName) : null; if (pkg == null || !pkg.isResetEnabledSettingsOnAppDataCleared()) { return; Loading Loading @@ -3542,9 +3543,8 @@ public class PackageManagerService implements PackageSender, TestUtilityService mPendingBroadcasts.addComponents(userId, packageName, updatedComponents); if (!mHandler.hasMessages(SEND_PENDING_BROADCAST)) { mHandler.sendMessageDelayed( mHandler.obtainMessage(SEND_PENDING_BROADCAST, "reset_component_state_changed" /* obj */), BROADCAST_DELAY); mHandler.obtainMessage(SEND_PENDING_BROADCAST, callingUid, 0 /* arg2 */, "reset_component_state_changed" /* obj */), BROADCAST_DELAY); } } Loading Loading @@ -3841,7 +3841,8 @@ public class PackageManagerService implements PackageSender, TestUtilityService mPendingBroadcasts.addComponent(userId, componentPkgName, componentName.getClassName()); if (!mHandler.hasMessages(SEND_PENDING_BROADCAST)) { mHandler.sendMessageDelayed(mHandler.obtainMessage(SEND_PENDING_BROADCAST, mHandler.sendMessageDelayed( mHandler.obtainMessage(SEND_PENDING_BROADCAST, callingUid, 0 /* arg2 */, "component_label_icon_changed" /* obj */), BROADCAST_DELAY); } } Loading Loading @@ -4101,8 +4102,10 @@ public class PackageManagerService implements PackageSender, TestUtilityService final long broadcastDelay = SystemClock.uptimeMillis() > mServiceStartWithDelay ? BROADCAST_DELAY : BROADCAST_DELAY_DURING_STARTUP; mHandler.sendMessageDelayed(mHandler.obtainMessage(SEND_PENDING_BROADCAST, "component_state_changed" /* obj */), broadcastDelay); mHandler.sendMessageDelayed( mHandler.obtainMessage(SEND_PENDING_BROADCAST, callingUid, 0 /* arg2 */, "component_state_changed" /* obj */), broadcastDelay); } } } Loading @@ -4121,7 +4124,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService userId, pkgSettings.get(packageName).getAppId()); mBroadcastHelper.sendPackageChangedBroadcast(newSnapshot, packageName, false /* dontKillApp */, components, packageUid, null /* reason */, "component_state_changed" /* reasonForTrace */); "component_state_changed" /* reasonForTrace */, callingUid); } } finally { Binder.restoreCallingIdentity(callingId); Loading Loading @@ -4349,7 +4352,8 @@ public class PackageManagerService implements PackageSender, TestUtilityService true /* dontKillApp */, new ArrayList<>(Collections.singletonList(pkg.getPackageName())), pkg.getUid(), Intent.ACTION_OVERLAY_CHANGED, "overlay_changed" /* reasonForTrace */); Intent.ACTION_OVERLAY_CHANGED, "overlay_changed" /* reasonForTrace */, Process.SYSTEM_UID); } }, overlayFilter); Loading Loading @@ -4847,7 +4851,8 @@ public class PackageManagerService implements PackageSender, TestUtilityService mInstantAppRegistry.deleteInstantApplicationMetadata(packageName, userId); synchronized (mLock) { if (succeeded) { resetComponentEnabledSettingsIfNeededLPw(packageName, userId); resetComponentEnabledSettingsIfNeededLPw(packageName, userId, callingUid); } } } Loading Loading @@ -6357,7 +6362,8 @@ public class PackageManagerService implements PackageSender, TestUtilityService @Override public void setMimeGroup(String packageName, String mimeGroup, List<String> mimeTypes) { final Computer snapshot = snapshotComputer(); enforceOwnerRights(snapshot, packageName, Binder.getCallingUid()); final int callingUid = Binder.getCallingUid(); enforceOwnerRights(snapshot, packageName, callingUid); mimeTypes = CollectionUtils.emptyIfNull(mimeTypes); for (int i = 0; i < mimeTypes.size(); i++) { if (mimeTypes.get(i).length() > 255) { Loading Loading @@ -6401,7 +6407,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService final int packageUid = UserHandle.getUid(userIds[i], appId); mBroadcastHelper.sendPackageChangedBroadcast(snapShot, packageName, true /* dontKillApp */, components, packageUid, reason, "mime_group_changed" /* reasonForTrace */); "mime_group_changed" /* reasonForTrace */, callingUid); } } }); Loading Loading @@ -8196,8 +8202,8 @@ public class PackageManagerService implements PackageSender, TestUtilityService mRemovePackageHelper.cleanUpForMoveInstall(volumeUuid, packageName, fromCodePath); } void sendPendingBroadcasts(String reasonForTrace) { mInstallPackageHelper.sendPendingBroadcasts(reasonForTrace); void sendPendingBroadcasts(String reasonForTrace, int callingUidForTrace) { mInstallPackageHelper.sendPendingBroadcasts(reasonForTrace, callingUidForTrace); } void handlePackagePostInstall(@NonNull InstallRequest request, boolean launchedForRestore) { Loading
services/tests/PackageManagerServiceTests/server/src/com/android/server/pm/BroadcastHelperTest.java +3 −1 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ import android.app.ActivityManager; import android.app.ActivityManagerInternal; import android.content.Context; import android.content.Intent; import android.os.Binder; import android.os.Handler; import android.os.Message; import android.os.UserHandle; Loading Loading @@ -233,6 +234,7 @@ public class BroadcastHelperTest { mBroadcastHelper.sendPackageChangedBroadcast(mMockSnapshot, PACKAGE_CHANGED_TEST_PACKAGE_NAME, true /* dontKillApp */, componentNames, UserHandle.USER_SYSTEM, "test" /* reason */, "test" /* reasonForTrace */); UserHandle.USER_SYSTEM, "test" /* reason */, "test" /* reasonForTrace */, Binder.getCallingUid()); } }