Loading core/java/android/content/om/OverlayManager.java +12 −8 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.annotation.NonNull; import android.annotation.NonUiContext; import android.annotation.Nullable; import android.annotation.RequiresPermission; import android.annotation.SpecialUsers.CanBeCURRENT; import android.annotation.SuppressLint; import android.annotation.SystemApi; import android.annotation.SystemService; Loading Loading @@ -169,8 +170,9 @@ public class OverlayManager { "android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL" }) public void setEnabledExclusiveInCategory(@NonNull final String packageName, @NonNull UserHandle user) throws SecurityException, IllegalStateException { public void setEnabledExclusiveInCategory( @NonNull final String packageName, @NonNull @CanBeCURRENT UserHandle user) throws SecurityException, IllegalStateException { try { if (!mService.setEnabledExclusiveInCategory(packageName, user.getIdentifier())) { throw new IllegalStateException("setEnabledExclusiveInCategory failed"); Loading Loading @@ -205,7 +207,8 @@ public class OverlayManager { "android.permission.INTERACT_ACROSS_USERS_FULL" }) public void setEnabled(@NonNull final String packageName, final boolean enable, @NonNull UserHandle user) throws SecurityException, IllegalStateException { @NonNull @CanBeCURRENT UserHandle user) throws SecurityException, IllegalStateException { try { if (!mService.setEnabled(packageName, enable, user.getIdentifier())) { throw new IllegalStateException("setEnabled failed"); Loading Loading @@ -240,7 +243,8 @@ public class OverlayManager { "android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL" }) public void enableWithConstraints(@NonNull final String packageName, @NonNull UserHandle user, public void enableWithConstraints(@NonNull final String packageName, @NonNull @CanBeCURRENT UserHandle user, @Nullable final List<OverlayConstraint> constraints) throws SecurityException, IllegalStateException { try { Loading Loading @@ -268,7 +272,7 @@ public class OverlayManager { @SystemApi @Nullable public OverlayInfo getOverlayInfo(@NonNull final String packageName, @NonNull final UserHandle userHandle) { final @NonNull @CanBeCURRENT UserHandle userHandle) { try { return mService.getOverlayInfo(packageName, userHandle.getIdentifier()); } catch (RemoteException e) { Loading @@ -287,7 +291,7 @@ public class OverlayManager { */ @Nullable public OverlayInfo getOverlayInfo(@NonNull final OverlayIdentifier overlay, @NonNull final UserHandle userHandle) { final @NonNull @CanBeCURRENT UserHandle userHandle) { try { return mService.getOverlayInfoByIdentifier(overlay, userHandle.getIdentifier()); } catch (RemoteException e) { Loading @@ -314,7 +318,7 @@ public class OverlayManager { }) @NonNull public List<OverlayInfo> getOverlayInfosForTarget(@NonNull final String targetPackageName, @NonNull UserHandle user) { @NonNull @CanBeCURRENT UserHandle user) { try { return mService.getOverlayInfosForTarget(targetPackageName, user.getIdentifier()); } catch (RemoteException e) { Loading @@ -335,7 +339,7 @@ public class OverlayManager { "android.permission.INTERACT_ACROSS_USERS", }) public void invalidateCachesForOverlay(@NonNull final String targetPackageName, @NonNull UserHandle user) { @NonNull @CanBeCURRENT UserHandle user) { try { mService.invalidateCachesForOverlay(targetPackageName, user.getIdentifier()); } catch (RemoteException e) { Loading services/core/java/com/android/server/om/OverlayManagerService.java +24 −14 Original line number Diff line number Diff line Loading @@ -37,6 +37,8 @@ import static com.android.server.om.OverlayManagerServiceImpl.OperationFailedExc import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.SpecialUsers.CanBeCURRENT; import android.annotation.SpecialUsers.CannotBeSpecialUser; import android.annotation.UserIdInt; import android.app.ActivityManager; import android.app.ActivityManagerInternal; Loading Loading @@ -416,7 +418,8 @@ public final class OverlayManagerService extends SystemService { * @param userId the user to interact with * @param message message for any SecurityException */ static int handleIncomingUser(final int userId, @NonNull final String message) { static @CannotBeSpecialUser @UserIdInt int handleIncomingUser( final @CanBeCURRENT @UserIdInt int userId, @NonNull final String message) { return ActivityManager.handleIncomingUser(Binder.getCallingPid(), Binder.getCallingUid(), userId, false, true, message, null); } Loading Loading @@ -613,7 +616,8 @@ public final class OverlayManagerService extends SystemService { private final IBinder mService = new IOverlayManager.Stub() { @Override public Map<String, List<OverlayInfo>> getAllOverlays(final int userIdArg) { public Map<String, List<OverlayInfo>> getAllOverlays( final @CanBeCURRENT @UserIdInt int userIdArg) { try { traceBegin(TRACE_TAG_RRO, "OMS#getAllOverlays " + userIdArg); final int realUserId = handleIncomingUser(userIdArg, "getAllOverlays"); Loading @@ -628,7 +632,7 @@ public final class OverlayManagerService extends SystemService { @Override public List<OverlayInfo> getOverlayInfosForTarget(@Nullable final String targetPackageName, final int userIdArg) { final @CanBeCURRENT @UserIdInt int userIdArg) { if (targetPackageName == null) { return Collections.emptyList(); } Loading @@ -647,13 +651,13 @@ public final class OverlayManagerService extends SystemService { @Override public OverlayInfo getOverlayInfo(@Nullable final String packageName, final int userIdArg) { final @CanBeCURRENT @UserIdInt int userIdArg) { return getOverlayInfoByIdentifier(new OverlayIdentifier(packageName), userIdArg); } @Override public OverlayInfo getOverlayInfoByIdentifier(@Nullable final OverlayIdentifier overlay, final int userIdArg) { final @CanBeCURRENT @UserIdInt int userIdArg) { if (overlay == null || overlay.getPackageName() == null) { return null; } Loading @@ -672,19 +676,21 @@ public final class OverlayManagerService extends SystemService { @Override public boolean setEnabled(@Nullable final String packageName, final boolean enable, int userIdArg) { @CanBeCURRENT @UserIdInt int userIdArg) { return setEnabled(packageName, enable, userIdArg, Collections.emptyList() /* constraints */); } @Override public boolean enableWithConstraints(@Nullable final String packageName, int userIdArg, public boolean enableWithConstraints(@Nullable final String packageName, @CanBeCURRENT @UserIdInt int userIdArg, @NonNull final List<OverlayConstraint> constraints) { return setEnabled(packageName, true /* enable */, userIdArg, constraints); } private boolean setEnabled(@Nullable final String packageName, final boolean enable, int userIdArg, @NonNull final List<OverlayConstraint> constraints) { @CanBeCURRENT @UserIdInt int userIdArg, @NonNull final List<OverlayConstraint> constraints) { if (packageName == null) { return false; } Loading Loading @@ -717,7 +723,7 @@ public final class OverlayManagerService extends SystemService { @Override public boolean setEnabledExclusive(@Nullable final String packageName, final boolean enable, int userIdArg) { @CanBeCURRENT @UserIdInt int userIdArg) { if (packageName == null || !enable) { return false; } Loading Loading @@ -752,7 +758,7 @@ public final class OverlayManagerService extends SystemService { @Override public boolean setEnabledExclusiveInCategory(@Nullable String packageName, final int userIdArg) { final @CanBeCURRENT @UserIdInt int userIdArg) { if (packageName == null) { return false; } Loading Loading @@ -787,7 +793,8 @@ public final class OverlayManagerService extends SystemService { @Override public boolean setPriority(@Nullable final String packageName, @Nullable final String parentPackageName, final int userIdArg) { @Nullable final String parentPackageName, final @CanBeCURRENT @UserIdInt int userIdArg) { if (packageName == null || parentPackageName == null) { return false; } Loading Loading @@ -821,7 +828,8 @@ public final class OverlayManagerService extends SystemService { } @Override public boolean setHighestPriority(@Nullable final String packageName, final int userIdArg) { public boolean setHighestPriority(@Nullable final String packageName, final @CanBeCURRENT @UserIdInt int userIdArg) { if (packageName == null) { return false; } Loading Loading @@ -853,7 +861,8 @@ public final class OverlayManagerService extends SystemService { } @Override public boolean setLowestPriority(@Nullable final String packageName, final int userIdArg) { public boolean setLowestPriority(@Nullable final String packageName, final @CanBeCURRENT @UserIdInt int userIdArg) { if (packageName == null) { return false; } Loading Loading @@ -905,7 +914,8 @@ public final class OverlayManagerService extends SystemService { } @Override public void invalidateCachesForOverlay(@Nullable String packageName, final int userIdArg) { public void invalidateCachesForOverlay(@Nullable String packageName, final @CanBeCURRENT @UserIdInt int userIdArg) { if (packageName == null) { return; } Loading Loading
core/java/android/content/om/OverlayManager.java +12 −8 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.annotation.NonNull; import android.annotation.NonUiContext; import android.annotation.Nullable; import android.annotation.RequiresPermission; import android.annotation.SpecialUsers.CanBeCURRENT; import android.annotation.SuppressLint; import android.annotation.SystemApi; import android.annotation.SystemService; Loading Loading @@ -169,8 +170,9 @@ public class OverlayManager { "android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL" }) public void setEnabledExclusiveInCategory(@NonNull final String packageName, @NonNull UserHandle user) throws SecurityException, IllegalStateException { public void setEnabledExclusiveInCategory( @NonNull final String packageName, @NonNull @CanBeCURRENT UserHandle user) throws SecurityException, IllegalStateException { try { if (!mService.setEnabledExclusiveInCategory(packageName, user.getIdentifier())) { throw new IllegalStateException("setEnabledExclusiveInCategory failed"); Loading Loading @@ -205,7 +207,8 @@ public class OverlayManager { "android.permission.INTERACT_ACROSS_USERS_FULL" }) public void setEnabled(@NonNull final String packageName, final boolean enable, @NonNull UserHandle user) throws SecurityException, IllegalStateException { @NonNull @CanBeCURRENT UserHandle user) throws SecurityException, IllegalStateException { try { if (!mService.setEnabled(packageName, enable, user.getIdentifier())) { throw new IllegalStateException("setEnabled failed"); Loading Loading @@ -240,7 +243,8 @@ public class OverlayManager { "android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL" }) public void enableWithConstraints(@NonNull final String packageName, @NonNull UserHandle user, public void enableWithConstraints(@NonNull final String packageName, @NonNull @CanBeCURRENT UserHandle user, @Nullable final List<OverlayConstraint> constraints) throws SecurityException, IllegalStateException { try { Loading Loading @@ -268,7 +272,7 @@ public class OverlayManager { @SystemApi @Nullable public OverlayInfo getOverlayInfo(@NonNull final String packageName, @NonNull final UserHandle userHandle) { final @NonNull @CanBeCURRENT UserHandle userHandle) { try { return mService.getOverlayInfo(packageName, userHandle.getIdentifier()); } catch (RemoteException e) { Loading @@ -287,7 +291,7 @@ public class OverlayManager { */ @Nullable public OverlayInfo getOverlayInfo(@NonNull final OverlayIdentifier overlay, @NonNull final UserHandle userHandle) { final @NonNull @CanBeCURRENT UserHandle userHandle) { try { return mService.getOverlayInfoByIdentifier(overlay, userHandle.getIdentifier()); } catch (RemoteException e) { Loading @@ -314,7 +318,7 @@ public class OverlayManager { }) @NonNull public List<OverlayInfo> getOverlayInfosForTarget(@NonNull final String targetPackageName, @NonNull UserHandle user) { @NonNull @CanBeCURRENT UserHandle user) { try { return mService.getOverlayInfosForTarget(targetPackageName, user.getIdentifier()); } catch (RemoteException e) { Loading @@ -335,7 +339,7 @@ public class OverlayManager { "android.permission.INTERACT_ACROSS_USERS", }) public void invalidateCachesForOverlay(@NonNull final String targetPackageName, @NonNull UserHandle user) { @NonNull @CanBeCURRENT UserHandle user) { try { mService.invalidateCachesForOverlay(targetPackageName, user.getIdentifier()); } catch (RemoteException e) { Loading
services/core/java/com/android/server/om/OverlayManagerService.java +24 −14 Original line number Diff line number Diff line Loading @@ -37,6 +37,8 @@ import static com.android.server.om.OverlayManagerServiceImpl.OperationFailedExc import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.SpecialUsers.CanBeCURRENT; import android.annotation.SpecialUsers.CannotBeSpecialUser; import android.annotation.UserIdInt; import android.app.ActivityManager; import android.app.ActivityManagerInternal; Loading Loading @@ -416,7 +418,8 @@ public final class OverlayManagerService extends SystemService { * @param userId the user to interact with * @param message message for any SecurityException */ static int handleIncomingUser(final int userId, @NonNull final String message) { static @CannotBeSpecialUser @UserIdInt int handleIncomingUser( final @CanBeCURRENT @UserIdInt int userId, @NonNull final String message) { return ActivityManager.handleIncomingUser(Binder.getCallingPid(), Binder.getCallingUid(), userId, false, true, message, null); } Loading Loading @@ -613,7 +616,8 @@ public final class OverlayManagerService extends SystemService { private final IBinder mService = new IOverlayManager.Stub() { @Override public Map<String, List<OverlayInfo>> getAllOverlays(final int userIdArg) { public Map<String, List<OverlayInfo>> getAllOverlays( final @CanBeCURRENT @UserIdInt int userIdArg) { try { traceBegin(TRACE_TAG_RRO, "OMS#getAllOverlays " + userIdArg); final int realUserId = handleIncomingUser(userIdArg, "getAllOverlays"); Loading @@ -628,7 +632,7 @@ public final class OverlayManagerService extends SystemService { @Override public List<OverlayInfo> getOverlayInfosForTarget(@Nullable final String targetPackageName, final int userIdArg) { final @CanBeCURRENT @UserIdInt int userIdArg) { if (targetPackageName == null) { return Collections.emptyList(); } Loading @@ -647,13 +651,13 @@ public final class OverlayManagerService extends SystemService { @Override public OverlayInfo getOverlayInfo(@Nullable final String packageName, final int userIdArg) { final @CanBeCURRENT @UserIdInt int userIdArg) { return getOverlayInfoByIdentifier(new OverlayIdentifier(packageName), userIdArg); } @Override public OverlayInfo getOverlayInfoByIdentifier(@Nullable final OverlayIdentifier overlay, final int userIdArg) { final @CanBeCURRENT @UserIdInt int userIdArg) { if (overlay == null || overlay.getPackageName() == null) { return null; } Loading @@ -672,19 +676,21 @@ public final class OverlayManagerService extends SystemService { @Override public boolean setEnabled(@Nullable final String packageName, final boolean enable, int userIdArg) { @CanBeCURRENT @UserIdInt int userIdArg) { return setEnabled(packageName, enable, userIdArg, Collections.emptyList() /* constraints */); } @Override public boolean enableWithConstraints(@Nullable final String packageName, int userIdArg, public boolean enableWithConstraints(@Nullable final String packageName, @CanBeCURRENT @UserIdInt int userIdArg, @NonNull final List<OverlayConstraint> constraints) { return setEnabled(packageName, true /* enable */, userIdArg, constraints); } private boolean setEnabled(@Nullable final String packageName, final boolean enable, int userIdArg, @NonNull final List<OverlayConstraint> constraints) { @CanBeCURRENT @UserIdInt int userIdArg, @NonNull final List<OverlayConstraint> constraints) { if (packageName == null) { return false; } Loading Loading @@ -717,7 +723,7 @@ public final class OverlayManagerService extends SystemService { @Override public boolean setEnabledExclusive(@Nullable final String packageName, final boolean enable, int userIdArg) { @CanBeCURRENT @UserIdInt int userIdArg) { if (packageName == null || !enable) { return false; } Loading Loading @@ -752,7 +758,7 @@ public final class OverlayManagerService extends SystemService { @Override public boolean setEnabledExclusiveInCategory(@Nullable String packageName, final int userIdArg) { final @CanBeCURRENT @UserIdInt int userIdArg) { if (packageName == null) { return false; } Loading Loading @@ -787,7 +793,8 @@ public final class OverlayManagerService extends SystemService { @Override public boolean setPriority(@Nullable final String packageName, @Nullable final String parentPackageName, final int userIdArg) { @Nullable final String parentPackageName, final @CanBeCURRENT @UserIdInt int userIdArg) { if (packageName == null || parentPackageName == null) { return false; } Loading Loading @@ -821,7 +828,8 @@ public final class OverlayManagerService extends SystemService { } @Override public boolean setHighestPriority(@Nullable final String packageName, final int userIdArg) { public boolean setHighestPriority(@Nullable final String packageName, final @CanBeCURRENT @UserIdInt int userIdArg) { if (packageName == null) { return false; } Loading Loading @@ -853,7 +861,8 @@ public final class OverlayManagerService extends SystemService { } @Override public boolean setLowestPriority(@Nullable final String packageName, final int userIdArg) { public boolean setLowestPriority(@Nullable final String packageName, final @CanBeCURRENT @UserIdInt int userIdArg) { if (packageName == null) { return false; } Loading Loading @@ -905,7 +914,8 @@ public final class OverlayManagerService extends SystemService { } @Override public void invalidateCachesForOverlay(@Nullable String packageName, final int userIdArg) { public void invalidateCachesForOverlay(@Nullable String packageName, final @CanBeCURRENT @UserIdInt int userIdArg) { if (packageName == null) { return; } Loading