Revert "Revert "Schematize vold system properties""

This reverts commit 49e81e0eeac13b1edcd4c8f51c48dafae6336d11.

Reason for revert: Fixed breakage

Change-Id: I414b753a218d9baf3d24530ff14df7644eb148e0
Merged-In: Id2a696c621015d46015d5de0e7aef987e9e01b54
diff --git a/src/com/android/settings/CryptKeeper.java b/src/com/android/settings/CryptKeeper.java
index 1f331d7..ca54b07 100644
--- a/src/com/android/settings/CryptKeeper.java
+++ b/src/com/android/settings/CryptKeeper.java
@@ -33,11 +33,11 @@
 import android.os.PowerManager;
 import android.os.RemoteException;
 import android.os.ServiceManager;
-import android.os.SystemProperties;
 import android.os.UserHandle;
 import android.os.storage.IStorageManager;
 import android.os.storage.StorageManager;
 import android.provider.Settings;
+import android.sysprop.VoldProperties;
 import android.telecom.TelecomManager;
 import android.telephony.TelephonyManager;
 import android.text.Editable;
@@ -400,7 +400,7 @@
         super.onCreate(savedInstanceState);
 
         // If we are not encrypted or encrypting, get out quickly.
-        final String state = SystemProperties.get("vold.decrypt");
+        final String state = VoldProperties.decrypt().orElse("");
         if (!isDebugView() && ("".equals(state) || DECRYPT_STATE.equals(state))) {
             disableCryptKeeperComponent(this);
             // Typically CryptKeeper is launched as the home app.  We didn't
@@ -468,7 +468,7 @@
             return;
         }
 
-        final String progress = SystemProperties.get("vold.encrypt_progress");
+        final String progress = VoldProperties.encrypt_progress().orElse("");
         if (!"".equals(progress) || isDebugView(FORCE_VIEW_PROGRESS)) {
             setContentView(R.layout.crypt_keeper_progress);
             encryptionProgressInit();
@@ -636,7 +636,7 @@
     }
 
     private void updateProgress() {
-        final String state = SystemProperties.get("vold.encrypt_progress");
+        final String state = VoldProperties.encrypt_progress().orElse("");
 
         if ("error_partially_encrypted".equals(state)) {
             showFactoryReset(false);
@@ -657,8 +657,7 @@
         // Now try to get status as time remaining and replace as appropriate
         Log.v(TAG, "Encryption progress: " + progress);
         try {
-            final String timeProperty = SystemProperties.get("vold.encrypt_time_remaining");
-            int time = Integer.parseInt(timeProperty);
+            int time = VoldProperties.encrypt_time_remaining().get();
             if (time >= 0) {
                 // Round up to multiple of 10 - this way display is less jerky
                 time = (time + 9) / 10 * 10;
diff --git a/src/com/android/settings/MasterClear.java b/src/com/android/settings/MasterClear.java
index a7da416..182081c 100644
--- a/src/com/android/settings/MasterClear.java
+++ b/src/com/android/settings/MasterClear.java
@@ -39,6 +39,7 @@
 import android.os.UserManager;
 import android.provider.Settings;
 import androidx.annotation.VisibleForTesting;
+import android.sysprop.VoldProperties;
 import android.telephony.euicc.EuiccManager;
 import android.text.TextUtils;
 import android.util.Log;
@@ -404,7 +405,7 @@
     }
 
     private boolean isExtStorageEncrypted() {
-        String state = SystemProperties.get("vold.decrypt");
+        String state = VoldProperties.decrypt().orElse("");
         return !"".equals(state);
     }