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

@@ -41,7 +41,7 @@ public class SavedBluetoothDeviceUpdater extends BluetoothDeviceUpdater
private static final String TAG = "SavedBluetoothDeviceUpdater";
private static final String PREF_KEY = "saved_bt";
private static final String PREF_KEY_PREFIX = "saved_bt_";
private final boolean mShowConnectedDevice;
@@ -134,8 +134,8 @@ public class SavedBluetoothDeviceUpdater extends BluetoothDeviceUpdater
}
@Override
protected String getPreferenceKey() {
return PREF_KEY;
protected String getPreferenceKeyPrefix() {
return PREF_KEY_PREFIX;
}
@Override