Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 43366b2c authored by Kenny Root's avatar Kenny Root Committed by Gerrit Code Review
Browse files

Merge "Add KeyStore storage type to Settings UI"

parents 9dc478ec 39b56008
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -3511,6 +3511,12 @@
    <string name="trusted_credentials">Trusted credentials</string>
    <!-- Summary of preference to display trusted credentials (aka CA certificates) [CHAR LIMIT=NONE] -->
    <string name="trusted_credentials_summary">Display trusted CA certificates</string>
    <!-- Title of preference of what type of credential storage this device has: hardware or software [CHAR LIMIT=30] -->
    <string name="credential_storage_type">Storage type</string>
    <!-- Summary text for preference showing what type of credential storage this device has when it is stored in a hardware-backed storage (as opposed to "software only") [CHAR LIMIT=NONE] -->
    <string name="credential_storage_type_hardware">Hardware-backed</string>
    <!-- Summary text for preference showing what type of credential storage this device has when it is stored in software only (as opposed to "hardware-backed") [CHAR LIMIT=NONE] -->
    <string name="credential_storage_type_software">Software only</string>

    <!-- Message to draw an unlock pattern when installing credentials -->
    <string name="credentials_install_gesture_prompt">Draw your unlock pattern</string>
+5 −0
Original line number Diff line number Diff line
@@ -63,6 +63,11 @@
    <PreferenceCategory android:key="credentials_management"
            android:title="@string/credentials_title"
            android:persistent="false">
        <Preference android:key="credential_storage_type"
                android:title="@string/credential_storage_type"
                style="?android:attr/preferenceInformationStyle"
                android:persistent="false" />

        <Preference android:title="@string/trusted_credentials"
                android:summary="@string/trusted_credentials_summary"
                android:persistent="false"
+11 −2
Original line number Diff line number Diff line
@@ -73,6 +73,7 @@ public class SecuritySettings extends SettingsPreferenceFragment
    // Misc Settings
    private static final String KEY_SIM_LOCK = "sim_lock";
    private static final String KEY_SHOW_PASSWORD = "show_password";
    private static final String KEY_CREDENTIAL_STORAGE_TYPE = "credential_storage_type";
    private static final String KEY_RESET_CREDENTIALS = "reset_credentials";
    private static final String KEY_TOGGLE_INSTALL_APPLICATIONS = "toggle_install_applications";
    private static final String KEY_TOGGLE_VERIFY_APPLICATIONS = "toggle_verify_applications";
@@ -91,6 +92,7 @@ public class SecuritySettings extends SettingsPreferenceFragment

    private CheckBoxPreference mShowPassword;

    private KeyStore mKeyStore;
    private Preference mResetCredentials;

    private CheckBoxPreference mToggleAppInstallation;
@@ -231,6 +233,14 @@ public class SecuritySettings extends SettingsPreferenceFragment

        // Credential storage, only for primary user
        if (mIsPrimary) {
            mKeyStore = KeyStore.getInstance();
            Preference credentialStorageType = root.findPreference(KEY_CREDENTIAL_STORAGE_TYPE);

            final int storageSummaryRes =
                    mKeyStore.isHardwareBacked() ? R.string.credential_storage_type_hardware
                            : R.string.credential_storage_type_software;
            credentialStorageType.setSummary(storageSummaryRes);

            mResetCredentials = root.findPreference(KEY_RESET_CREDENTIALS);
        } else {
            removePreference(KEY_CREDENTIALS_MANAGER);
@@ -408,8 +418,7 @@ public class SecuritySettings extends SettingsPreferenceFragment
        }

        if (mResetCredentials != null) {
            KeyStore keyStore = KeyStore.getInstance();
            mResetCredentials.setEnabled(!keyStore.isUnlocked());
            mResetCredentials.setEnabled(!mKeyStore.isUnlocked());
        }
    }