Fix dup preference key on Connected devices page

Use different key (prefix + CacheBluetooothDevice hash) for
each BluetoothDevicePreference to avoid Java crash due to "Two different
ViewHolders have the same change ID".

Test: atest
Fix: 325831741
Flag: EXEMPT safe fix only change preference key string
Change-Id: Ic993f3cab206b794045c2f46e6b4b376bfa3adea
This commit is contained in:
Yiyi Shen
2024-07-01 14:28:50 +08:00
parent 1d838f62ea
commit 07a346fcf5
11 changed files with 36 additions and 30 deletions

View File

@@ -36,7 +36,7 @@ public class ConnectedBluetoothDeviceUpdater extends BluetoothDeviceUpdater {
private static final String TAG = "ConnBluetoothDeviceUpdater";
private static final boolean DBG = Log.isLoggable(BluetoothDeviceUpdater.TAG, Log.DEBUG);
private static final String PREF_KEY = "connected_bt";
private static final String PREF_KEY_PREFIX = "connected_bt_";
private final AudioManager mAudioManager;
@@ -126,8 +126,8 @@ public class ConnectedBluetoothDeviceUpdater extends BluetoothDeviceUpdater {
}
@Override
protected String getPreferenceKey() {
return PREF_KEY;
protected String getPreferenceKeyPrefix() {
return PREF_KEY_PREFIX;
}
@Override