Loading core/api/test-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -1030,6 +1030,7 @@ package android.content { public abstract class Context { method @NonNull public java.io.File getCrateDir(@NonNull String); method public abstract int getDisplayId(); method @NonNull public java.util.List<android.content.IntentFilter> getRegisteredIntentFilters(@NonNull android.content.BroadcastReceiver); method @NonNull public android.os.UserHandle getUser(); method public int getUserId(); method public void setAutofillOptions(@Nullable android.content.AutofillOptions); Loading core/java/android/app/ContextImpl.java +18 −0 Original line number Diff line number Diff line Loading @@ -1962,6 +1962,24 @@ class ContextImpl extends Context { } } @Override @NonNull public List<IntentFilter> getRegisteredIntentFilters(@NonNull BroadcastReceiver receiver) { if (mPackageInfo != null) { IIntentReceiver rd = mPackageInfo.findRegisteredReceiverDispatcher( receiver, getOuterContext()); try { final List<IntentFilter> filters = ActivityManager.getService() .getRegisteredIntentFilters(rd); return filters == null ? new ArrayList<>() : filters; } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } } else { throw new RuntimeException("Not supported in system context"); } } private void validateServiceIntent(Intent service) { if (service.getComponent() == null && service.getPackage() == null) { if (getApplicationInfo().targetSdkVersion >= Build.VERSION_CODES.LOLLIPOP) { Loading core/java/android/app/IActivityManager.aidl +1 −0 Original line number Diff line number Diff line Loading @@ -181,6 +181,7 @@ interface IActivityManager { in IntentFilter filter, in String requiredPermission, int userId, int flags); @UnsupportedAppUsage void unregisterReceiver(in IIntentReceiver receiver); List<IntentFilter> getRegisteredIntentFilters(in IIntentReceiver receiver); /** @deprecated Use {@link #broadcastIntentWithFeature} instead */ @UnsupportedAppUsage(maxTargetSdk=29, publicAlternatives="Use {@link android.content.Context#sendBroadcast(android.content.Intent)} instead") int broadcastIntent(in IApplicationThread caller, in Intent intent, Loading core/java/android/app/LoadedApk.java +12 −0 Original line number Diff line number Diff line Loading @@ -1627,6 +1627,18 @@ public final class LoadedApk { } } IIntentReceiver findRegisteredReceiverDispatcher(BroadcastReceiver r, Context context) { synchronized (mReceivers) { final ArrayMap<BroadcastReceiver, LoadedApk.ReceiverDispatcher> map = mReceivers.get(context); if (map != null) { final LoadedApk.ReceiverDispatcher rd = map.get(r); return rd == null ? null : rd.getIIntentReceiver(); } return null; } } public IIntentReceiver forgetReceiverDispatcher(Context context, BroadcastReceiver r) { synchronized (mReceivers) { Loading core/java/android/content/Context.java +21 −0 Original line number Diff line number Diff line Loading @@ -3657,6 +3657,27 @@ public abstract class Context { */ public abstract void unregisterReceiver(BroadcastReceiver receiver); /** * Returns the list of {@link IntentFilter} objects that have been registered for the given * {@link BroadcastReceiver}. * * @param receiver The {@link BroadcastReceiver} whose registered intent filters * should be retrieved. * * @return A list of registered intent filters, or an empty list if the given receiver is not * registered. * * @throws NullPointerException if the {@code receiver} is {@code null}. * * @hide */ @SuppressLint("UnflaggedApi") // TestApi @TestApi @NonNull public List<IntentFilter> getRegisteredIntentFilters(@NonNull BroadcastReceiver receiver) { throw new RuntimeException("Not implemented. Must override in a subclass."); } /** * Request that a given application service be started. The Intent * should either contain the complete class name of a specific service Loading Loading
core/api/test-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -1030,6 +1030,7 @@ package android.content { public abstract class Context { method @NonNull public java.io.File getCrateDir(@NonNull String); method public abstract int getDisplayId(); method @NonNull public java.util.List<android.content.IntentFilter> getRegisteredIntentFilters(@NonNull android.content.BroadcastReceiver); method @NonNull public android.os.UserHandle getUser(); method public int getUserId(); method public void setAutofillOptions(@Nullable android.content.AutofillOptions); Loading
core/java/android/app/ContextImpl.java +18 −0 Original line number Diff line number Diff line Loading @@ -1962,6 +1962,24 @@ class ContextImpl extends Context { } } @Override @NonNull public List<IntentFilter> getRegisteredIntentFilters(@NonNull BroadcastReceiver receiver) { if (mPackageInfo != null) { IIntentReceiver rd = mPackageInfo.findRegisteredReceiverDispatcher( receiver, getOuterContext()); try { final List<IntentFilter> filters = ActivityManager.getService() .getRegisteredIntentFilters(rd); return filters == null ? new ArrayList<>() : filters; } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } } else { throw new RuntimeException("Not supported in system context"); } } private void validateServiceIntent(Intent service) { if (service.getComponent() == null && service.getPackage() == null) { if (getApplicationInfo().targetSdkVersion >= Build.VERSION_CODES.LOLLIPOP) { Loading
core/java/android/app/IActivityManager.aidl +1 −0 Original line number Diff line number Diff line Loading @@ -181,6 +181,7 @@ interface IActivityManager { in IntentFilter filter, in String requiredPermission, int userId, int flags); @UnsupportedAppUsage void unregisterReceiver(in IIntentReceiver receiver); List<IntentFilter> getRegisteredIntentFilters(in IIntentReceiver receiver); /** @deprecated Use {@link #broadcastIntentWithFeature} instead */ @UnsupportedAppUsage(maxTargetSdk=29, publicAlternatives="Use {@link android.content.Context#sendBroadcast(android.content.Intent)} instead") int broadcastIntent(in IApplicationThread caller, in Intent intent, Loading
core/java/android/app/LoadedApk.java +12 −0 Original line number Diff line number Diff line Loading @@ -1627,6 +1627,18 @@ public final class LoadedApk { } } IIntentReceiver findRegisteredReceiverDispatcher(BroadcastReceiver r, Context context) { synchronized (mReceivers) { final ArrayMap<BroadcastReceiver, LoadedApk.ReceiverDispatcher> map = mReceivers.get(context); if (map != null) { final LoadedApk.ReceiverDispatcher rd = map.get(r); return rd == null ? null : rd.getIIntentReceiver(); } return null; } } public IIntentReceiver forgetReceiverDispatcher(Context context, BroadcastReceiver r) { synchronized (mReceivers) { Loading
core/java/android/content/Context.java +21 −0 Original line number Diff line number Diff line Loading @@ -3657,6 +3657,27 @@ public abstract class Context { */ public abstract void unregisterReceiver(BroadcastReceiver receiver); /** * Returns the list of {@link IntentFilter} objects that have been registered for the given * {@link BroadcastReceiver}. * * @param receiver The {@link BroadcastReceiver} whose registered intent filters * should be retrieved. * * @return A list of registered intent filters, or an empty list if the given receiver is not * registered. * * @throws NullPointerException if the {@code receiver} is {@code null}. * * @hide */ @SuppressLint("UnflaggedApi") // TestApi @TestApi @NonNull public List<IntentFilter> getRegisteredIntentFilters(@NonNull BroadcastReceiver receiver) { throw new RuntimeException("Not implemented. Must override in a subclass."); } /** * Request that a given application service be started. The Intent * should either contain the complete class name of a specific service Loading