summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/sound/AudioSwitchPreferenceController.java
diff options
context:
space:
mode:
authorhughchen <hughchen@google.com>2018-04-23 20:13:14 +0800
committerhughchen <hughchen@google.com>2018-05-16 22:13:24 +0800
commitacb6e89c521740c13965cf853dd567291876cb46 (patch)
tree30eb47aecd87e59e0370c4ca56f3547098d60da0 /src/com/android/settings/sound/AudioSwitchPreferenceController.java
parent82e7aa8975ce6f2cef36bf9f8b56f9c482413358 (diff)
downloadpackages_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.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 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) {