Merge "Catch IllegalStateException when updating Bluetooth A2DP codec info"
diff --git a/src/com/android/settings/DevelopmentSettings.java b/src/com/android/settings/DevelopmentSettings.java
index 8d97a97..f6c77a4 100644
--- a/src/com/android/settings/DevelopmentSettings.java
+++ b/src/com/android/settings/DevelopmentSettings.java
@@ -1825,6 +1825,7 @@
         BluetoothCodecConfig[] codecsLocalCapabilities = null;
         BluetoothCodecConfig[] codecsSelectableCapabilities = null;
         String streaming;
+        Resources resources = null;
 
         synchronized (mBluetoothA2dpLock) {
             if (mBluetoothA2dp != null) {
@@ -1839,6 +1840,15 @@
         if (codecConfig == null)
             return;
 
+        try {
+            resources = getResources();
+        } catch (IllegalStateException e) {
+            return;
+        }
+        if (resources == null) {
+            return;
+        }
+
         // Update the Codec Type
         index = -1;
         switch (codecConfig.getCodecType()) {
@@ -1862,8 +1872,8 @@
             break;
         }
         if (index >= 0) {
-            summaries = getResources().getStringArray(R.array.bluetooth_a2dp_codec_summaries);
-            streaming = getResources().getString(R.string.bluetooth_select_a2dp_codec_streaming_label, summaries[index]);
+            summaries = resources.getStringArray(R.array.bluetooth_a2dp_codec_summaries);
+            streaming = resources.getString(R.string.bluetooth_select_a2dp_codec_streaming_label, summaries[index]);
             mBluetoothSelectA2dpCodec.setSummary(streaming);
         }
 
@@ -1889,8 +1899,8 @@
             break;
         }
         if (index >= 0) {
-            summaries = getResources().getStringArray(R.array.bluetooth_a2dp_codec_sample_rate_summaries);
-            streaming = getResources().getString(R.string.bluetooth_select_a2dp_codec_streaming_label, summaries[index]);
+            summaries = resources.getStringArray(R.array.bluetooth_a2dp_codec_sample_rate_summaries);
+            streaming = resources.getString(R.string.bluetooth_select_a2dp_codec_streaming_label, summaries[index]);
              mBluetoothSelectA2dpSampleRate.setSummary(streaming);
         }
 
@@ -1911,8 +1921,8 @@
             break;
         }
         if (index >= 0) {
-            summaries = getResources().getStringArray(R.array.bluetooth_a2dp_codec_bits_per_sample_summaries);
-            streaming = getResources().getString(R.string.bluetooth_select_a2dp_codec_streaming_label, summaries[index]);
+            summaries = resources.getStringArray(R.array.bluetooth_a2dp_codec_bits_per_sample_summaries);
+            streaming = resources.getString(R.string.bluetooth_select_a2dp_codec_streaming_label, summaries[index]);
             mBluetoothSelectA2dpBitsPerSample.setSummary(streaming);
         }
 
@@ -1930,8 +1940,8 @@
             break;
         }
         if (index >= 0) {
-            summaries = getResources().getStringArray(R.array.bluetooth_a2dp_codec_channel_mode_summaries);
-            streaming = getResources().getString(R.string.bluetooth_select_a2dp_codec_streaming_label, summaries[index]);
+            summaries = resources.getStringArray(R.array.bluetooth_a2dp_codec_channel_mode_summaries);
+            streaming = resources.getString(R.string.bluetooth_select_a2dp_codec_streaming_label, summaries[index]);
              mBluetoothSelectA2dpChannelMode.setSummary(streaming);
         }
 
@@ -1956,8 +1966,8 @@
             break;
         }
         if (index >= 0) {
-            summaries = getResources().getStringArray(R.array.bluetooth_a2dp_codec_ldac_playback_quality_summaries);
-            streaming = getResources().getString(R.string.bluetooth_select_a2dp_codec_streaming_label, summaries[index]);
+            summaries = resources.getStringArray(R.array.bluetooth_a2dp_codec_ldac_playback_quality_summaries);
+            streaming = resources.getString(R.string.bluetooth_select_a2dp_codec_streaming_label, summaries[index]);
             mBluetoothSelectA2dpLdacPlaybackQuality.setSummary(streaming);
         }
     }