diff options
| author | 2019-04-26 13:06:22 +0100 | |
|---|---|---|
| committer | 2019-04-29 17:35:16 +0100 | |
| commit | 2ce84341de24a60d815506ce906ecf529fd02e7c (patch) | |
| tree | b1211ccaa6741df935027580b36e140b2284c898 | |
| parent | 87dbdeab7be5e7e82c6928987e684cc509c0d3bb (diff) | |
Use updatable sysprop to for enabling APEX mgmt
This should prevent unnecessary communication with apexd on devices that
don't support APEX package management.
Bug: 130623080
Test: CTS tests on marlin (no APEX support) and cuttlefish
Change-Id: Ic5fdb088aa1530b3c5aecbd5abd3d794a364c775
| -rw-r--r-- | Android.bp | 3 | ||||
| -rw-r--r-- | services/core/java/com/android/server/pm/ApexManager.java | 7 |
2 files changed, 4 insertions, 6 deletions
diff --git a/Android.bp b/Android.bp index 0fcc0d501a1d..abf95a8ebc58 100644 --- a/Android.bp +++ b/Android.bp @@ -687,6 +687,7 @@ java_defaults { "core/java/com/android/server/DropboxLogTags.logtags", "core/java/org/chromium/arc/EventLogTags.logtags", + ":apex-properties", ":platform-properties", ":framework-statslog-gen", @@ -1834,4 +1835,4 @@ aidl_mapping { name: "framework-aidl-mappings", srcs: [":framework-defaults"], output: "framework-aidl-mappings.txt" -}
\ No newline at end of file +} diff --git a/services/core/java/com/android/server/pm/ApexManager.java b/services/core/java/com/android/server/pm/ApexManager.java index 21b6f12b6f8b..5430f4c8daa0 100644 --- a/services/core/java/com/android/server/pm/ApexManager.java +++ b/services/core/java/com/android/server/pm/ApexManager.java @@ -33,6 +33,7 @@ import android.content.pm.PackageParser.PackageParserException; import android.os.RemoteException; import android.os.ServiceManager; import android.os.ServiceManager.ServiceNotFoundException; +import android.sysprop.ApexProperties; import android.util.Slog; import com.android.internal.annotations.GuardedBy; @@ -237,11 +238,7 @@ class ApexManager { * @return true if APEX packages can be managed on this device, false otherwise. */ boolean isApexSupported() { - populateActivePackagesCacheIfNeeded(); - // There is no system-wide property available to check if APEX are flattened and hence can't - // be updated. In absence of such property, we assume that if we didn't index APEX packages - // since they were flattened, no APEX management should be possible. - return !mActivePackagesCache.isEmpty(); + return ApexProperties.updatable().orElse(false); } /** |