From 3737da3ae6a3bbc045d86c44bf54f24eb7d08a10 Mon Sep 17 00:00:00 2001 From: Kiyoung Kim Date: Tue, 22 Jan 2019 10:19:29 +0900 Subject: [PATCH] Schematize Crypto 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: I65a6ce1a682687702f4c8b5c2e054eaaf91c389b --- .../FileEncryptionPreferenceController.java | 9 ++------- .../FileEncryptionPreferenceControllerTest.java | 10 +++------- 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/src/com/android/settings/development/FileEncryptionPreferenceController.java b/src/com/android/settings/development/FileEncryptionPreferenceController.java index a0628b0f637..8aadfb95e43 100644 --- a/src/com/android/settings/development/FileEncryptionPreferenceController.java +++ b/src/com/android/settings/development/FileEncryptionPreferenceController.java @@ -19,10 +19,9 @@ package com.android.settings.development; import android.content.Context; import android.os.RemoteException; import android.os.ServiceManager; -import android.os.SystemProperties; import android.os.storage.IStorageManager; import android.text.TextUtils; - +import android.sysprop.CryptoProperties; import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; @@ -36,9 +35,6 @@ public class FileEncryptionPreferenceController extends DeveloperOptionsPreferen private static final String KEY_CONVERT_FBE = "convert_to_file_encryption"; private static final String KEY_STORAGE_MANAGER = "mount"; - @VisibleForTesting - static final String FILE_ENCRYPTION_PROPERTY_KEY = "ro.crypto.type"; - private final IStorageManager mStorageManager; public FileEncryptionPreferenceController(Context context) { @@ -67,8 +63,7 @@ public class FileEncryptionPreferenceController extends DeveloperOptionsPreferen @Override public void updateState(Preference preference) { - if (!TextUtils.equals("file", - SystemProperties.get(FILE_ENCRYPTION_PROPERTY_KEY, "none" /* default */))) { + if (!TextUtils.equals("file", CryptoProperties.type().orElse("none"))) { return; } diff --git a/tests/robotests/src/com/android/settings/development/FileEncryptionPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/FileEncryptionPreferenceControllerTest.java index 68cbd320303..61e650f2b3c 100644 --- a/tests/robotests/src/com/android/settings/development/FileEncryptionPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/development/FileEncryptionPreferenceControllerTest.java @@ -16,9 +16,6 @@ package com.android.settings.development; -import static com.android.settings.development.FileEncryptionPreferenceController - .FILE_ENCRYPTION_PROPERTY_KEY; - import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.anyBoolean; @@ -29,9 +26,8 @@ import static org.mockito.Mockito.when; import android.content.Context; import android.os.RemoteException; -import android.os.SystemProperties; import android.os.storage.IStorageManager; - +import android.sysprop.CryptoProperties; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; @@ -96,7 +92,7 @@ public class FileEncryptionPreferenceControllerTest { ReflectionHelpers.setField(mController, "mStorageManager", mStorageManager); when(mStorageManager.isConvertibleToFBE()).thenReturn(true); mController.displayPreference(mPreferenceScreen); - SystemProperties.set(FILE_ENCRYPTION_PROPERTY_KEY, "foobar"); + CryptoProperties.type("foobar"); mController.updateState(mPreference); @@ -110,7 +106,7 @@ public class FileEncryptionPreferenceControllerTest { ReflectionHelpers.setField(mController, "mStorageManager", mStorageManager); when(mStorageManager.isConvertibleToFBE()).thenReturn(true); mController.displayPreference(mPreferenceScreen); - SystemProperties.set(FILE_ENCRYPTION_PROPERTY_KEY, "file"); + CryptoProperties.type("file"); mController.updateState(mPreference);