Merge "packages/apps/Settings: Set LOCAL_SDK_VERSION where possible. DO NOT MERGE"
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index 3984c21..2e4738b 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -318,7 +318,8 @@
 
     <!-- Bluetooth developer settings: Titles for maximum number of connected audio devices -->
     <string-array name="bluetooth_max_connected_audio_devices">
-        <item>1 (Default)</item>
+        <item>Use System Default: <xliff:g id="default_bluetooth_max_connected_audio_devices">%1$d</xliff:g></item>
+        <item>1</item>
         <item>2</item>
         <item>3</item>
         <item>4</item>
@@ -326,7 +327,8 @@
     </string-array>
 
     <!-- Bluetooth developer settings: Values for maximum number of connected audio devices -->
-    <string-array name="bluetooth_max_connected_audio_devices_values">
+    <string-array translatable="false" name="bluetooth_max_connected_audio_devices_values">
+        <item></item>
         <item>1</item>
         <item>2</item>
         <item>3</item>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index f037eb1..dab8e87 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -779,8 +779,10 @@
     <string name="encryption_and_credential_settings_title">Encryption &amp; credentials</string>
     <!-- Security Settings screen Encryption and crendential summary -->
     <string name="encryption_and_credential_settings_summary" product="default">Phone encrypted</string>
+    <string name="decryption_settings_summary" product="default">Phone not encrypted</string>
     <!-- Security Settings screen Encryption and crendential summary -->
     <string name="encryption_and_credential_settings_summary" product="tablet">Device encrypted</string>
+    <string name="decryption_settings_summary" product="tablet">Device not encrypted</string>
     <!-- Security Settings screen setting option title for the item to take you to the lock screen preference screen [CHAR LIMIT=60] -->
     <string name="lockscreen_settings_title">Lock screen preferences</string>
 
diff --git a/res/xml/security_settings_misc.xml b/res/xml/security_settings_misc.xml
index 7946dd9..ade4782 100644
--- a/res/xml/security_settings_misc.xml
+++ b/res/xml/security_settings_misc.xml
@@ -60,7 +60,6 @@
     <Preference
         android:key="encryption_and_credential"
         android:title="@string/encryption_and_credential_settings_title"
-        android:summary="@string/encryption_and_credential_settings_summary"
         android:fragment="com.android.settings.EncryptionAndCredential"/>
 
     <Preference android:key="manage_trust_agents"
diff --git a/src/com/android/settings/SecuritySettings.java b/src/com/android/settings/SecuritySettings.java
index 55f21fd..23b149a 100644
--- a/src/com/android/settings/SecuritySettings.java
+++ b/src/com/android/settings/SecuritySettings.java
@@ -427,6 +427,17 @@
         mEnterprisePrivacyPreferenceController.displayPreference(root);
         mEnterprisePrivacyPreferenceController.onResume();
 
+        final Preference encryptioncredential = root.findPreference(KEY_ENCRYPTION_AND_CREDENTIALS);
+        if (LockPatternUtils.isDeviceEncryptionEnabled()) {
+                final String summaryencrypt = getContext().getString(
+                        R.string.encryption_and_credential_settings_summary);
+                encryptioncredential.setSummary(summaryencrypt);
+        } else {
+                final String summarydecrypt = getContext().getString(
+                        R.string.decryption_settings_summary);
+                encryptioncredential.setSummary(summarydecrypt);
+        }
+
         return root;
     }
 
diff --git a/src/com/android/settings/development/DevelopmentSettings.java b/src/com/android/settings/development/DevelopmentSettings.java
index 2912e17..078489e 100644
--- a/src/com/android/settings/development/DevelopmentSettings.java
+++ b/src/com/android/settings/development/DevelopmentSettings.java
@@ -901,6 +901,7 @@
         }
         writeOverlayDisplayDevicesOptions(null);
         writeAppProcessLimitOptions(null);
+        writeBluetoothMaxConnectedAudioDevices("");
         mHaveDebugSettings = false;
         updateAllOptions();
         mDontPokeProperties = false;
@@ -1884,12 +1885,44 @@
         mBluetoothSelectA2dpLdacPlaybackQuality.setValue(values[index]);
         mBluetoothSelectA2dpLdacPlaybackQuality.setSummary(summaries[index]);
 
-        // Init the maximum connected devices - Default
-        values = getResources().getStringArray(R.array.bluetooth_max_connected_audio_devices_values);
-        summaries = getResources().getStringArray(R.array.bluetooth_max_connected_audio_devices);
-        index = 0;
-        mBluetoothSelectMaxConnectedAudioDevices.setValue(values[index]);
-        mBluetoothSelectMaxConnectedAudioDevices.setSummary(summaries[index]);
+        // Init the maximum connected devices
+        initBluetoothMaxConnectedAudioDevicesPreference();
+        updateBluetoothMaxConnectedAudioDevicesPreference();
+    }
+
+    private void initBluetoothMaxConnectedAudioDevicesPreference() {
+        int defaultMaxConnectedAudioDevices = getResources().getInteger(
+                com.android.internal.R.integer.config_bluetooth_max_connected_audio_devices);
+        final CharSequence[] entries = mBluetoothSelectMaxConnectedAudioDevices.getEntries();
+        entries[0] = String.format(entries[0].toString(), defaultMaxConnectedAudioDevices);
+        mBluetoothSelectMaxConnectedAudioDevices.setEntries(entries);
+    }
+
+    private void updateBluetoothMaxConnectedAudioDevicesPreference() {
+        final CharSequence[] entries = mBluetoothSelectMaxConnectedAudioDevices.getEntries();
+        final String currentValue =
+                SystemProperties.get(BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES_PROPERTY);
+        int index = 0;
+        if (!currentValue.isEmpty()) {
+            index = mBluetoothSelectMaxConnectedAudioDevices.findIndexOfValue(currentValue);
+            if (index < 0) {
+                // Reset property value when value is illegal
+                SystemProperties.set(BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES_PROPERTY, "");
+                index = 0;
+            }
+        }
+        mBluetoothSelectMaxConnectedAudioDevices.setValueIndex(index);
+        mBluetoothSelectMaxConnectedAudioDevices.setSummary(entries[index]);
+    }
+
+    private void writeBluetoothMaxConnectedAudioDevices(Object newValue) {
+        String newValueString = newValue.toString();
+        if (mBluetoothSelectMaxConnectedAudioDevices.findIndexOfValue(newValueString) <= 0) {
+            // Reset property value when default is chosen or when value is illegal
+            newValueString = "";
+        }
+        SystemProperties.set(BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES_PROPERTY, newValueString);
+        updateBluetoothMaxConnectedAudioDevicesPreference();
     }
 
     private void writeBluetoothAvrcpVersion(Object newValue) {
@@ -2058,15 +2091,6 @@
         }
     }
 
-    private void writeBluetoothMaxConnectedAudioDevices(Object newValue) {
-        SystemProperties.set(BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES_PROPERTY, newValue.toString());
-        int index = mBluetoothSelectMaxConnectedAudioDevices.findIndexOfValue(newValue.toString());
-        if (index >= 0) {
-            String[] titles = getResources().getStringArray(R.array.bluetooth_max_connected_audio_devices);
-            mBluetoothSelectMaxConnectedAudioDevices.setSummary(titles[index]);
-        }
-    }
-
     private void writeBluetoothConfigurationOption(Preference preference,
                                                    Object newValue) {
         String[] summaries;