Update reminder control set padding

pull/1796/head
Alex Baker 3 years ago
parent 64dee60111
commit 2bf58b6977

@ -11,6 +11,8 @@ import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.material.MaterialTheme import androidx.compose.material.MaterialTheme
import androidx.compose.material.Text import androidx.compose.material.Text
import androidx.compose.material.ripple.rememberRipple import androidx.compose.material.ripple.rememberRipple
@ -22,6 +24,7 @@ import androidx.compose.ui.draw.alpha
import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextDecoration import androidx.compose.ui.text.style.TextDecoration
import androidx.compose.ui.unit.dp
import androidx.core.content.res.ResourcesCompat import androidx.core.content.res.ResourcesCompat
import com.google.android.material.composethemeadapter.MdcTheme import com.google.android.material.composethemeadapter.MdcTheme
import com.todoroo.andlib.utility.AndroidUtilities import com.todoroo.andlib.utility.AndroidUtilities
@ -137,6 +140,7 @@ class ReminderControlSet : TaskEditControlFragment() {
MdcTheme { MdcTheme {
val alarms = viewModel.selectedAlarms.collectAsStateLifecycleAware() val alarms = viewModel.selectedAlarms.collectAsStateLifecycleAware()
Column { Column {
Spacer(modifier = Modifier.height(8.dp))
alarms.value.forEach { alarm -> alarms.value.forEach { alarm ->
AlarmRow(alarmToString.toString(alarm)) { AlarmRow(alarmToString.toString(alarm)) {
viewModel.selectedAlarms.value = viewModel.selectedAlarms.value =
@ -148,6 +152,7 @@ class ReminderControlSet : TaskEditControlFragment() {
text = stringResource(id = R.string.add_reminder), text = stringResource(id = R.string.add_reminder),
style = MaterialTheme.typography.body1, style = MaterialTheme.typography.body1,
modifier = Modifier modifier = Modifier
.padding(vertical = 12.dp)
.clickable( .clickable(
interactionSource = remember { MutableInteractionSource() }, interactionSource = remember { MutableInteractionSource() },
indication = rememberRipple(bounded = false), indication = rememberRipple(bounded = false),
@ -174,14 +179,17 @@ class ReminderControlSet : TaskEditControlFragment() {
style = MaterialTheme.typography.body1.copy( style = MaterialTheme.typography.body1.copy(
textDecoration = TextDecoration.Underline textDecoration = TextDecoration.Underline
), ),
modifier = Modifier.clickable( modifier = Modifier
interactionSource = remember { MutableInteractionSource() }, .padding(vertical = 12.dp, horizontal = 16.dp)
indication = rememberRipple(bounded = false), .clickable(
onClick = { onClickRingType() } interactionSource = remember { MutableInteractionSource() },
) indication = rememberRipple(bounded = false),
onClick = { onClickRingType() }
)
) )
} }
} }
Spacer(modifier = Modifier.height(8.dp))
} }
val openCustomDialog = remember { showCustomDialog } val openCustomDialog = remember { showCustomDialog }
@ -213,6 +221,8 @@ class ReminderControlSet : TaskEditControlFragment() {
override fun controlId() = TAG override fun controlId() = TAG
override val rootLayout = R.layout.control_set_template_no_padding
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
if (requestCode == REQUEST_NEW_ALARM) { if (requestCode == REQUEST_NEW_ALARM) {
if (resultCode == Activity.RESULT_OK) { if (resultCode == Activity.RESULT_OK) {

@ -1,18 +1,19 @@
package org.tasks.compose package org.tasks.compose
import android.content.res.Configuration import android.content.res.Configuration
import androidx.compose.foundation.clickable
import androidx.compose.foundation.interaction.MutableInteractionSource
import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.material.Icon import androidx.compose.material.Icon
import androidx.compose.material.IconButton
import androidx.compose.material.MaterialTheme import androidx.compose.material.MaterialTheme
import androidx.compose.material.Text import androidx.compose.material.Text
import androidx.compose.material.darkColors import androidx.compose.material.darkColors
import androidx.compose.material.lightColors import androidx.compose.material.lightColors
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.alpha import androidx.compose.ui.draw.alpha
import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalContext
@ -32,25 +33,27 @@ fun AlarmRow(text: String, remove: () -> Unit = {}) {
) { ) {
Text( Text(
text = text, text = text,
modifier = Modifier.padding(bottom = 16.dp).weight(weight = 1f), modifier = Modifier
.padding(vertical = 12.dp)
.weight(weight = 1f),
) )
IconButton( Icon(
onClick = remove, painter = painterResource(id = R.drawable.ic_outline_clear_24px),
modifier = Modifier modifier = Modifier
.size(40.dp) .padding(12.dp)
.padding(start = 16.dp, bottom = 16.dp) .clickable(
) { interactionSource = remember { MutableInteractionSource() },
Icon( indication = null,
painter = painterResource(id = R.drawable.ic_outline_clear_24px), onClick = remove
modifier = Modifier.alpha( )
.alpha(
ResourcesCompat.getFloat( ResourcesCompat.getFloat(
LocalContext.current.resources, LocalContext.current.resources,
R.dimen.alpha_secondary R.dimen.alpha_secondary
) )
), ),
contentDescription = stringResource(id = R.string.delete) contentDescription = stringResource(id = R.string.delete)
) )
}
} }
} }

@ -5,7 +5,6 @@ import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.ImageView import android.widget.ImageView
import android.widget.LinearLayout
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
import org.tasks.R import org.tasks.R
@ -15,9 +14,9 @@ abstract class TaskEditControlFragment : Fragment() {
override fun onCreateView( override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
val view = inflater.inflate(R.layout.control_set_template, null) val view = inflater.inflate(rootLayout, null)
viewModel = ViewModelProvider(requireParentFragment()).get(TaskEditViewModel::class.java) viewModel = ViewModelProvider(requireParentFragment())[TaskEditViewModel::class.java]
val content = view.findViewById<LinearLayout>(R.id.content) val content = view.findViewById<ViewGroup>(R.id.content)
bind(content) bind(content)
val icon = view.findViewById<ImageView>(R.id.icon) val icon = view.findViewById<ImageView>(R.id.icon)
icon.setImageResource(this.icon) icon.setImageResource(this.icon)
@ -39,4 +38,6 @@ abstract class TaskEditControlFragment : Fragment() {
protected abstract val icon: Int protected abstract val icon: Int
abstract fun controlId(): Int abstract fun controlId(): Int
protected abstract fun bind(parent: ViewGroup?): View protected abstract fun bind(parent: ViewGroup?): View
protected open val rootLayout = R.layout.control_set_template
} }

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/content"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
android:orientation="horizontal">
<ImageView
android:id="@+id/icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:paddingTop="@dimen/task_edit_spacing"
android:paddingBottom="@dimen/task_edit_spacing"
android:paddingStart="@dimen/keyline_first"
android:paddingEnd="@dimen/keyline_second"
android:alpha="@dimen/alpha_secondary"
android:scaleType="center"
app:tint="@color/icon_tint"
tools:ignore="ContentDescription"/>
</LinearLayout>
Loading…
Cancel
Save