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
This commit is contained in:
Kiyoung Kim
2019-01-22 10:19:29 +09:00
parent def4fd900d
commit 3737da3ae6
2 changed files with 5 additions and 14 deletions

View File

@@ -19,10 +19,9 @@ package com.android.settings.development;
import android.content.Context; import android.content.Context;
import android.os.RemoteException; import android.os.RemoteException;
import android.os.ServiceManager; import android.os.ServiceManager;
import android.os.SystemProperties;
import android.os.storage.IStorageManager; import android.os.storage.IStorageManager;
import android.text.TextUtils; import android.text.TextUtils;
import android.sysprop.CryptoProperties;
import androidx.annotation.VisibleForTesting; import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference; 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_CONVERT_FBE = "convert_to_file_encryption";
private static final String KEY_STORAGE_MANAGER = "mount"; private static final String KEY_STORAGE_MANAGER = "mount";
@VisibleForTesting
static final String FILE_ENCRYPTION_PROPERTY_KEY = "ro.crypto.type";
private final IStorageManager mStorageManager; private final IStorageManager mStorageManager;
public FileEncryptionPreferenceController(Context context) { public FileEncryptionPreferenceController(Context context) {
@@ -67,8 +63,7 @@ public class FileEncryptionPreferenceController extends DeveloperOptionsPreferen
@Override @Override
public void updateState(Preference preference) { public void updateState(Preference preference) {
if (!TextUtils.equals("file", if (!TextUtils.equals("file", CryptoProperties.type().orElse("none"))) {
SystemProperties.get(FILE_ENCRYPTION_PROPERTY_KEY, "none" /* default */))) {
return; return;
} }

View File

@@ -16,9 +16,6 @@
package com.android.settings.development; 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 com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.anyBoolean; import static org.mockito.ArgumentMatchers.anyBoolean;
@@ -29,9 +26,8 @@ import static org.mockito.Mockito.when;
import android.content.Context; import android.content.Context;
import android.os.RemoteException; import android.os.RemoteException;
import android.os.SystemProperties;
import android.os.storage.IStorageManager; import android.os.storage.IStorageManager;
import android.sysprop.CryptoProperties;
import androidx.preference.Preference; import androidx.preference.Preference;
import androidx.preference.PreferenceScreen; import androidx.preference.PreferenceScreen;
@@ -96,7 +92,7 @@ public class FileEncryptionPreferenceControllerTest {
ReflectionHelpers.setField(mController, "mStorageManager", mStorageManager); ReflectionHelpers.setField(mController, "mStorageManager", mStorageManager);
when(mStorageManager.isConvertibleToFBE()).thenReturn(true); when(mStorageManager.isConvertibleToFBE()).thenReturn(true);
mController.displayPreference(mPreferenceScreen); mController.displayPreference(mPreferenceScreen);
SystemProperties.set(FILE_ENCRYPTION_PROPERTY_KEY, "foobar"); CryptoProperties.type("foobar");
mController.updateState(mPreference); mController.updateState(mPreference);
@@ -110,7 +106,7 @@ public class FileEncryptionPreferenceControllerTest {
ReflectionHelpers.setField(mController, "mStorageManager", mStorageManager); ReflectionHelpers.setField(mController, "mStorageManager", mStorageManager);
when(mStorageManager.isConvertibleToFBE()).thenReturn(true); when(mStorageManager.isConvertibleToFBE()).thenReturn(true);
mController.displayPreference(mPreferenceScreen); mController.displayPreference(mPreferenceScreen);
SystemProperties.set(FILE_ENCRYPTION_PROPERTY_KEY, "file"); CryptoProperties.type("file");
mController.updateState(mPreference); mController.updateState(mPreference);