summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArvind Kumar <quic_c_karvin@quicinc.com>2022-04-07 08:56:17 +0530
committerArvind Kumar <quic_c_karvin@quicinc.com>2022-05-26 10:41:00 +0530
commitc88eb224fa9d2394af338cf0204c783c9f9b041e (patch)
tree8774057b394ad1613f4315ff011016a84bef1dfb
parent15d9159eb00fb7fd92f9dc249af588f655fd8f66 (diff)
Disable following application at runtime
Disable following application from installation at runtime for QSPA enabled targets. 1- SystemUI 2- Launcher 3- PrintSpooler 4- StatementService 5- Calendar CRs-Fixed: 3206324 Change-Id: Ifd2c172f2582deb57fb131a9cdeb1eba11a29cf5
-rw-r--r--services/core/java/com/android/server/pm/PackageManagerService.java22
1 files changed, 22 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index 70ecaa7a458c..3014b89651a1 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -896,6 +896,13 @@ public class PackageManagerService extends IPackageManager.Stub
final private HashMap<String, String> mPackagesToBeDisabled = new HashMap<>();
/**
+ * Tracks packages that need to be disabled for QSPA enabled taregts.
+ * List of packages path on the file system.
+ */
+ final private List<String> mPackagesPathToBeDisabledForQSPA = new ArrayList<String>();
+ final private boolean mQspaEnabled = SystemProperties.getBoolean("ro.config.qspa.apps", false);
+
+ /**
* Tracks new system packages [received in an OTA] that we expect to
* find updated user-installed versions. Keys are package name, values
* are package location.
@@ -7400,6 +7407,12 @@ public class PackageManagerService extends IPackageManager.Stub
readListOfPackagesToBeDisabled();
t.traceEnd();
+ mPackagesPathToBeDisabledForQSPA.add("/system_ext/priv-app/SystemUI");
+ mPackagesPathToBeDisabledForQSPA.add("/system_ext/priv-app/Launcher3QuickStep");
+ mPackagesPathToBeDisabledForQSPA.add("/system/app/PrintSpooler");
+ mPackagesPathToBeDisabledForQSPA.add("/system/priv-app/StatementService");
+ mPackagesPathToBeDisabledForQSPA.add("/product/app/Calendar");
+
// Create sub-components that provide services / data. Order here is important.
t.traceBegin("createSubComponents");
@@ -12061,6 +12074,15 @@ public class PackageManagerService extends IPackageManager.Stub
continue;
}
+ if (mQspaEnabled) {
+ if (mPackagesPathToBeDisabledForQSPA != null &&
+ mPackagesPathToBeDisabledForQSPA.contains(file.toString())) {
+ // Ignore entries contained in {@link #mPackagesPathToBeDisabledForQSPA}
+ Slog.d(TAG, "QSPA enabled ignoring package for install : " + file);
+ continue;
+ }
+ }
+
if (mPackagesToBeDisabled.values() != null &&
mPackagesToBeDisabled.values().contains(file.toString())) {
// Ignore entries contained in {@link #mPackagesToBeDisabled}