summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Inseob Kim <inseob@google.com> 2018-11-08 13:13:54 +0900
committer Inseob Kim <inseob@google.com> 2018-11-08 20:29:13 +0000
commitc1246e6c364bbfef18d566f6b16f46ca1a5216c5 (patch)
tree581fdf18356d1f556b0ab61c1163f46ee631ce1a
parentf517f971614315a68af3a5b6842787f9950d3d52 (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)
-rw-r--r--Android.bp2
-rw-r--r--core/java/android/os/storage/StorageManager.java5
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/policy/EncryptionHelper.java4
-rw-r--r--services/core/java/com/android/server/StorageManagerService.java3
-rw-r--r--services/core/java/com/android/server/am/ActivityManagerService.java5
-rw-r--r--services/java/com/android/server/SystemServer.java3
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;