Loading core/java/android/app/AppOpsManager.java +4 −2 Original line number Diff line number Diff line Loading @@ -2657,8 +2657,10 @@ public class AppOpsManager { * @hide */ // TODO: this should probably be @SystemApi as well public static @NonNull String toReceiverId(@NonNull Object obj) { if (obj instanceof PendingIntent) { public static @NonNull String toReceiverId(@Nullable Object obj) { if (obj == null) { return "null"; } else if (obj instanceof PendingIntent) { return toReceiverId((PendingIntent) obj); } else { return obj.getClass().getName() + "@" + System.identityHashCode(obj); Loading core/java/android/app/ContextImpl.java +3 −2 Original line number Diff line number Diff line Loading @@ -1624,8 +1624,9 @@ class ContextImpl extends Context { } try { final Intent intent = ActivityManager.getService().registerReceiverWithFeature( mMainThread.getApplicationThread(), mBasePackageName, getAttributionTag(), rd, filter, broadcastPermission, userId, flags); mMainThread.getApplicationThread(), mBasePackageName, getAttributionTag(), AppOpsManager.toReceiverId(receiver), rd, filter, broadcastPermission, userId, flags); if (intent != null) { intent.setExtrasClassLoader(getClassLoader()); intent.prepareToEnterProcess(); Loading core/java/android/app/IActivityManager.aidl +2 −2 Original line number Diff line number Diff line Loading @@ -123,8 +123,8 @@ interface IActivityManager { in IIntentReceiver receiver, in IntentFilter filter, in String requiredPermission, int userId, int flags); Intent registerReceiverWithFeature(in IApplicationThread caller, in String callerPackage, in String callingFeatureId, in IIntentReceiver receiver, in IntentFilter filter, in String requiredPermission, int userId, int flags); in String callingFeatureId, in String receiverId, in IIntentReceiver receiver, in IntentFilter filter, in String requiredPermission, int userId, int flags); @UnsupportedAppUsage void unregisterReceiver(in IIntentReceiver receiver); /** @deprecated Use {@link #broadcastIntentWithFeature} instead */ Loading services/core/java/com/android/server/am/ActivityManagerService.java +5 −5 Original line number Diff line number Diff line Loading @@ -14055,13 +14055,13 @@ public class ActivityManagerService extends IActivityManager.Stub public Intent registerReceiver(IApplicationThread caller, String callerPackage, IIntentReceiver receiver, IntentFilter filter, String permission, int userId, int flags) { return registerReceiverWithFeature(caller, callerPackage, null, receiver, filter, permission, userId, flags); return registerReceiverWithFeature(caller, callerPackage, null, null, receiver, filter, permission, userId, flags); } public Intent registerReceiverWithFeature(IApplicationThread caller, String callerPackage, String callerFeatureId, IIntentReceiver receiver, IntentFilter filter, String permission, int userId, int flags) { String callerFeatureId, String receiverId, IIntentReceiver receiver, IntentFilter filter, String permission, int userId, int flags) { enforceNotIsolatedCaller("registerReceiver"); ArrayList<Intent> stickyIntents = null; ProcessRecord callerApp = null; Loading Loading @@ -14198,7 +14198,7 @@ public class ActivityManagerService extends IActivityManager.Stub + " callerPackage is " + callerPackage); } BroadcastFilter bf = new BroadcastFilter(filter, rl, callerPackage, callerFeatureId, permission, callingUid, userId, instantApp, visibleToInstantApps); receiverId, permission, callingUid, userId, instantApp, visibleToInstantApps); if (rl.containsFilter(filter)) { Slog.w(TAG, "Receiver with filter " + filter + " already registered for pid " + rl.pid services/core/java/com/android/server/am/BroadcastFilter.java +4 −2 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ final class BroadcastFilter extends IntentFilter { final ReceiverList receiverList; final String packageName; final String featureId; final String receiverId; final String requiredPermission; final int owningUid; final int owningUserId; Loading @@ -35,12 +36,13 @@ final class BroadcastFilter extends IntentFilter { final boolean visibleToInstantApp; BroadcastFilter(IntentFilter _filter, ReceiverList _receiverList, String _packageName, String _featureId, String _requiredPermission, int _owningUid, int _userId, boolean _instantApp, boolean _visibleToInstantApp) { String _packageName, String _featureId, String _receiverId, String _requiredPermission, int _owningUid, int _userId, boolean _instantApp, boolean _visibleToInstantApp) { super(_filter); receiverList = _receiverList; packageName = _packageName; featureId = _featureId; receiverId = _receiverId; requiredPermission = _requiredPermission; owningUid = _owningUid; owningUserId = _userId; Loading Loading
core/java/android/app/AppOpsManager.java +4 −2 Original line number Diff line number Diff line Loading @@ -2657,8 +2657,10 @@ public class AppOpsManager { * @hide */ // TODO: this should probably be @SystemApi as well public static @NonNull String toReceiverId(@NonNull Object obj) { if (obj instanceof PendingIntent) { public static @NonNull String toReceiverId(@Nullable Object obj) { if (obj == null) { return "null"; } else if (obj instanceof PendingIntent) { return toReceiverId((PendingIntent) obj); } else { return obj.getClass().getName() + "@" + System.identityHashCode(obj); Loading
core/java/android/app/ContextImpl.java +3 −2 Original line number Diff line number Diff line Loading @@ -1624,8 +1624,9 @@ class ContextImpl extends Context { } try { final Intent intent = ActivityManager.getService().registerReceiverWithFeature( mMainThread.getApplicationThread(), mBasePackageName, getAttributionTag(), rd, filter, broadcastPermission, userId, flags); mMainThread.getApplicationThread(), mBasePackageName, getAttributionTag(), AppOpsManager.toReceiverId(receiver), rd, filter, broadcastPermission, userId, flags); if (intent != null) { intent.setExtrasClassLoader(getClassLoader()); intent.prepareToEnterProcess(); Loading
core/java/android/app/IActivityManager.aidl +2 −2 Original line number Diff line number Diff line Loading @@ -123,8 +123,8 @@ interface IActivityManager { in IIntentReceiver receiver, in IntentFilter filter, in String requiredPermission, int userId, int flags); Intent registerReceiverWithFeature(in IApplicationThread caller, in String callerPackage, in String callingFeatureId, in IIntentReceiver receiver, in IntentFilter filter, in String requiredPermission, int userId, int flags); in String callingFeatureId, in String receiverId, in IIntentReceiver receiver, in IntentFilter filter, in String requiredPermission, int userId, int flags); @UnsupportedAppUsage void unregisterReceiver(in IIntentReceiver receiver); /** @deprecated Use {@link #broadcastIntentWithFeature} instead */ Loading
services/core/java/com/android/server/am/ActivityManagerService.java +5 −5 Original line number Diff line number Diff line Loading @@ -14055,13 +14055,13 @@ public class ActivityManagerService extends IActivityManager.Stub public Intent registerReceiver(IApplicationThread caller, String callerPackage, IIntentReceiver receiver, IntentFilter filter, String permission, int userId, int flags) { return registerReceiverWithFeature(caller, callerPackage, null, receiver, filter, permission, userId, flags); return registerReceiverWithFeature(caller, callerPackage, null, null, receiver, filter, permission, userId, flags); } public Intent registerReceiverWithFeature(IApplicationThread caller, String callerPackage, String callerFeatureId, IIntentReceiver receiver, IntentFilter filter, String permission, int userId, int flags) { String callerFeatureId, String receiverId, IIntentReceiver receiver, IntentFilter filter, String permission, int userId, int flags) { enforceNotIsolatedCaller("registerReceiver"); ArrayList<Intent> stickyIntents = null; ProcessRecord callerApp = null; Loading Loading @@ -14198,7 +14198,7 @@ public class ActivityManagerService extends IActivityManager.Stub + " callerPackage is " + callerPackage); } BroadcastFilter bf = new BroadcastFilter(filter, rl, callerPackage, callerFeatureId, permission, callingUid, userId, instantApp, visibleToInstantApps); receiverId, permission, callingUid, userId, instantApp, visibleToInstantApps); if (rl.containsFilter(filter)) { Slog.w(TAG, "Receiver with filter " + filter + " already registered for pid " + rl.pid
services/core/java/com/android/server/am/BroadcastFilter.java +4 −2 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ final class BroadcastFilter extends IntentFilter { final ReceiverList receiverList; final String packageName; final String featureId; final String receiverId; final String requiredPermission; final int owningUid; final int owningUserId; Loading @@ -35,12 +36,13 @@ final class BroadcastFilter extends IntentFilter { final boolean visibleToInstantApp; BroadcastFilter(IntentFilter _filter, ReceiverList _receiverList, String _packageName, String _featureId, String _requiredPermission, int _owningUid, int _userId, boolean _instantApp, boolean _visibleToInstantApp) { String _packageName, String _featureId, String _receiverId, String _requiredPermission, int _owningUid, int _userId, boolean _instantApp, boolean _visibleToInstantApp) { super(_filter); receiverList = _receiverList; packageName = _packageName; featureId = _featureId; receiverId = _receiverId; requiredPermission = _requiredPermission; owningUid = _owningUid; owningUserId = _userId; Loading