Mark this coreApp as being encryptionAware.
Historically, apps marked with "coreApp" were prepared to run in a
limited boot environment, and were critical to booting the device, so
in the new file-based encryption world we're marking these apps with
both "forceDeviceEncrypted" and "encryptionAware" attributes.
Bug: 22358539
Change-Id: Idf9fb8d4b0cc1cd504c9ab7ed770d2cd86d3d506
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index df00ad1..3f3cfd7 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -92,7 +92,9 @@
android:requiredForAllUsers="true"
android:supportsRtl="true"
android:allowBackup="false"
- android:usesCleartextTraffic="true">
+ android:usesCleartextTraffic="true"
+ android:forceDeviceEncrypted="true"
+ android:encryptionAware="true">
<!-- Settings -->
diff --git a/src/com/android/settings/DevelopmentSettings.java b/src/com/android/settings/DevelopmentSettings.java
index af34647..c25d2d3 100644
--- a/src/com/android/settings/DevelopmentSettings.java
+++ b/src/com/android/settings/DevelopmentSettings.java
@@ -54,6 +54,7 @@
import android.os.SystemProperties;
import android.os.UserManager;
import android.os.storage.IMountService;
+import android.os.storage.StorageManager;
import android.provider.SearchIndexableResource;
import android.provider.Settings;
import android.provider.Settings.Global;
@@ -421,7 +422,7 @@
IMountService mountService = IMountService.Stub.asInterface(service);
if (!mountService.isConvertibleToFBE()) {
removePreference(KEY_CONVERT_FBE);
- } else if (mountService.isPerUserEncryptionEnabled()) {
+ } else if ("file".equals(SystemProperties.get("ro.crypto.type", "none"))) {
convertFbePreference.setEnabled(false);
convertFbePreference.setSummary(getResources()
.getString(R.string.convert_to_file_encryption_done));