diff options
author | hughchen <hughchen@google.com> | 2018-04-23 20:13:14 +0800 |
---|---|---|
committer | Hugh Chen <hughchen@google.com> | 2018-05-17 07:40:52 +0000 |
commit | b6ac12eed4e705ac4c52418c7a8905a5d332cb05 (patch) | |
tree | 94cb7149bd291b374d21a75ed88d4da37de17d30 /src/com/android/settings/sound | |
parent | 0cf2e41bf8e5f179b7f63e213095b36847378705 (diff) | |
download | packages_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.java | 10 |
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) { |