diff options
author | hughchen <hughchen@google.com> | 2018-04-23 20:13:14 +0800 |
---|---|---|
committer | hughchen <hughchen@google.com> | 2018-05-16 22:13:24 +0800 |
commit | acb6e89c521740c13965cf853dd567291876cb46 (patch) | |
tree | 30eb47aecd87e59e0370c4ca56f3547098d60da0 /src/com/android/settings/sound/AudioSwitchPreferenceController.java | |
parent | 82e7aa8975ce6f2cef36bf9f8b56f9c482413358 (diff) | |
download | packages_apps_Settings-acb6e89c521740c13965cf853dd567291876cb46.tar.gz packages_apps_Settings-acb6e89c521740c13965cf853dd567291876cb46.tar.bz2 packages_apps_Settings-acb6e89c521740c13965cf853dd567291876cb46.zip |
Update DialogFragment UI when BT device is add/remove/rename
* For fix the "Automatic merge failed" in pi-dev, cherry pick the ag/3937781 in
master. Change android.support.* to androidx.*
* 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
Diffstat (limited to 'src/com/android/settings/sound/AudioSwitchPreferenceController.java')
-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 265564e5d5..e0c8c88252 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) { |