mirror of https://github.com/tasks/tasks
Convert AddAccountDialog to compose
parent
68b91ed2c7
commit
e16f076fb7
@ -0,0 +1,52 @@
|
|||||||
|
package org.tasks.compose
|
||||||
|
|
||||||
|
import androidx.annotation.DrawableRes
|
||||||
|
import androidx.annotation.StringRes
|
||||||
|
import androidx.compose.foundation.clickable
|
||||||
|
import androidx.compose.foundation.layout.Column
|
||||||
|
import androidx.compose.foundation.layout.Row
|
||||||
|
import androidx.compose.foundation.layout.padding
|
||||||
|
import androidx.compose.foundation.layout.size
|
||||||
|
import androidx.compose.material.Icon
|
||||||
|
import androidx.compose.material.MaterialTheme
|
||||||
|
import androidx.compose.material.Text
|
||||||
|
import androidx.compose.runtime.Composable
|
||||||
|
import androidx.compose.ui.Alignment
|
||||||
|
import androidx.compose.ui.Modifier
|
||||||
|
import androidx.compose.ui.graphics.Color
|
||||||
|
import androidx.compose.ui.res.painterResource
|
||||||
|
import androidx.compose.ui.res.stringResource
|
||||||
|
import androidx.compose.ui.unit.dp
|
||||||
|
|
||||||
|
@Composable
|
||||||
|
fun SyncAccount(
|
||||||
|
@StringRes title: Int,
|
||||||
|
@StringRes description: Int,
|
||||||
|
@DrawableRes icon: Int,
|
||||||
|
tint: Color? = null,
|
||||||
|
onClick: () -> Unit,
|
||||||
|
) {
|
||||||
|
Row(
|
||||||
|
modifier = Modifier
|
||||||
|
.clickable { onClick() }
|
||||||
|
.padding(vertical = 8.dp, horizontal = 16.dp),
|
||||||
|
verticalAlignment = Alignment.CenterVertically,
|
||||||
|
) {
|
||||||
|
Icon(
|
||||||
|
painter = painterResource(id = icon),
|
||||||
|
contentDescription = stringResource(id = title),
|
||||||
|
tint = tint ?: Color.Unspecified,
|
||||||
|
modifier = Modifier.padding(end = 16.dp).size(48.dp),
|
||||||
|
)
|
||||||
|
Column {
|
||||||
|
Text(
|
||||||
|
text = stringResource(id = title),
|
||||||
|
style = MaterialTheme.typography.body1,
|
||||||
|
)
|
||||||
|
Text(
|
||||||
|
text = stringResource(id = description),
|
||||||
|
style = MaterialTheme.typography.body2,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,18 +0,0 @@
|
|||||||
package org.tasks.extensions
|
|
||||||
|
|
||||||
import android.content.res.Resources
|
|
||||||
|
|
||||||
object Resources {
|
|
||||||
fun Resources.getMutableStringList(id: Int): MutableList<String> =
|
|
||||||
getStringArray(id).toMutableList()
|
|
||||||
|
|
||||||
fun Resources.getMutableIntList(id: Int): MutableList<Int> {
|
|
||||||
val typedArray = obtainTypedArray(id)
|
|
||||||
val result = IntArray(typedArray.length())
|
|
||||||
for (i in result.indices) {
|
|
||||||
result[i] = typedArray.getResourceId(i, 0)
|
|
||||||
}
|
|
||||||
typedArray.recycle()
|
|
||||||
return result.toMutableList()
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue