diff --git a/app/src/main/java/com/todoroo/astrid/ui/ReminderControlSet.kt b/app/src/main/java/com/todoroo/astrid/ui/ReminderControlSet.kt index 7d18607db..ac4859bec 100644 --- a/app/src/main/java/com/todoroo/astrid/ui/ReminderControlSet.kt +++ b/app/src/main/java/com/todoroo/astrid/ui/ReminderControlSet.kt @@ -11,6 +11,8 @@ import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer 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.Text 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.res.stringResource import androidx.compose.ui.text.style.TextDecoration +import androidx.compose.ui.unit.dp import androidx.core.content.res.ResourcesCompat import com.google.android.material.composethemeadapter.MdcTheme import com.todoroo.andlib.utility.AndroidUtilities @@ -137,6 +140,7 @@ class ReminderControlSet : TaskEditControlFragment() { MdcTheme { val alarms = viewModel.selectedAlarms.collectAsStateLifecycleAware() Column { + Spacer(modifier = Modifier.height(8.dp)) alarms.value.forEach { alarm -> AlarmRow(alarmToString.toString(alarm)) { viewModel.selectedAlarms.value = @@ -148,6 +152,7 @@ class ReminderControlSet : TaskEditControlFragment() { text = stringResource(id = R.string.add_reminder), style = MaterialTheme.typography.body1, modifier = Modifier + .padding(vertical = 12.dp) .clickable( interactionSource = remember { MutableInteractionSource() }, indication = rememberRipple(bounded = false), @@ -174,14 +179,17 @@ class ReminderControlSet : TaskEditControlFragment() { style = MaterialTheme.typography.body1.copy( textDecoration = TextDecoration.Underline ), - modifier = Modifier.clickable( - interactionSource = remember { MutableInteractionSource() }, - indication = rememberRipple(bounded = false), - onClick = { onClickRingType() } - ) + modifier = Modifier + .padding(vertical = 12.dp, horizontal = 16.dp) + .clickable( + interactionSource = remember { MutableInteractionSource() }, + indication = rememberRipple(bounded = false), + onClick = { onClickRingType() } + ) ) } } + Spacer(modifier = Modifier.height(8.dp)) } val openCustomDialog = remember { showCustomDialog } @@ -213,6 +221,8 @@ class ReminderControlSet : TaskEditControlFragment() { override fun controlId() = TAG + override val rootLayout = R.layout.control_set_template_no_padding + override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { if (requestCode == REQUEST_NEW_ALARM) { if (resultCode == Activity.RESULT_OK) { diff --git a/app/src/main/java/org/tasks/compose/AlarmRow.kt b/app/src/main/java/org/tasks/compose/AlarmRow.kt index e308d1390..e3a954639 100644 --- a/app/src/main/java/org/tasks/compose/AlarmRow.kt +++ b/app/src/main/java/org/tasks/compose/AlarmRow.kt @@ -1,18 +1,19 @@ package org.tasks.compose 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.layout.Row import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.size import androidx.compose.material.Icon -import androidx.compose.material.IconButton import androidx.compose.material.MaterialTheme import androidx.compose.material.Text import androidx.compose.material.darkColors import androidx.compose.material.lightColors import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import androidx.compose.ui.draw.alpha import androidx.compose.ui.platform.LocalContext @@ -32,25 +33,27 @@ fun AlarmRow(text: String, remove: () -> Unit = {}) { ) { Text( text = text, - modifier = Modifier.padding(bottom = 16.dp).weight(weight = 1f), + modifier = Modifier + .padding(vertical = 12.dp) + .weight(weight = 1f), ) - IconButton( - onClick = remove, + Icon( + painter = painterResource(id = R.drawable.ic_outline_clear_24px), modifier = Modifier - .size(40.dp) - .padding(start = 16.dp, bottom = 16.dp) - ) { - Icon( - painter = painterResource(id = R.drawable.ic_outline_clear_24px), - modifier = Modifier.alpha( + .padding(12.dp) + .clickable( + interactionSource = remember { MutableInteractionSource() }, + indication = null, + onClick = remove + ) + .alpha( ResourcesCompat.getFloat( LocalContext.current.resources, R.dimen.alpha_secondary ) ), - contentDescription = stringResource(id = R.string.delete) - ) - } + contentDescription = stringResource(id = R.string.delete) + ) } } diff --git a/app/src/main/java/org/tasks/ui/TaskEditControlFragment.kt b/app/src/main/java/org/tasks/ui/TaskEditControlFragment.kt index 7d611f9b0..675631ab8 100644 --- a/app/src/main/java/org/tasks/ui/TaskEditControlFragment.kt +++ b/app/src/main/java/org/tasks/ui/TaskEditControlFragment.kt @@ -5,7 +5,6 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.ImageView -import android.widget.LinearLayout import androidx.fragment.app.Fragment import androidx.lifecycle.ViewModelProvider import org.tasks.R @@ -15,9 +14,9 @@ abstract class TaskEditControlFragment : Fragment() { override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { - val view = inflater.inflate(R.layout.control_set_template, null) - viewModel = ViewModelProvider(requireParentFragment()).get(TaskEditViewModel::class.java) - val content = view.findViewById(R.id.content) + val view = inflater.inflate(rootLayout, null) + viewModel = ViewModelProvider(requireParentFragment())[TaskEditViewModel::class.java] + val content = view.findViewById(R.id.content) bind(content) val icon = view.findViewById(R.id.icon) icon.setImageResource(this.icon) @@ -39,4 +38,6 @@ abstract class TaskEditControlFragment : Fragment() { protected abstract val icon: Int abstract fun controlId(): Int protected abstract fun bind(parent: ViewGroup?): View + + protected open val rootLayout = R.layout.control_set_template } \ No newline at end of file diff --git a/app/src/main/res/layout/control_set_template_no_padding.xml b/app/src/main/res/layout/control_set_template_no_padding.xml new file mode 100644 index 000000000..9ec9ffdbf --- /dev/null +++ b/app/src/main/res/layout/control_set_template_no_padding.xml @@ -0,0 +1,25 @@ + + + + + + \ No newline at end of file