Add null pointer checks when updating A2DP configuration values
Under expected circumstances, those null pointer checks are not
needed: onCreate() is always called before onCreateView(),
and the former creates the objects: mBluetoothSelectA2dpCodec,
mBluetoothSelectA2dpSampleRate, mBluetoothSelectA2dpBitsPerSample,
mBluetoothSelectA2dpChannelMode, mBluetoothSelectA2dpLdacPlaybackQuality .
For some unknown reason, somehow the following chain of calls is executed
before onCreate() :
onCreateView() ->
getActivity().registerReceiver(mBluetoothA2dpReceiver, ...) ->
mBluetoothA2dpReceiver.onReceive(...) ->
updateBluetoothA2dpConfigurationValues()
Adding the null pointer checks until the issue is understood.
Test: Code compilation
Bug: 35204511
Change-Id: I7c1d81015e66b26544b7b26f36cbc75f11713496
diff --git a/src/com/android/settings/DevelopmentSettings.java b/src/com/android/settings/DevelopmentSettings.java
index f6c77a4..e6bb8fb 100644
--- a/src/com/android/settings/DevelopmentSettings.java
+++ b/src/com/android/settings/DevelopmentSettings.java
@@ -1871,7 +1871,7 @@
default:
break;
}
- if (index >= 0) {
+ if (index >= 0 && mBluetoothSelectA2dpCodec != null) {
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);
@@ -1898,7 +1898,7 @@
default:
break;
}
- if (index >= 0) {
+ if (index >= 0 && mBluetoothSelectA2dpSampleRate != null) {
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);
@@ -1920,7 +1920,7 @@
default:
break;
}
- if (index >= 0) {
+ if (index >= 0 && mBluetoothSelectA2dpBitsPerSample != null) {
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);
@@ -1939,7 +1939,7 @@
default:
break;
}
- if (index >= 0) {
+ if (index >= 0 && mBluetoothSelectA2dpChannelMode != null) {
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);
@@ -1965,7 +1965,7 @@
index = -1;
break;
}
- if (index >= 0) {
+ if (index >= 0 && mBluetoothSelectA2dpLdacPlaybackQuality != null) {
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);