Loading apex/jobscheduler/service/java/com/android/server/job/controllers/BackgroundJobsController.java +3 −2 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.pm.PackageManager; import android.content.pm.PackageManagerInternal; import android.os.SystemClock; import android.os.UserHandle; Loading Loading @@ -319,8 +320,8 @@ public final class BackgroundJobsController extends StateController { final boolean isStopped = mPackageManagerInternal.isPackageStopped(packageName, uid); mPackageStoppedState.add(uid, packageName, isStopped); return isStopped; } catch (IllegalArgumentException e) { Slog.d(TAG, "Couldn't determine stopped state for unknown package: " + packageName); } catch (PackageManager.NameNotFoundException e) { Slog.e(TAG, "Couldn't determine stopped state for unknown package: " + packageName); return false; } } Loading services/core/java/android/content/pm/PackageManagerInternal.java +8 −3 Original line number Diff line number Diff line Loading @@ -1426,14 +1426,19 @@ public abstract class PackageManagerInternal { /** * Checks if package is quarantined for a specific user. * * @throws PackageManager.NameNotFoundException if the package is not found */ public abstract boolean isPackageQuarantined(@NonNull String packageName, @UserIdInt int userId); public abstract boolean isPackageQuarantined(@NonNull String packageName, @UserIdInt int userId) throws PackageManager.NameNotFoundException; /** * Checks if package is stopped for a specific user. * * @throws PackageManager.NameNotFoundException if the package is not found */ public abstract boolean isPackageStopped(@NonNull String packageName, @UserIdInt int userId); public abstract boolean isPackageStopped(@NonNull String packageName, @UserIdInt int userId) throws PackageManager.NameNotFoundException; /** * Sends the PACKAGE_RESTARTED broadcast. Loading services/core/java/com/android/server/content/SyncManager.java +2 −2 Original line number Diff line number Diff line Loading @@ -1294,8 +1294,8 @@ public class SyncManager { if (android.content.pm.Flags.stayStopped()) { try { return mPackageManagerInternal.isPackageStopped(packageName, userId); } catch (IllegalArgumentException e) { Log.d(TAG, "Couldn't determine stopped state for unknown package: " + packageName); } catch (NameNotFoundException e) { Log.e(TAG, "Couldn't determine stopped state for unknown package: " + packageName); } } return false; Loading services/core/java/com/android/server/pm/Computer.java +6 −3 Original line number Diff line number Diff line Loading @@ -508,12 +508,15 @@ public interface Computer extends PackageDataSnapshot { boolean getApplicationHiddenSettingAsUser(@NonNull String packageName, @UserIdInt int userId); boolean isPackageSuspendedForUser(@NonNull String packageName, @UserIdInt int userId); boolean isPackageSuspendedForUser(@NonNull String packageName, @UserIdInt int userId) throws PackageManager.NameNotFoundException; boolean isPackageQuarantinedForUser(@NonNull String packageName, @UserIdInt int userId); boolean isPackageQuarantinedForUser(@NonNull String packageName, @UserIdInt int userId) throws PackageManager.NameNotFoundException; /** Check if the package is in a stopped state for a given user. */ boolean isPackageStoppedForUser(@NonNull String packageName, @UserIdInt int userId); boolean isPackageStoppedForUser(@NonNull String packageName, @UserIdInt int userId) throws PackageManager.NameNotFoundException; boolean isSuspendingAnyPackages(@NonNull String suspendingPackage, @UserIdInt int userId); Loading services/core/java/com/android/server/pm/ComputerEngine.java +12 −9 Original line number Diff line number Diff line Loading @@ -4980,31 +4980,34 @@ public class ComputerEngine implements Computer { } } private PackageUserStateInternal getUserStageOrDefaultForUser(@NonNull String packageName, int userId) { private PackageUserStateInternal getUserStateOrDefaultForUser(@NonNull String packageName, int userId) throws PackageManager.NameNotFoundException { final int callingUid = Binder.getCallingUid(); enforceCrossUserPermission(callingUid, userId, true /* requireFullPermission */, false /* checkShell */, "when asking about packages for user " + userId); final PackageStateInternal ps = mSettings.getPackage(packageName); if (ps == null || shouldFilterApplicationIncludingUninstalled(ps, callingUid, userId)) { throw new IllegalArgumentException("Unknown target package: " + packageName); throw new PackageManager.NameNotFoundException(packageName); } return ps.getUserStateOrDefault(userId); } @Override public boolean isPackageSuspendedForUser(@NonNull String packageName, int userId) { return getUserStageOrDefaultForUser(packageName, userId).isSuspended(); public boolean isPackageSuspendedForUser(@NonNull String packageName, int userId) throws PackageManager.NameNotFoundException { return getUserStateOrDefaultForUser(packageName, userId).isSuspended(); } @Override public boolean isPackageQuarantinedForUser(@NonNull String packageName, @UserIdInt int userId) { return getUserStageOrDefaultForUser(packageName, userId).isQuarantined(); public boolean isPackageQuarantinedForUser(@NonNull String packageName, @UserIdInt int userId) throws PackageManager.NameNotFoundException { return getUserStateOrDefaultForUser(packageName, userId).isQuarantined(); } @Override public boolean isPackageStoppedForUser(@NonNull String packageName, @UserIdInt int userId) { return getUserStageOrDefaultForUser(packageName, userId).isStopped(); public boolean isPackageStoppedForUser(@NonNull String packageName, @UserIdInt int userId) throws PackageManager.NameNotFoundException { return getUserStateOrDefaultForUser(packageName, userId).isStopped(); } @Override Loading Loading
apex/jobscheduler/service/java/com/android/server/job/controllers/BackgroundJobsController.java +3 −2 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.pm.PackageManager; import android.content.pm.PackageManagerInternal; import android.os.SystemClock; import android.os.UserHandle; Loading Loading @@ -319,8 +320,8 @@ public final class BackgroundJobsController extends StateController { final boolean isStopped = mPackageManagerInternal.isPackageStopped(packageName, uid); mPackageStoppedState.add(uid, packageName, isStopped); return isStopped; } catch (IllegalArgumentException e) { Slog.d(TAG, "Couldn't determine stopped state for unknown package: " + packageName); } catch (PackageManager.NameNotFoundException e) { Slog.e(TAG, "Couldn't determine stopped state for unknown package: " + packageName); return false; } } Loading
services/core/java/android/content/pm/PackageManagerInternal.java +8 −3 Original line number Diff line number Diff line Loading @@ -1426,14 +1426,19 @@ public abstract class PackageManagerInternal { /** * Checks if package is quarantined for a specific user. * * @throws PackageManager.NameNotFoundException if the package is not found */ public abstract boolean isPackageQuarantined(@NonNull String packageName, @UserIdInt int userId); public abstract boolean isPackageQuarantined(@NonNull String packageName, @UserIdInt int userId) throws PackageManager.NameNotFoundException; /** * Checks if package is stopped for a specific user. * * @throws PackageManager.NameNotFoundException if the package is not found */ public abstract boolean isPackageStopped(@NonNull String packageName, @UserIdInt int userId); public abstract boolean isPackageStopped(@NonNull String packageName, @UserIdInt int userId) throws PackageManager.NameNotFoundException; /** * Sends the PACKAGE_RESTARTED broadcast. Loading
services/core/java/com/android/server/content/SyncManager.java +2 −2 Original line number Diff line number Diff line Loading @@ -1294,8 +1294,8 @@ public class SyncManager { if (android.content.pm.Flags.stayStopped()) { try { return mPackageManagerInternal.isPackageStopped(packageName, userId); } catch (IllegalArgumentException e) { Log.d(TAG, "Couldn't determine stopped state for unknown package: " + packageName); } catch (NameNotFoundException e) { Log.e(TAG, "Couldn't determine stopped state for unknown package: " + packageName); } } return false; Loading
services/core/java/com/android/server/pm/Computer.java +6 −3 Original line number Diff line number Diff line Loading @@ -508,12 +508,15 @@ public interface Computer extends PackageDataSnapshot { boolean getApplicationHiddenSettingAsUser(@NonNull String packageName, @UserIdInt int userId); boolean isPackageSuspendedForUser(@NonNull String packageName, @UserIdInt int userId); boolean isPackageSuspendedForUser(@NonNull String packageName, @UserIdInt int userId) throws PackageManager.NameNotFoundException; boolean isPackageQuarantinedForUser(@NonNull String packageName, @UserIdInt int userId); boolean isPackageQuarantinedForUser(@NonNull String packageName, @UserIdInt int userId) throws PackageManager.NameNotFoundException; /** Check if the package is in a stopped state for a given user. */ boolean isPackageStoppedForUser(@NonNull String packageName, @UserIdInt int userId); boolean isPackageStoppedForUser(@NonNull String packageName, @UserIdInt int userId) throws PackageManager.NameNotFoundException; boolean isSuspendingAnyPackages(@NonNull String suspendingPackage, @UserIdInt int userId); Loading
services/core/java/com/android/server/pm/ComputerEngine.java +12 −9 Original line number Diff line number Diff line Loading @@ -4980,31 +4980,34 @@ public class ComputerEngine implements Computer { } } private PackageUserStateInternal getUserStageOrDefaultForUser(@NonNull String packageName, int userId) { private PackageUserStateInternal getUserStateOrDefaultForUser(@NonNull String packageName, int userId) throws PackageManager.NameNotFoundException { final int callingUid = Binder.getCallingUid(); enforceCrossUserPermission(callingUid, userId, true /* requireFullPermission */, false /* checkShell */, "when asking about packages for user " + userId); final PackageStateInternal ps = mSettings.getPackage(packageName); if (ps == null || shouldFilterApplicationIncludingUninstalled(ps, callingUid, userId)) { throw new IllegalArgumentException("Unknown target package: " + packageName); throw new PackageManager.NameNotFoundException(packageName); } return ps.getUserStateOrDefault(userId); } @Override public boolean isPackageSuspendedForUser(@NonNull String packageName, int userId) { return getUserStageOrDefaultForUser(packageName, userId).isSuspended(); public boolean isPackageSuspendedForUser(@NonNull String packageName, int userId) throws PackageManager.NameNotFoundException { return getUserStateOrDefaultForUser(packageName, userId).isSuspended(); } @Override public boolean isPackageQuarantinedForUser(@NonNull String packageName, @UserIdInt int userId) { return getUserStageOrDefaultForUser(packageName, userId).isQuarantined(); public boolean isPackageQuarantinedForUser(@NonNull String packageName, @UserIdInt int userId) throws PackageManager.NameNotFoundException { return getUserStateOrDefaultForUser(packageName, userId).isQuarantined(); } @Override public boolean isPackageStoppedForUser(@NonNull String packageName, @UserIdInt int userId) { return getUserStageOrDefaultForUser(packageName, userId).isStopped(); public boolean isPackageStoppedForUser(@NonNull String packageName, @UserIdInt int userId) throws PackageManager.NameNotFoundException { return getUserStateOrDefaultForUser(packageName, userId).isStopped(); } @Override Loading