Gray out toggle if isAllowChangingState is false

BUG: 343317785
Test: local tested
Flag: com.android.settings.flags.enable_bluetooth_device_details_polish
Change-Id: I428b5093477ec9d1ba61cbbdb8430b9e28577d99
This commit is contained in:
Haijie Hong
2024-10-14 17:40:20 +08:00
parent 8cb8aaf36b
commit c9b450734a
3 changed files with 3 additions and 0 deletions

View File

@@ -44,6 +44,7 @@ sealed interface DeviceSettingPreferenceModel {
val icon: DeviceSettingIcon? = null,
val checked: Boolean,
val onCheckedChange: ((Boolean) -> Unit),
val disabled: Boolean = false,
val action: DeviceSettingActionModel? = null,
) : DeviceSettingPreferenceModel

View File

@@ -306,6 +306,7 @@ class DeviceDetailsFragmentFormatterImpl(
override val onCheckedChange = { newChecked: Boolean ->
model.onCheckedChange(newChecked)
}
override val changeable = { !model.disabled }
override val icon: (@Composable () -> Unit)?
get() {
if (model.icon == null) {

View File

@@ -101,6 +101,7 @@ class BluetoothDeviceDetailsViewModel(
DeviceSettingStateModel.ActionSwitchPreferenceState(newState)
)
},
disabled = !isAllowedChangingState,
action = action,
)
} else {