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