Fix multi-toggle flicker bug

BUG: 343317785
Test: local tested
Flag: com.android.settings.flags.enable_bluetooth_device_details_polish
Change-Id: Ib5e700412c112ff6fa19b54f341fbd598c6b345c
This commit is contained in:
Haijie Hong
2024-10-15 14:49:25 +08:00
parent c9b450734a
commit 7a3baf7d2e

View File

@@ -58,6 +58,8 @@ class BluetoothDeviceDetailsViewModel(
deviceSettingRepository.getDeviceSettingsConfig(cachedDevice)
}
private val spatialAudioModel by lazy { spatialAudioInteractor.getDeviceSetting(cachedDevice) }
suspend fun getItems(fragment: FragmentTypeModel): List<DeviceSettingConfigItemModel>? =
when (fragment) {
is FragmentTypeModel.DeviceDetailsMainFragment -> items.await()?.mainItems
@@ -81,7 +83,7 @@ class BluetoothDeviceDetailsViewModel(
}
return when (settingId) {
DeviceSettingId.DEVICE_SETTING_ID_SPATIAL_AUDIO_MULTI_TOGGLE ->
spatialAudioInteractor.getDeviceSetting(cachedDevice)
spatialAudioModel
else -> deviceSettingRepository.getDeviceSetting(cachedDevice, settingId)
}.map { it?.toPreferenceModel() }
}