Loading core/ui/compose/preference/src/debug/kotlin/net/thunderbird/core/ui/compose/preference/ui/components/list/PreferenceItemSwitchViewPreview.kt 0 → 100644 +50 −0 Original line number Diff line number Diff line package net.thunderbird.core.ui.compose.preference.ui.components.list import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview import app.k9mail.core.ui.compose.designsystem.PreviewWithThemes import net.thunderbird.core.ui.compose.preference.ui.fake.FakePreferenceData @Composable @Preview(showBackground = true) internal fun Preview_Switch_On_Enabled() { PreviewWithThemes { PreferenceItemSwitchView( preference = FakePreferenceData.switchPreference, onPreferenceChange = {}, ) } } @Composable @Preview(showBackground = true) internal fun Preview_Switch_Off_Enabled() { PreviewWithThemes { PreferenceItemSwitchView( preference = FakePreferenceData.switchPreference.copy(value = false), onPreferenceChange = {}, ) } } @Composable @Preview(showBackground = true) internal fun Preview_Switch_On_Disabled() { PreviewWithThemes { PreferenceItemSwitchView( preference = FakePreferenceData.switchPreference.copy(enabled = false), onPreferenceChange = {}, ) } } @Composable @Preview(showBackground = true) internal fun Preview_Switch_Off_Disabled() { PreviewWithThemes { PreferenceItemSwitchView( preference = FakePreferenceData.switchPreference.copy(value = false, enabled = false), onPreferenceChange = {}, ) } } core/ui/compose/preference/src/debug/kotlin/net/thunderbird/core/ui/compose/preference/ui/fake/FakePreferenceData.kt +9 −0 Original line number Diff line number Diff line Loading @@ -42,9 +42,18 @@ internal object FakePreferenceData { options = choices, ) val switchPreference = PreferenceSetting.Switch( id = "switch", title = { "Title" }, description = { "Description" }, enabled = true, value = true, ) val preferences = persistentListOf( textPreference, colorPreference, switchPreference, singleChoicePreference, ) } core/ui/compose/preference/src/main/kotlin/net/thunderbird/core/ui/compose/preference/api/Preference.kt +12 −0 Original line number Diff line number Diff line Loading @@ -65,6 +65,18 @@ sealed interface PreferenceSetting<T> : Preference { val title: () -> String, ) : Parcelable } @Parcelize data class Switch( override val id: String, val title: () -> String, val description: () -> String? = { null }, val enabled: Boolean, override val value: Boolean, ) : PreferenceSetting<Boolean> { @IgnoredOnParcel override val requiresEditView: Boolean = false } } /** Loading core/ui/compose/preference/src/main/kotlin/net/thunderbird/core/ui/compose/preference/ui/components/dialog/PreferenceDialog.kt +1 −1 Original line number Diff line number Diff line Loading @@ -39,6 +39,6 @@ internal fun PreferenceDialog( } // No dialog needed is PreferenceSetting.SingleChoice -> Unit is PreferenceSetting.SingleChoice, is PreferenceSetting.Switch -> Unit } } core/ui/compose/preference/src/main/kotlin/net/thunderbird/core/ui/compose/preference/ui/components/list/PreferenceItem.kt +8 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,14 @@ internal fun PreferenceItem( ) } is PreferenceSetting.Switch -> { PreferenceItemSwitchView( preference = preference, onPreferenceChange = onPreferenceChange, modifier = modifier, ) } // PreferenceDisplay is PreferenceDisplay.Custom -> { PreferenceItemCustomView( Loading Loading
core/ui/compose/preference/src/debug/kotlin/net/thunderbird/core/ui/compose/preference/ui/components/list/PreferenceItemSwitchViewPreview.kt 0 → 100644 +50 −0 Original line number Diff line number Diff line package net.thunderbird.core.ui.compose.preference.ui.components.list import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.Preview import app.k9mail.core.ui.compose.designsystem.PreviewWithThemes import net.thunderbird.core.ui.compose.preference.ui.fake.FakePreferenceData @Composable @Preview(showBackground = true) internal fun Preview_Switch_On_Enabled() { PreviewWithThemes { PreferenceItemSwitchView( preference = FakePreferenceData.switchPreference, onPreferenceChange = {}, ) } } @Composable @Preview(showBackground = true) internal fun Preview_Switch_Off_Enabled() { PreviewWithThemes { PreferenceItemSwitchView( preference = FakePreferenceData.switchPreference.copy(value = false), onPreferenceChange = {}, ) } } @Composable @Preview(showBackground = true) internal fun Preview_Switch_On_Disabled() { PreviewWithThemes { PreferenceItemSwitchView( preference = FakePreferenceData.switchPreference.copy(enabled = false), onPreferenceChange = {}, ) } } @Composable @Preview(showBackground = true) internal fun Preview_Switch_Off_Disabled() { PreviewWithThemes { PreferenceItemSwitchView( preference = FakePreferenceData.switchPreference.copy(value = false, enabled = false), onPreferenceChange = {}, ) } }
core/ui/compose/preference/src/debug/kotlin/net/thunderbird/core/ui/compose/preference/ui/fake/FakePreferenceData.kt +9 −0 Original line number Diff line number Diff line Loading @@ -42,9 +42,18 @@ internal object FakePreferenceData { options = choices, ) val switchPreference = PreferenceSetting.Switch( id = "switch", title = { "Title" }, description = { "Description" }, enabled = true, value = true, ) val preferences = persistentListOf( textPreference, colorPreference, switchPreference, singleChoicePreference, ) }
core/ui/compose/preference/src/main/kotlin/net/thunderbird/core/ui/compose/preference/api/Preference.kt +12 −0 Original line number Diff line number Diff line Loading @@ -65,6 +65,18 @@ sealed interface PreferenceSetting<T> : Preference { val title: () -> String, ) : Parcelable } @Parcelize data class Switch( override val id: String, val title: () -> String, val description: () -> String? = { null }, val enabled: Boolean, override val value: Boolean, ) : PreferenceSetting<Boolean> { @IgnoredOnParcel override val requiresEditView: Boolean = false } } /** Loading
core/ui/compose/preference/src/main/kotlin/net/thunderbird/core/ui/compose/preference/ui/components/dialog/PreferenceDialog.kt +1 −1 Original line number Diff line number Diff line Loading @@ -39,6 +39,6 @@ internal fun PreferenceDialog( } // No dialog needed is PreferenceSetting.SingleChoice -> Unit is PreferenceSetting.SingleChoice, is PreferenceSetting.Switch -> Unit } }
core/ui/compose/preference/src/main/kotlin/net/thunderbird/core/ui/compose/preference/ui/components/list/PreferenceItem.kt +8 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,14 @@ internal fun PreferenceItem( ) } is PreferenceSetting.Switch -> { PreferenceItemSwitchView( preference = preference, onPreferenceChange = onPreferenceChange, modifier = modifier, ) } // PreferenceDisplay is PreferenceDisplay.Custom -> { PreferenceItemCustomView( Loading