Fix source tab long click

This commit is contained in:
Jobobby04
2022-12-04 16:34:24 -05:00
parent de4567a508
commit 290e962a57
3 changed files with 74 additions and 63 deletions
@@ -7,6 +7,8 @@ import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.lazy.items
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.PushPin
import androidx.compose.material.icons.outlined.PushPin
@@ -189,8 +191,8 @@ fun SourceOptionsDialog(
onClickPin: () -> Unit,
onClickDisable: () -> Unit,
// SY -->
onClickSetCategories: () -> Unit,
onClickToggleDataSaver: () -> Unit,
onClickSetCategories: (() -> Unit)?,
onClickToggleDataSaver: (() -> Unit)?,
// SY <--
onDismiss: () -> Unit,
) {
@@ -218,24 +220,28 @@ fun SourceOptionsDialog(
)
}
// SY -->
Text(
text = stringResource(id = R.string.categories),
modifier = Modifier
.clickable(onClick = onClickSetCategories)
.fillMaxWidth()
.padding(vertical = 16.dp),
)
Text(
text = if (source.isExcludedFromDataSaver) {
stringResource(id = R.string.data_saver_stop_exclude)
} else {
stringResource(id = R.string.data_saver_exclude)
},
modifier = Modifier
.clickable(onClick = onClickToggleDataSaver)
.fillMaxWidth()
.padding(vertical = 16.dp),
)
if (onClickSetCategories != null) {
Text(
text = stringResource(id = R.string.categories),
modifier = Modifier
.clickable(onClick = onClickSetCategories)
.fillMaxWidth()
.padding(vertical = 16.dp),
)
}
if (onClickToggleDataSaver != null) {
Text(
text = if (source.isExcludedFromDataSaver) {
stringResource(id = R.string.data_saver_stop_exclude)
} else {
stringResource(id = R.string.data_saver_exclude)
},
modifier = Modifier
.clickable(onClick = onClickToggleDataSaver)
.fillMaxWidth()
.padding(vertical = 16.dp),
)
}
// SY <--
}
},
@@ -252,12 +258,11 @@ sealed class SourceUiModel {
// SY -->
@Composable
fun SourceCategoriesDialog(
source: Source?,
source: Source,
categories: List<String>,
onClickCategories: (List<String>) -> Unit,
onDismiss: () -> Unit,
onDismissRequest: () -> Unit,
) {
source ?: return
val newCategories = remember(source) {
mutableStateListOf<String>().also { it += source.categories }
}
@@ -266,7 +271,7 @@ fun SourceCategoriesDialog(
Text(text = source.visualName)
},
text = {
Column {
Column(Modifier.verticalScroll(rememberScrollState())) {
categories.forEach {
Row(
modifier = Modifier
@@ -293,7 +298,7 @@ fun SourceCategoriesDialog(
}
}
},
onDismissRequest = onDismiss,
onDismissRequest = onDismissRequest,
confirmButton = {
TextButton(onClick = { onClickCategories(newCategories.toList()) }) {
Text(text = stringResource(android.R.string.ok))