Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 216b277d authored by Mohammed Althaf T's avatar Mohammed Althaf T 😊
Browse files

Revert "SettingsLib: Use android.widget switch for compose"

This reverts commit 6c0482eb.
parent 6036cf72
Loading
Loading
Loading
Loading
+3 −30
Original line number Diff line number Diff line
@@ -16,13 +16,10 @@

package com.android.settingslib.spa.widget.ui

import android.widget.Switch
import androidx.compose.foundation.interaction.MutableInteractionSource
import androidx.compose.foundation.layout.wrapContentWidth
import androidx.compose.material3.Switch
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import androidx.compose.ui.viewinterop.AndroidView
import com.android.settingslib.spa.framework.util.wrapOnSwitchWithLog

@Composable
@@ -33,14 +30,14 @@ internal fun SettingsSwitch(
    interactionSource: MutableInteractionSource = remember { MutableInteractionSource() },
) {
    if (checked != null) {
        ESwitch(
        Switch(
            checked = checked,
            onCheckedChange = wrapOnSwitchWithLog(onCheckedChange),
            enabled = changeable(),
            interactionSource = interactionSource,
        )
    } else {
        ESwitch(
        Switch(
            checked = false,
            onCheckedChange = null,
            enabled = false,
@@ -48,27 +45,3 @@ internal fun SettingsSwitch(
        )
    }
}

@Composable
fun ESwitch(
    checked: Boolean,
    onCheckedChange: ((Boolean) -> Unit)?,
    enabled: Boolean = true,
    interactionSource: MutableInteractionSource // Unused interactionSource, keep for consistency
) {
    AndroidView(
        factory = { context ->
            Switch(context)
        },
        update = { view ->
            view.isChecked = checked
            view.isEnabled = enabled
            view.setOnCheckedChangeListener { _, newChecked ->
                if (newChecked != checked && onCheckedChange != null) {
                    onCheckedChange(newChecked)
                }
            }
        },
        modifier = Modifier.wrapContentWidth()
    )
}