Skip to content

Commit

Permalink
Fix drawer search suggestion preference state
Browse files Browse the repository at this point in the history
  • Loading branch information
SuperDragonXD committed Sep 1, 2024
1 parent 3662131 commit 28f417d
Showing 1 changed file with 29 additions and 30 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -49,14 +49,16 @@ fun SearchSuggestionPreference(
) {
val isGranted = permissionState?.status?.isGranted ?: true

LaunchedEffect("") {
LaunchedEffect(Unit) {
if (!isGranted) {
adapter.onChange(false)
}
}

SearchSuggestionPreference(
adapter = adapter,
checked = adapter.state.value,
onCheckedChange = { adapter.onChange(it) },
enabled = isGranted,
maxCountAdapter = maxCountAdapter,
maxCountRange = maxCountRange,
label = label,
Expand Down Expand Up @@ -86,7 +88,7 @@ fun SearchSuggestionPreference(
) {
SearchSuggestionPreference(
checked = adapter.state.value,
onCheckedChange = adapter::onChange,
onCheckedChange = { adapter.onChange(it) },
enabled = isGranted,
maxCountAdapter = maxCountAdapter,
maxCountRange = maxCountRange,
Expand Down Expand Up @@ -115,31 +117,27 @@ fun SearchSuggestionPreference(
permissionRationale: String? = null,
content: @Composable (() -> Unit)? = null,
) {
val bottomSheetHandler = bottomSheetHandler

SearchSuggestionsSwitchPreference(
label = label,
description = description,
checked = checked,
onCheckedChange = onCheckedChange,
enabled = enabled,
onClick = {
bottomSheetHandler.show {
BottomSheetContent(
onHide = { bottomSheetHandler.hide() },
isPermissionGranted = isGranted,
adapterValue = checked,
adapterEnabled = enabled,
adapterOnChange = onCheckedChange,
label = label,
maxCountLabel = maxCountLabel,
maxCountAdapter = maxCountAdapter,
maxCountRange = maxCountRange,
content = content,
onRequestPermission = onRequestPermission,
permissionRationale = permissionRationale,
)
}
content = { onHide ->
BottomSheetContent(
onHide = onHide,
isPermissionGranted = isGranted,
adapterValue = checked,
adapterEnabled = enabled,
adapterOnChange = onCheckedChange,
label = label,
maxCountLabel = maxCountLabel,
maxCountAdapter = maxCountAdapter,
maxCountRange = maxCountRange,
content = content,
onRequestPermission = onRequestPermission,
permissionRationale = permissionRationale,
)
},
)
}
Expand Down Expand Up @@ -169,9 +167,7 @@ private fun BottomSheetContent(
Column {
MainSwitchPreference(
checked = adapterValue,
onCheckedChange = {
adapterOnChange(it)
},
onCheckedChange = adapterOnChange,
label = label,
enabled = adapterEnabled,
) {
Expand Down Expand Up @@ -204,7 +200,6 @@ private fun BottomSheetContent(
Spacer(Modifier.weight(1f))
Button(
onClick = {
onHide()
onRequestPermission()
},
) {
Expand All @@ -224,13 +219,17 @@ private fun SearchSuggestionsSwitchPreference(
label: String,
checked: Boolean,
onCheckedChange: (Boolean) -> Unit,
onClick: () -> Unit,
enabled: Boolean,
description: String? = null,
content: @Composable ((() -> Unit) -> Unit),
) {
val bottomSheetHandler = bottomSheetHandler

PreferenceTemplate(
modifier = Modifier.clickable {
onClick()
bottomSheetHandler.show {
content { bottomSheetHandler.hide() }
}
},
contentModifier = Modifier
.fillMaxHeight()
Expand All @@ -251,7 +250,7 @@ private fun SearchSuggestionsSwitchPreference(
.padding(all = 16.dp)
.height(24.dp),
checked = checked,
onCheckedChange = { onCheckedChange(it) },
onCheckedChange = onCheckedChange,
enabled = enabled,
)
},
Expand All @@ -266,7 +265,7 @@ private fun SearchSuggestionsSwitchPreferencePreview() {
SearchSuggestionsSwitchPreference(
label = "example",
checked = true,
onClick = { /*TODO*/ },
content = {},
onCheckedChange = {},
enabled = true,
)
Expand Down

0 comments on commit 28f417d

Please sign in to comment.