summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/sound
diff options
context:
space:
mode:
authorhughchen <hughchen@google.com>2018-04-23 20:13:14 +0800
committerHugh Chen <hughchen@google.com>2018-05-17 07:40:52 +0000
commitb6ac12eed4e705ac4c52418c7a8905a5d332cb05 (patch)
tree94cb7149bd291b374d21a75ed88d4da37de17d30 /src/com/android/settings/sound
parent0cf2e41bf8e5f179b7f63e213095b36847378705 (diff)
downloadpackages_apps_Settings-b6ac12eed4e705ac4c52418c7a8905a5d332cb05.tar.gz
packages_apps_Settings-b6ac12eed4e705ac4c52418c7a8905a5d332cb05.tar.bz2
packages_apps_Settings-b6ac12eed4e705ac4c52418c7a8905a5d332cb05.zip
Update DialogFragment UI when BT device is add/remove/rename
* Add AudioSwitchCallback() in AudioSwitchPreferenceController. This callback is used to notify SoudSettings to update the dialogFragment UI. * Add UpdatableListPreferenceDialogFragment that updates the available options when dialog is shown * Add test to verify the adapter count when onListPreferenceUpdated() is called. Bug: 77783217 Test: make -j50 RunSettingsRoboTests Change-Id: I8cac1b30ec50df026f4b7722dd1cd2f69e77a4cb Merged-In: I8cac1b30ec50df026f4b7722dd1cd2f69e77a4cb
Diffstat (limited to 'src/com/android/settings/sound')
-rw-r--r--src/com/android/settings/sound/AudioSwitchPreferenceController.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/com/android/settings/sound/AudioSwitchPreferenceController.java b/src/com/android/settings/sound/AudioSwitchPreferenceController.java
index dde2b3012e..6d9d3a46ed 100644
--- a/src/com/android/settings/sound/AudioSwitchPreferenceController.java
+++ b/src/com/android/settings/sound/AudioSwitchPreferenceController.java
@@ -78,6 +78,7 @@ public abstract class AudioSwitchPreferenceController extends BasePreferenceCont
protected final LocalBluetoothProfileManager mProfileManager;
protected int mSelectedIndex;
protected Preference mPreference;
+ protected AudioSwitchCallback mAudioSwitchPreferenceCallback;
private final AudioManagerAudioDeviceCallback mAudioManagerAudioDeviceCallback;
private final LocalBluetoothManager mLocalBluetoothManager;
@@ -85,6 +86,10 @@ public abstract class AudioSwitchPreferenceController extends BasePreferenceCont
private final WiredHeadsetBroadcastReceiver mReceiver;
private final Handler mHandler;
+ public interface AudioSwitchCallback {
+ void onPreferenceDataChanged(ListPreference preference);
+ }
+
public AudioSwitchPreferenceController(Context context, String preferenceKey) {
super(context, preferenceKey);
mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
@@ -207,6 +212,10 @@ public abstract class AudioSwitchPreferenceController extends BasePreferenceCont
public void onDeviceBondStateChanged(CachedBluetoothDevice cachedDevice, int bondState) {
}
+ public void setCallback(AudioSwitchCallback callback) {
+ mAudioSwitchPreferenceCallback = callback;
+ }
+
protected boolean isStreamFromOutputDevice(int streamType, int device) {
return (device & mAudioManager.getDevicesForStream(streamType)) != 0;
}
@@ -335,6 +344,7 @@ public abstract class AudioSwitchPreferenceController extends BasePreferenceCont
listPreference.setEntryValues(mediaValues);
listPreference.setValueIndex(mSelectedIndex);
listPreference.setSummary(mediaOutputs[mSelectedIndex]);
+ mAudioSwitchPreferenceCallback.onPreferenceDataChanged(listPreference);
}
private int getConnectedDeviceIndex(String hardwareAddress) {