summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Omar Eissa <oeissa@google.com> 2023-05-03 09:49:55 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2023-05-03 09:49:55 +0000
commit9a5003dbc88a355996b1c49546c0cc7857c15d4c (patch)
tree1008697f97d79eff8ff1a948da9e94c9195e3bbb
parent7db06f85038e597dd74c63ce8f0dd500644b7f75 (diff)
parent878e87d2c176a13089d427df3b5f8ec3ea6ecd1c (diff)
Merge "Support showing initial non stopped system packages" into udc-dev
-rw-r--r--core/java/android/content/pm/IPackageManager.aidl2
-rw-r--r--services/core/java/com/android/server/pm/PackageManagerService.java6
-rw-r--r--services/core/java/com/android/server/pm/PackageManagerShellCommand.java17
3 files changed, 25 insertions, 0 deletions
diff --git a/core/java/android/content/pm/IPackageManager.aidl b/core/java/android/content/pm/IPackageManager.aidl
index 1ba84c5aae19..d802b46f1fde 100644
--- a/core/java/android/content/pm/IPackageManager.aidl
+++ b/core/java/android/content/pm/IPackageManager.aidl
@@ -502,6 +502,8 @@ interface IPackageManager {
boolean hasSystemFeature(String name, int version);
+ List<String> getInitialNonStoppedSystemPackages();
+
void enterSafeMode();
@UnsupportedAppUsage
boolean isSafeMode();
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index b5108af6d2f8..f48204645d34 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -5258,6 +5258,12 @@ public class PackageManagerService implements PackageSender, TestUtilityService
}
@Override
+ public @NonNull List<String> getInitialNonStoppedSystemPackages() {
+ return mInitialNonStoppedSystemPackages != null
+ ? new ArrayList<>(mInitialNonStoppedSystemPackages) : new ArrayList<>();
+ }
+
+ @Override
public String[] getUnsuspendablePackagesForUser(String[] packageNames, int userId) {
Objects.requireNonNull(packageNames, "packageNames cannot be null");
mContext.enforceCallingOrSelfPermission(Manifest.permission.SUSPEND_APPS,
diff --git a/services/core/java/com/android/server/pm/PackageManagerShellCommand.java b/services/core/java/com/android/server/pm/PackageManagerShellCommand.java
index f78b611a70e3..58183f0bc16a 100644
--- a/services/core/java/com/android/server/pm/PackageManagerShellCommand.java
+++ b/services/core/java/com/android/server/pm/PackageManagerShellCommand.java
@@ -782,6 +782,8 @@ class PackageManagerShellCommand extends ShellCommand {
getInFileDescriptor(), getOutFileDescriptor(), getErrFileDescriptor(),
new String[] { "list" }, getShellCallback(), adoptResultReceiver());
return 0;
+ case "initial-non-stopped-system-packages":
+ return runListInitialNonStoppedSystemPackages();
}
pw.println("Error: unknown list type '" + type + "'");
return -1;
@@ -794,6 +796,21 @@ class PackageManagerShellCommand extends ShellCommand {
return 0;
}
+ private int runListInitialNonStoppedSystemPackages() throws RemoteException {
+ final PrintWriter pw = getOutPrintWriter();
+ final List<String> list = mInterface.getInitialNonStoppedSystemPackages();
+
+ Collections.sort(list);
+
+ for (String pkgName : list) {
+ pw.print("package:");
+ pw.print(pkgName);
+ pw.println();
+ }
+
+ return 0;
+ }
+
private int runListFeatures() throws RemoteException {
final PrintWriter pw = getOutPrintWriter();
final List<FeatureInfo> list = mInterface.getSystemAvailableFeatures().getList();