diff options
| author | 2018-11-08 13:13:54 +0900 | |
|---|---|---|
| committer | 2018-11-08 20:29:13 +0000 | |
| commit | c1246e6c364bbfef18d566f6b16f46ca1a5216c5 (patch) | |
| tree | 581fdf18356d1f556b0ab61c1163f46ee631ce1a | |
| parent | f517f971614315a68af3a5b6842787f9950d3d52 (diff) | |
Schematize vold system properties
Properties accessed across partitions are now schematized and will
become APIs to make explicit interfaces among partitions.
Bug: 117924132
Test: m -j
Change-Id: I8e04f643197b6c8a60cc38c6979e41c5de3469f5
(cherry picked from commit 0cf5fc1433ef113d33d40b62cfca9ce97de12a4b)
6 files changed, 14 insertions, 8 deletions
diff --git a/Android.bp b/Android.bp index 10b92f3189b3..8c9a14c2fb51 100644 --- a/Android.bp +++ b/Android.bp @@ -644,6 +644,8 @@ java_defaults { "core/java/com/android/server/DropboxLogTags.logtags", "core/java/org/chromium/arc/EventLogTags.logtags", + ":platform-properties", + ":framework-statslog-gen", ], diff --git a/core/java/android/os/storage/StorageManager.java b/core/java/android/os/storage/StorageManager.java index c91cda689703..21d93dfa1410 100644 --- a/core/java/android/os/storage/StorageManager.java +++ b/core/java/android/os/storage/StorageManager.java @@ -55,6 +55,7 @@ import android.os.ServiceManager; import android.os.ServiceManager.ServiceNotFoundException; import android.os.SystemProperties; import android.provider.Settings; +import android.sysprop.VoldProperties; import android.system.ErrnoException; import android.system.Os; import android.system.OsConstants; @@ -1491,7 +1492,7 @@ public class StorageManager { * framework, so no service needs to check for changes during their lifespan */ public static boolean isBlockEncrypting() { - final String state = SystemProperties.get("vold.encrypt_progress", ""); + final String state = VoldProperties.encrypt_progress().orElse(""); return !"".equalsIgnoreCase(state); } @@ -1507,7 +1508,7 @@ public class StorageManager { * framework, so no service needs to check for changes during their lifespan */ public static boolean inCryptKeeperBounce() { - final String status = SystemProperties.get("vold.decrypt"); + final String status = VoldProperties.decrypt().orElse(""); return "trigger_restart_min_framework".equals(status); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/EncryptionHelper.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/EncryptionHelper.java index 639e50cf4e58..9c099f91bc8d 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/EncryptionHelper.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/EncryptionHelper.java @@ -16,7 +16,7 @@ package com.android.systemui.statusbar.policy; -import android.os.SystemProperties; +import android.sysprop.VoldProperties; /** * Helper for determining whether the phone is decrypted yet. @@ -26,7 +26,7 @@ public class EncryptionHelper { public static final boolean IS_DATA_ENCRYPTED = isDataEncrypted(); private static boolean isDataEncrypted() { - String voldState = SystemProperties.get("vold.decrypt"); + String voldState = VoldProperties.decrypt().orElse(""); return "1".equals(voldState) || "trigger_restart_min_framework".equals(voldState); } } diff --git a/services/core/java/com/android/server/StorageManagerService.java b/services/core/java/com/android/server/StorageManagerService.java index 54c7d17d70a7..e3751405cd48 100644 --- a/services/core/java/com/android/server/StorageManagerService.java +++ b/services/core/java/com/android/server/StorageManagerService.java @@ -98,6 +98,7 @@ import android.os.storage.VolumeInfo; import android.os.storage.VolumeRecord; import android.provider.MediaStore; import android.provider.Settings; +import android.sysprop.VoldProperties; import android.text.TextUtils; import android.text.format.DateUtils; import android.util.ArrayMap; @@ -1016,7 +1017,7 @@ class StorageManagerService extends IStorageManager.Stub // On an encrypted device we can't see system properties yet, so pull // the system locale out of the mount service. - if ("".equals(SystemProperties.get("vold.encrypt_progress"))) { + if ("".equals(VoldProperties.encrypt_progress().orElse(""))) { copyLocaleFromMountService(); } } diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index c52df2d5db82..60f8dcfa4323 100644 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -275,6 +275,7 @@ import android.os.UserManager; import android.os.WorkSource; import android.os.storage.StorageManager; import android.provider.Settings; +import android.sysprop.VoldProperties; import android.text.TextUtils; import android.text.format.DateUtils; import android.text.style.SuggestionSpan; @@ -4778,8 +4779,8 @@ public class ActivityManagerService extends IActivityManager.Stub SystemProperties.set("sys.boot_completed", "1"); // And trigger dev.bootcomplete if we are not showing encryption progress - if (!"trigger_restart_min_framework".equals(SystemProperties.get("vold.decrypt")) - || "".equals(SystemProperties.get("vold.encrypt_progress"))) { + if (!"trigger_restart_min_framework".equals(VoldProperties.decrypt().orElse("")) + || "".equals(VoldProperties.encrypt_progress().orElse(""))) { SystemProperties.set("dev.bootcomplete", "1"); } mUserController.sendBootCompleted( diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java index e364e9a1d876..e62186aebe0c 100644 --- a/services/java/com/android/server/SystemServer.java +++ b/services/java/com/android/server/SystemServer.java @@ -55,6 +55,7 @@ import android.os.SystemProperties; import android.os.Trace; import android.os.UserHandle; import android.os.storage.IStorageManager; +import android.sysprop.VoldProperties; import android.util.DisplayMetrics; import android.util.EventLog; import android.util.Slog; @@ -655,7 +656,7 @@ public final class SystemServer { traceEnd(); // Only run "core" apps if we're encrypting the device. - String cryptState = SystemProperties.get("vold.decrypt"); + String cryptState = VoldProperties.decrypt().orElse(""); if (ENCRYPTING_STATE.equals(cryptState)) { Slog.w(TAG, "Detected encryption in progress - only parsing core apps"); mOnlyCore = true; |