diff --git a/app/src/main/java/com/todoroo/astrid/ui/RandomReminderControlSet.kt b/app/src/main/java/com/todoroo/astrid/ui/RandomReminderControlSet.kt
deleted file mode 100644
index bdf1f1da1..000000000
--- a/app/src/main/java/com/todoroo/astrid/ui/RandomReminderControlSet.kt
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 2012 Todoroo Inc
- *
- * See the file "LICENSE" for the full license governing this code.
- */
-package com.todoroo.astrid.ui
-
-import android.content.Context
-import android.view.View
-import android.widget.AdapterView
-import android.widget.AdapterView.OnItemSelectedListener
-import android.widget.ArrayAdapter
-import android.widget.Spinner
-import com.todoroo.andlib.utility.DateUtilities
-import org.tasks.R
-import org.tasks.data.Alarm
-import org.tasks.data.Alarm.Companion.TYPE_RANDOM
-import org.tasks.ui.TaskEditViewModel
-
-/**
- * Control set dealing with random reminder settings
- *
- * @author Tim Su @todoroo.com>
- */
-internal class RandomReminderControlSet(context: Context, parentView: View, reminderPeriod: Long, vm: TaskEditViewModel) {
- init {
- val periodSpinner = parentView.findViewById(R.id.reminder_random_interval)
- periodSpinner.visibility = View.VISIBLE
- // create hour array
- val hourStrings = context.resources.getStringArray(R.array.TEA_reminder_random_hours)
- val hours = IntArray(hourStrings.size)
- for (i in hours.indices) {
- hours[i] = hourStrings[i].toInt()
- }
- // create adapter
- val adapter = ArrayAdapter(
- context,
- android.R.layout.simple_spinner_item,
- context.resources.getStringArray(R.array.TEA_reminder_random))
- adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
- periodSpinner.adapter = adapter
- periodSpinner.onItemSelectedListener = object : OnItemSelectedListener {
- override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
- val newAlarm =
- Alarm(vm.task?.id ?: 0, hours[position] * DateUtilities.ONE_HOUR, TYPE_RANDOM)
- vm.selectedAlarms.value =
- vm.selectedAlarms.value.toMutableList().apply {
- find { it.type == TYPE_RANDOM }?.let {
- newAlarm.id = it.id
- remove(it)
- }
- add(newAlarm)
- }
- }
-
- override fun onNothingSelected(parent: AdapterView<*>?) {}
- }
-
- var i = 0
- while (i < hours.size - 1) {
- if (hours[i] * DateUtilities.ONE_HOUR >= reminderPeriod) {
- break
- }
- i++
- }
- periodSpinner.setSelection(i)
- }
-}
\ No newline at end of file
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 3f1d8cff9..0a1735755 100644
--- a/app/src/main/java/com/todoroo/astrid/ui/ReminderControlSet.kt
+++ b/app/src/main/java/com/todoroo/astrid/ui/ReminderControlSet.kt
@@ -1,35 +1,38 @@
-/*
- * Copyright (c) 2012 Todoroo Inc
- *
- * See the file "LICENSE" for the full license governing this code.
- */
package com.todoroo.astrid.ui
import android.app.Activity
import android.content.DialogInterface
import android.content.Intent
-import android.graphics.Paint
import android.os.Bundle
-import android.view.View
import android.view.ViewGroup
-import android.widget.LinearLayout
-import android.widget.TextView
-import androidx.annotation.StringRes
-import androidx.compose.material.AlertDialog
+import androidx.compose.foundation.clickable
+import androidx.compose.foundation.interaction.MutableInteractionSource
+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.material.MaterialTheme
+import androidx.compose.material.Text
+import androidx.compose.material.ripple.rememberRipple
+import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
-import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.ui.ExperimentalComposeUiApi
+import androidx.compose.ui.Modifier
+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.core.content.res.ResourcesCompat
import com.google.android.material.composethemeadapter.MdcTheme
import com.todoroo.andlib.utility.AndroidUtilities
import dagger.hilt.android.AndroidEntryPoint
import org.tasks.R
import org.tasks.activities.DateAndTimePickerActivity
import org.tasks.compose.AddReminderDialog
-import org.tasks.compose.Constants
+import org.tasks.compose.AlarmRow
import org.tasks.data.Alarm
import org.tasks.data.Alarm.Companion.TYPE_DATE_TIME
-import org.tasks.data.Alarm.Companion.TYPE_RANDOM
import org.tasks.data.Alarm.Companion.TYPE_REL_END
import org.tasks.data.Alarm.Companion.TYPE_REL_START
import org.tasks.data.Alarm.Companion.whenDue
@@ -44,39 +47,31 @@ import org.tasks.ui.TaskEditControlFragment
import java.util.concurrent.TimeUnit
import javax.inject.Inject
-
-/**
- * Control set dealing with reminder settings
- *
- * @author Tim Su @todoroo.com>
- */
@AndroidEntryPoint
class ReminderControlSet : TaskEditControlFragment() {
@Inject lateinit var activity: Activity
@Inject lateinit var dialogBuilder: DialogBuilder
@Inject lateinit var alarmToString: AlarmToString
- private lateinit var alertContainer: LinearLayout
- private lateinit var mode: TextView
-
- private var randomControlSet: RandomReminderControlSet? = null
- private val showDialog = mutableStateOf(false)
+ private val showCustomDialog = mutableStateOf(false)
+ private val showRandomDialog = mutableStateOf(false)
+ private val ringMode = mutableStateOf(0)
override fun createView(savedInstanceState: Bundle?) {
- showDialog.value = savedInstanceState?.getBoolean(DIALOG_VISIBLE) ?: false
- mode.paintFlags = mode.paintFlags or Paint.UNDERLINE_TEXT_FLAG
+ showCustomDialog.value = savedInstanceState?.getBoolean(CUSTOM_DIALOG_VISIBLE) ?: false
+ showRandomDialog.value = savedInstanceState?.getBoolean(RANDOM_DIALOG_VISIBLE) ?: false
when {
viewModel.ringNonstop!! -> setRingMode(2)
viewModel.ringFiveTimes!! -> setRingMode(1)
else -> setRingMode(0)
}
- viewModel.selectedAlarms.value.forEach(this::addAlarmRow)
}
override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
- outState.putBoolean(DIALOG_VISIBLE, showDialog.value)
+ outState.putBoolean(CUSTOM_DIALOG_VISIBLE, showCustomDialog.value)
+ outState.putBoolean(RANDOM_DIALOG_VISIBLE, showRandomDialog.value)
}
private fun onClickRingType() {
@@ -98,16 +93,7 @@ class ReminderControlSet : TaskEditControlFragment() {
private fun setRingMode(ringMode: Int) {
viewModel.ringNonstop = ringMode == 2
viewModel.ringFiveTimes = ringMode == 1
- mode.setText(getRingModeString(ringMode))
- }
-
- @StringRes
- private fun getRingModeString(ringMode: Int): Int {
- return when (ringMode) {
- 2 -> R.string.ring_nonstop
- 1 -> R.string.ring_five_times
- else -> R.string.ring_once
- }
+ this.ringMode.value = ringMode
}
private fun addAlarm(selected: String) {
@@ -120,7 +106,7 @@ class ReminderControlSet : TaskEditControlFragment() {
getString(R.string.when_overdue) ->
addAlarmRow(whenOverdue(id))
getString(R.string.randomly) ->
- addAlarmRow(Alarm(id, TimeUnit.DAYS.toMillis(14), TYPE_RANDOM))
+ addRandomAlarm()
getString(R.string.pick_a_date_and_time) ->
addNewAlarm()
getString(R.string.repeat_option_custom) ->
@@ -146,66 +132,80 @@ class ReminderControlSet : TaskEditControlFragment() {
@OptIn(ExperimentalComposeUiApi::class)
override fun bind(parent: ViewGroup?) =
ControlSetRemindersBinding.inflate(layoutInflater, parent, true).let {
- alertContainer = it.alertContainer
- mode = it.reminderAlarm.apply {
- setOnClickListener { onClickRingType() }
- }
- it.alarmsAdd.setOnClickListener { addAlarm() }
- it.dialogView.setContent {
+
+ it.alertContainer.setContent {
MdcTheme {
- val openDialog = remember { showDialog }
- val selectedInterval = rememberSaveable { mutableStateOf(15L as Long?) }
- val selectedMultiplier = rememberSaveable { mutableStateOf(0) }
- if (openDialog.value) {
- AlertDialog(
- onDismissRequest = {
- openDialog.value = false
- AndroidUtilities.hideKeyboard(activity)
- },
- text = {
- AddReminderDialog.AddReminderDialog(
- openDialog,
- selectedInterval,
- selectedMultiplier,
- )
- },
- confirmButton = {
- Constants.TextButton(text = R.string.ok, onClick = {
- val multiplier = -1 * when (selectedMultiplier.value) {
- 1 -> TimeUnit.HOURS.toMillis(1)
- 2 -> TimeUnit.DAYS.toMillis(1)
- 3 -> TimeUnit.DAYS.toMillis(7)
- else -> TimeUnit.MINUTES.toMillis(1)
- }
-
- selectedInterval.value?.let { i ->
- addAlarmRow(
- Alarm(
- viewModel.task?.id ?: 0L,
- i * multiplier,
- TYPE_REL_END
- )
+ val alarms = viewModel.selectedAlarms.collectAsState()
+ Column {
+ alarms.value.forEach { alarm ->
+ AlarmRow(alarmToString.toString(alarm)) {
+ viewModel.selectedAlarms.value =
+ viewModel.selectedAlarms.value.minus(alarm)
+ }
+ }
+ Row(modifier = Modifier.fillMaxWidth()) {
+ Text(
+ text = stringResource(id = R.string.add_reminder),
+ style = MaterialTheme.typography.body1,
+ modifier = Modifier
+ .clickable(
+ interactionSource = remember { MutableInteractionSource() },
+ indication = rememberRipple(bounded = false),
+ onClick = { addAlarm() }
+ )
+ .alpha(
+ ResourcesCompat.getFloat(
+ LocalContext.current.resources,
+ R.dimen.alpha_disabled
)
- openDialog.value = false
- AndroidUtilities.hideKeyboard(activity)
- }
- })
- },
- dismissButton = {
- Constants.TextButton(
- text = R.string.cancel,
- onClick = {
- openDialog.value = false
- AndroidUtilities.hideKeyboard(activity)
- })
- },
- )
- } else {
- selectedInterval.value = 15
- selectedMultiplier.value = 0
+ )
+ )
+ Spacer(modifier = Modifier.weight(1f))
+ val ringMode = remember { this@ReminderControlSet.ringMode }
+ if (alarms.value.isNotEmpty()) {
+ Text(
+ text = stringResource(
+ id = when (ringMode.value) {
+ 2 -> R.string.ring_nonstop
+ 1 -> R.string.ring_five_times
+ else -> R.string.ring_once
+ }
+ ),
+ style = MaterialTheme.typography.body1.copy(
+ textDecoration = TextDecoration.Underline
+ ),
+ modifier = Modifier.clickable(
+ interactionSource = remember { MutableInteractionSource() },
+ indication = rememberRipple(bounded = false),
+ onClick = { onClickRingType() }
+ )
+ )
+ }
+ }
}
+
+ val openCustomDialog = remember { showCustomDialog }
+ AddReminderDialog.AddCustomReminderDialog(
+ openCustomDialog,
+ addAlarm = this::addAlarmRow,
+ closeDialog = {
+ openCustomDialog.value = false
+ AndroidUtilities.hideKeyboard(activity)
+ }
+ )
+
+ val openRandomDialog = remember { showRandomDialog }
+ AddReminderDialog.AddRandomReminderDialog(
+ openRandomDialog,
+ addAlarm = this::addAlarmRow,
+ closeDialog = {
+ openRandomDialog.value = false
+ AndroidUtilities.hideKeyboard(activity)
+ }
+ )
}
}
+
it.root
}
@@ -217,11 +217,7 @@ class ReminderControlSet : TaskEditControlFragment() {
if (requestCode == REQUEST_NEW_ALARM) {
if (resultCode == Activity.RESULT_OK) {
val timestamp = data!!.getLongExtra(MyTimePickerDialog.EXTRA_TIMESTAMP, 0L)
- if (viewModel.selectedAlarms.value.none { it.type == TYPE_DATE_TIME && timestamp == it.time }) {
- val alarm = Alarm(viewModel.task?.id ?: 0, timestamp, TYPE_DATE_TIME)
- viewModel.selectedAlarms.value = viewModel.selectedAlarms.value.plus(alarm)
- addAlarmRow(alarm)
- }
+ addAlarmRow(Alarm(0, timestamp, TYPE_DATE_TIME))
}
} else {
super.onActivityResult(requestCode, resultCode, data)
@@ -229,49 +225,28 @@ class ReminderControlSet : TaskEditControlFragment() {
}
private fun addAlarmRow(alarm: Alarm) {
- val alarmRow = addAlarmRow(alarm) {
- if (alarm.type == TYPE_RANDOM) {
- viewModel.selectedAlarms.value =
- viewModel.selectedAlarms.value.filterNot { it.type == TYPE_RANDOM }
- randomControlSet = null
- } else {
- viewModel.selectedAlarms.value =
- viewModel.selectedAlarms.value.filterNot { it.same(alarm) }
+ with (viewModel.selectedAlarms) {
+ if (value.none { it.same(alarm) }) {
+ value = value.plus(alarm)
}
}
- if (alarm.type == TYPE_RANDOM) {
- randomControlSet = RandomReminderControlSet(activity, alarmRow, alarm.time, viewModel)
- }
}
private fun addNewAlarm() {
val intent = Intent(activity, DateAndTimePickerActivity::class.java)
- intent.putExtra(
- DateAndTimePickerActivity.EXTRA_TIMESTAMP, DateTimeUtils.newDateTime().noon().millis)
+ .putExtra(
+ DateAndTimePickerActivity.EXTRA_TIMESTAMP,
+ DateTimeUtils.newDateTime().noon().millis
+ )
startActivityForResult(intent, REQUEST_NEW_ALARM)
}
private fun addCustomAlarm() {
- showDialog.value = true
+ showCustomDialog.value = true
}
- private fun addAlarmRow(alarm: Alarm, onRemove: View.OnClickListener): View {
- val alertItem = requireActivity().layoutInflater.inflate(R.layout.alarm_edit_row, null)
- alertContainer.addView(alertItem)
- addAlarmRow(alertItem, alarm, onRemove)
- return alertItem
- }
-
- private fun addAlarmRow(alertItem: View, alarm: Alarm, onRemove: View.OnClickListener?) {
- val display = alertItem.findViewById(R.id.alarm_string)
- viewModel.selectedAlarms.value = viewModel.selectedAlarms.value.plus(alarm)
- display.text = alarmToString.toString(alarm)
- alertItem
- .findViewById(R.id.clear)
- .setOnClickListener { v: View? ->
- alertContainer.removeView(alertItem)
- onRemove?.onClick(v)
- }
+ private fun addRandomAlarm() {
+ showRandomDialog.value = true
}
private val options: List
@@ -286,9 +261,7 @@ class ReminderControlSet : TaskEditControlFragment() {
if (viewModel.selectedAlarms.value.find { it.type == TYPE_REL_END && it.time == TimeUnit.HOURS.toMillis(24) } == null) {
options.add(getString(R.string.when_overdue))
}
- if (randomControlSet == null) {
- options.add(getString(R.string.randomly))
- }
+ options.add(getString(R.string.randomly))
options.add(getString(R.string.pick_a_date_and_time))
options.add(getString(R.string.repeat_option_custom))
return options
@@ -297,7 +270,8 @@ class ReminderControlSet : TaskEditControlFragment() {
companion object {
const val TAG = R.string.TEA_ctrl_reminders_pref
private const val REQUEST_NEW_ALARM = 12152
- private const val DIALOG_VISIBLE = "dialog_visible"
+ private const val CUSTOM_DIALOG_VISIBLE = "custom_dialog_visible"
+ private const val RANDOM_DIALOG_VISIBLE = "random_dialog_visible"
}
}
diff --git a/app/src/main/java/org/tasks/compose/AddReminderDialog.kt b/app/src/main/java/org/tasks/compose/AddReminderDialog.kt
index 2b7e7d9bc..10445b360 100644
--- a/app/src/main/java/org/tasks/compose/AddReminderDialog.kt
+++ b/app/src/main/java/org/tasks/compose/AddReminderDialog.kt
@@ -13,6 +13,7 @@ import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.text.KeyboardOptions
import androidx.compose.foundation.verticalScroll
+import androidx.compose.material.AlertDialog
import androidx.compose.material.MaterialTheme
import androidx.compose.material.OutlinedTextField
import androidx.compose.material.RadioButton
@@ -42,11 +43,102 @@ import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import kotlinx.coroutines.android.awaitFrame
import org.tasks.R
+import org.tasks.data.Alarm
+import java.util.concurrent.TimeUnit
@ExperimentalComposeUiApi
object AddReminderDialog {
@Composable
- fun AddReminderDialog(
+ fun AddRandomReminderDialog(
+ openDialog: MutableState,
+ addAlarm: (Alarm) -> Unit,
+ closeDialog: () -> Unit,
+ ) {
+ val interval = rememberSaveable { mutableStateOf(15L as Long?) }
+ val multiplier = rememberSaveable { mutableStateOf(0) }
+ if (openDialog.value) {
+ AlertDialog(
+ onDismissRequest = closeDialog,
+ text = { AddRandomReminder(openDialog, interval, multiplier) },
+ confirmButton = {
+ Constants.TextButton(text = R.string.ok, onClick = {
+ interval.value?.let { i ->
+ addAlarm(Alarm(0, i * multiplier.millis, Alarm.TYPE_RANDOM))
+ closeDialog()
+ }
+ })
+ },
+ dismissButton = {
+ Constants.TextButton(
+ text = R.string.cancel,
+ onClick = closeDialog
+ )
+ },
+ )
+ } else {
+ interval.value = 15
+ multiplier.value = 0
+ }
+ }
+
+ @Composable
+ fun AddCustomReminderDialog(
+ openDialog: MutableState,
+ addAlarm: (Alarm) -> Unit,
+ closeDialog: () -> Unit,
+ ) {
+ val interval = rememberSaveable { mutableStateOf(15L as Long?) }
+ val multiplier = rememberSaveable { mutableStateOf(0) }
+ if (openDialog.value) {
+ AlertDialog(
+ onDismissRequest = closeDialog,
+ text = { AddCustomReminder(openDialog, interval, multiplier) },
+ confirmButton = {
+ Constants.TextButton(text = R.string.ok, onClick = {
+ interval.value?.let { i ->
+ addAlarm(Alarm(0, -1 * i * multiplier.millis, Alarm.TYPE_REL_END))
+ closeDialog()
+ }
+ })
+ },
+ dismissButton = {
+ Constants.TextButton(
+ text = R.string.cancel,
+ onClick = closeDialog
+ )
+ },
+ )
+ } else {
+ interval.value = 15
+ multiplier.value = 0
+ }
+ }
+
+ @Composable
+ fun AddRandomReminder(
+ visible: MutableState,
+ interval: MutableState,
+ selected: MutableState
+ ) {
+ val scrollState = rememberScrollState()
+ Column(
+ modifier = Modifier
+ .fillMaxWidth()
+ .verticalScroll(scrollState)
+ ) {
+ CenteredH6(text = stringResource(id = R.string.randomly_every, "").trim())
+ val focusRequester = remember { FocusRequester() }
+ OutlinedLongInput(interval, focusRequester)
+ Spacer(modifier = Modifier.height(16.dp))
+ options.forEachIndexed { index, option ->
+ RadioRow(index, option, interval, selected)
+ }
+ ShowKeyboard(visible, focusRequester)
+ }
+ }
+
+ @Composable
+ fun AddCustomReminder(
visible: MutableState,
interval: MutableState,
selected: MutableState,
@@ -61,18 +153,27 @@ object AddReminderDialog {
val focusRequester = remember { FocusRequester() }
OutlinedLongInput(interval, focusRequester)
Spacer(modifier = Modifier.height(16.dp))
- val options = listOf(
- R.plurals.reminder_minutes,
- R.plurals.reminder_hours,
- R.plurals.reminder_days,
- R.plurals.reminder_week,
- )
options.forEachIndexed { index, option ->
- RadioRow(index, option, interval, selected)
+ RadioRow(index, option, interval, selected, R.string.alarm_before_due)
}
ShowKeyboard(visible, focusRequester)
}
}
+
+ private val options = listOf(
+ R.plurals.reminder_minutes,
+ R.plurals.reminder_hours,
+ R.plurals.reminder_days,
+ R.plurals.reminder_week,
+ )
+
+ private val MutableState.millis: Long
+ get() = when (value) {
+ 1 -> TimeUnit.HOURS.toMillis(1)
+ 2 -> TimeUnit.DAYS.toMillis(1)
+ 3 -> TimeUnit.DAYS.toMillis(7)
+ else -> TimeUnit.MINUTES.toMillis(1)
+ }
}
@ExperimentalComposeUiApi
@@ -117,8 +218,13 @@ fun OutlinedLongInput(
@Composable
fun CenteredH6(@StringRes resId: Int) {
+ CenteredH6(text = stringResource(id = resId))
+}
+
+@Composable
+fun CenteredH6(text: String) {
Text(
- text = stringResource(id = resId),
+ text = text,
textAlign = TextAlign.Center,
modifier = Modifier
.fillMaxWidth()
@@ -129,7 +235,13 @@ fun CenteredH6(@StringRes resId: Int) {
}
@Composable
-fun RadioRow(index: Int, option: Int, interval: MutableState, selected: MutableState) {
+fun RadioRow(
+ index: Int,
+ option: Int,
+ interval: MutableState,
+ selected: MutableState,
+ formatString: Int? = null,
+) {
val number = interval.value?.toInt() ?: 1
val optionString = LocalContext.current.resources.getQuantityString(option, number)
Row(
@@ -150,7 +262,10 @@ fun RadioRow(index: Int, option: Int, interval: MutableState, selected: M
)
Text(
text = if (index == selected.value) {
- stringResource(id = R.string.alarm_before_due, optionString)
+ formatString
+ ?.let { stringResource(id = formatString, optionString) }
+ ?: optionString
+
} else {
optionString
},
@@ -165,9 +280,35 @@ fun RadioRow(index: Int, option: Int, interval: MutableState, selected: M
@Preview(showBackground = true)
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
@Composable
-fun AddReminderOne() =
+fun AddCustomReminderOne() =
+ MaterialTheme(if (isSystemInDarkTheme()) darkColors() else lightColors()) {
+ AddReminderDialog.AddCustomReminder(
+ visible = remember { mutableStateOf(true) },
+ interval = remember { mutableStateOf(1L) },
+ selected = remember { mutableStateOf(0) }
+ )
+ }
+
+@ExperimentalComposeUiApi
+@Preview(showBackground = true)
+@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
+@Composable
+fun AddCustomReminder() =
+ MaterialTheme(if (isSystemInDarkTheme()) darkColors() else lightColors()) {
+ AddReminderDialog.AddCustomReminder(
+ visible = remember { mutableStateOf(true) },
+ interval = remember { mutableStateOf(15L) },
+ selected = remember { mutableStateOf(1) }
+ )
+ }
+
+@ExperimentalComposeUiApi
+@Preview(showBackground = true)
+@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
+@Composable
+fun AddRandomReminderOne() =
MaterialTheme(if (isSystemInDarkTheme()) darkColors() else lightColors()) {
- AddReminderDialog.AddReminderDialog(
+ AddReminderDialog.AddRandomReminder(
visible = remember { mutableStateOf(true) },
interval = remember { mutableStateOf(1L) },
selected = remember { mutableStateOf(0) }
@@ -178,9 +319,9 @@ fun AddReminderOne() =
@Preview(showBackground = true)
@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
@Composable
-fun AddReminderMultiple() =
+fun AddRandomReminder() =
MaterialTheme(if (isSystemInDarkTheme()) darkColors() else lightColors()) {
- AddReminderDialog.AddReminderDialog(
+ AddReminderDialog.AddRandomReminder(
visible = remember { mutableStateOf(true) },
interval = remember { mutableStateOf(15L) },
selected = remember { mutableStateOf(1) }
diff --git a/app/src/main/java/org/tasks/compose/AlarmRow.kt b/app/src/main/java/org/tasks/compose/AlarmRow.kt
new file mode 100644
index 000000000..7b7f317e3
--- /dev/null
+++ b/app/src/main/java/org/tasks/compose/AlarmRow.kt
@@ -0,0 +1,68 @@
+package org.tasks.compose
+
+import android.content.res.Configuration
+import androidx.compose.foundation.isSystemInDarkTheme
+import androidx.compose.foundation.layout.Row
+import androidx.compose.foundation.layout.Spacer
+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.ui.Modifier
+import androidx.compose.ui.draw.alpha
+import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.res.painterResource
+import androidx.compose.ui.res.stringResource
+import androidx.compose.ui.tooling.preview.Preview
+import androidx.compose.ui.unit.dp
+import androidx.core.content.res.ResourcesCompat
+import org.tasks.R
+
+
+@Composable
+fun AlarmRow(text: String, remove: () -> Unit = {}) {
+ Row(
+ modifier = Modifier
+ .fillMaxWidth()
+ ) {
+ Text(
+ text = text,
+ modifier = Modifier.padding(bottom = 16.dp)
+ )
+ Spacer(modifier = Modifier.weight(1f))
+ IconButton(
+ onClick = remove,
+ 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(
+ ResourcesCompat.getFloat(
+ LocalContext.current.resources,
+ R.dimen.alpha_secondary
+ )
+ ),
+ contentDescription = stringResource(id = R.string.delete)
+ )
+ }
+ }
+}
+
+@Preview(showBackground = true)
+@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES)
+@Composable
+fun AlarmRowPreview() {
+ MaterialTheme(if (isSystemInDarkTheme()) darkColors() else lightColors()) {
+ AlarmRow(text = "When due") {
+
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/org/tasks/reminders/AlarmToString.kt b/app/src/main/java/org/tasks/reminders/AlarmToString.kt
index 59cf89fe7..4fb896037 100644
--- a/app/src/main/java/org/tasks/reminders/AlarmToString.kt
+++ b/app/src/main/java/org/tasks/reminders/AlarmToString.kt
@@ -41,7 +41,7 @@ class AlarmToString @Inject constructor(
resources.getString(res, getDurationString(alarm.time))
}
Alarm.TYPE_RANDOM ->
- resources.getString(R.string.randomly_once) + " "
+ resources.getString(R.string.randomly_every, getDurationString(alarm.time))
Alarm.TYPE_SNOOZE ->
resources.getString(
R.string.snoozed_until,
diff --git a/app/src/main/res/layout/alarm_edit_row.xml b/app/src/main/res/layout/alarm_edit_row.xml
deleted file mode 100644
index 7bd3c44eb..000000000
--- a/app/src/main/res/layout/alarm_edit_row.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/src/main/res/layout/control_set_reminders.xml b/app/src/main/res/layout/control_set_reminders.xml
index 713a832b5..7c181f470 100644
--- a/app/src/main/res/layout/control_set_reminders.xml
+++ b/app/src/main/res/layout/control_set_reminders.xml
@@ -1,39 +1,5 @@
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml
index 25010373f..a42a87d3b 100644
--- a/app/src/main/res/values-ar/strings.xml
+++ b/app/src/main/res/values-ar/strings.xml
@@ -70,12 +70,6 @@
مهام قوقل
تسجيل ملاحظة
هل أنت متأكد؟ لا يمكن التراجع
- ساعة
- يوم
- أسبوع
- خلال أسبوعين
- شهر
- خلال شهرين
أكمل
غفوة
ابتداء ساعات الهدوء
@@ -293,7 +287,6 @@
يجب أن يكون %1$s قبل %2$s
لساعة
نصف القطر
- عشوائيًّا مرّة واحدة
مجلّد النّسخ الاحتياطيّة
البارحة
غدًا
diff --git a/app/src/main/res/values-bg-rBG/strings.xml b/app/src/main/res/values-bg-rBG/strings.xml
index b06300eda..0721fa927 100644
--- a/app/src/main/res/values-bg-rBG/strings.xml
+++ b/app/src/main/res/values-bg-rBG/strings.xml
@@ -137,12 +137,6 @@
Звънене веднъж
Звънене пет пъти
Звънене без прекъсване
- на час
- на ден
- в седмицата
- на две седмици
- в месеца
- на два месеца
Завършен
Отлагане
Отлагане всички
@@ -285,7 +279,6 @@
Добавяне на напомняне
Добавяне на място
Премахване
- Произволно веднъж
Произволно
Избиране на дата и час
След крайния срок
diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml
index 1b0002dae..ef9c019aa 100644
--- a/app/src/main/res/values-ca/strings.xml
+++ b/app/src/main/res/values-ca/strings.xml
@@ -217,12 +217,6 @@
Grava una nota de veu
Sona cinc cops
Sona ininterrompudament
- una hora
- un dia
- una setmana
- en dues setmanes
- un mes
- en dos mesos
Posposa tot
Cada
\ No newline at end of file
diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml
index c41391f11..3748923c3 100644
--- a/app/src/main/res/values-cs/strings.xml
+++ b/app/src/main/res/values-cs/strings.xml
@@ -108,12 +108,6 @@
Účet %s nebyl nalezen — přes nastavení Google Tasks se odhlaste a znovu přihlaste.
Nahrát poznámku
Opravdu\? Nelze vrátit zpět
- hodina
- den
- týden
- za dva týdny
- měsíc
- za dva měsíce
Dokončeno
Odložit
Nerušit od
@@ -334,7 +328,6 @@
Přizpůsobit obrazovku úprav
Přidat upomínku
Přidat místo
- Náhodně jednou
Vybrat datum a čas
S termínem
Okruh
diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml
index 068ae0117..ec4884e86 100644
--- a/app/src/main/res/values-da/strings.xml
+++ b/app/src/main/res/values-da/strings.xml
@@ -55,9 +55,6 @@
Åbn kalenderbegivenhed
%s (udført)
Google Huskeliste
- en time
- en dag
- en uge
Udført
Slumre
Hviletid begynder
@@ -345,7 +342,6 @@
Når der er frist
Vælg dato og tidspunkt
Tilfældigt
- Tilfældigt én gang
Fjern
Tilføj sted
Tilføj påmindelse
@@ -490,9 +486,6 @@
Notifikationer for opgaver uden frist-tid dukker op kl. %s
Standardpåmindelse
Udsæt alle
- om to måneder
- en måned
- om to uger
Ring uafbrudt
Ring fem gange
Ring én gang
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index 3d172990f..22fa31e58 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -131,12 +131,6 @@
Einmal klingeln
Fünfmal klingeln
Ununterbrochen klingeln
- in der Stunde
- am Tag
- in der Woche
- in zwei Wochen
- im Monat
- in 2 Monaten
Abgeschlossen
Schlummern
Alle schlummern
@@ -278,7 +272,6 @@
Erinnerung hinzufügen
Ort hinzufügen
Entfernen
- Zufällig einmal
Zufällig
Tag und Uhrzeit auswählen
Wenn überfällig
diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml
index 972380a91..f5251b769 100644
--- a/app/src/main/res/values-el/strings.xml
+++ b/app/src/main/res/values-el/strings.xml
@@ -101,12 +101,6 @@
Λογαριασμός %s δεν βρέθηκε - παρακαλώ αποσυνδεθείτε και συνδεθείτε πάλι απο τις ρυθμίσεις του Google Tasks.
Ηχογράφηση σημείωσης
Είστε σίγουρος; Δεν μπορεί να ακυρωθεί
- μια ώρα
- μια μέρα
- μια εβδομάδα
- σε δύο εβδομάδες
- ένα μήνα
- σε δύο μήνες
Ολοκληρωμένο
Αναβολή
Ξεκίνησε η ώρα ησυχίας
diff --git a/app/src/main/res/values-eo/strings.xml b/app/src/main/res/values-eo/strings.xml
index dedceeaa6..9c110bf58 100644
--- a/app/src/main/res/values-eo/strings.xml
+++ b/app/src/main/res/values-eo/strings.xml
@@ -57,7 +57,6 @@
- %d taskoj
Propra…
- tage
Sen komencdato
KAJ
NE
@@ -121,7 +120,6 @@
ĉia %1$s %2$s
Nur hodiaŭ
Nur teksto
- Hazarde unufoje
RIPETI ĈIUJARE
RIPETI ĈIUMONATE
RIPETI ĈIUSEMAJNE
@@ -150,11 +148,6 @@
Malŝaltitaj
Hazardaj memorigiloj
Defaŭlta memorigilo
- du monate
- monate
- du semajne
- semajne
- hore
Ĉu vi certas\? Ne povos malfari
En listo…
En GTasks Listo…
diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml
index abf6d0da6..64b324aef 100644
--- a/app/src/main/res/values-es/strings.xml
+++ b/app/src/main/res/values-es/strings.xml
@@ -131,12 +131,6 @@
Sonar una vez
Sonar cinco veces
Sonar sin parar
- una hora
- un día
- una semana
- en dos semanas
- un mes
- en dos meses
Terminada
Posponer
Posponer todo
@@ -279,7 +273,6 @@
Añadir recordatorio
Añadir ubicación
Eliminar
- Aleatorio, una sola vez
Aleatoriamente
Elegir fecha y hora
Si está atrasada
diff --git a/app/src/main/res/values-et/strings.xml b/app/src/main/res/values-et/strings.xml
index 67a3c4c0c..1581b48bb 100644
--- a/app/src/main/res/values-et/strings.xml
+++ b/app/src/main/res/values-et/strings.xml
@@ -105,11 +105,6 @@
Helista üks kord
Helista 5 korda
Helista lõputult
- tund
- päev
- nädal
- kahe nädala pärast
- kahe kuu pärast
Valmis
Lükka edasi
Lükka kõik edasi
diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml
index b3de5f5ae..86430866a 100644
--- a/app/src/main/res/values-eu/strings.xml
+++ b/app/src/main/res/values-eu/strings.xml
@@ -133,12 +133,6 @@
Doinua behin
Doinua bost aldiz
Doinua etengabe
- ordubete
- egun bat
- astebete
- bi aste
- hilabete
- bi hilabete
Burututa
Atzeratu
Atzeratu denak
@@ -281,7 +275,6 @@
Gehitu oroigarria
Gehitu kokalekua
Kendu
- Ausaz behin
Ausaz
Hautatu data eta ordua
Epemuga gaindituta badago
diff --git a/app/src/main/res/values-fa/strings.xml b/app/src/main/res/values-fa/strings.xml
index 76108d94a..017db1608 100644
--- a/app/src/main/res/values-fa/strings.xml
+++ b/app/src/main/res/values-fa/strings.xml
@@ -90,12 +90,6 @@
یک بار زنگ بزن
پنج بار زنگ بزن
بدون توقف زنگ بزن
- یک ساعت
- یک روز
- یک هفته
- دو هفته آینده
- یک ماه
- در دو ماه
کامل
شروع ساعات خلوتی
پایان ساعات خلوتی
@@ -179,7 +173,6 @@
کمک مالی
اضافه کردن یادآورد
حذف
- به طور تصادفی یک دفعه
به طور تصادفی
انتخاب یک تاریخ و زمان
پس از موعود
diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml
index 8bdf284f0..8a6321a0d 100644
--- a/app/src/main/res/values-fi/strings.xml
+++ b/app/src/main/res/values-fi/strings.xml
@@ -122,12 +122,6 @@
Soi kerran
Soi viisi kertaa
Soi jatkuvasti
- tunti
- päivä
- viikko
- kahden viikon kuluessa
- kuukausi
- kahden kuukauden kuluessa
Täydennä
Torkku
Torkuta kaikki
@@ -268,7 +262,6 @@
Lahjoita
Lisää muistutus
Poista
- Satunnaisesti kerran
Satunnaisesti
Valitse päivä ja aika
Kun myöhässä
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index a0cc2a93c..690817c10 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -124,12 +124,6 @@
Sonner une fois
Sonner cinq fois
Sonner en continu
- une heure
- un jour
- une semaine
- dans deux semaines
- un mois
- dans deux mois
Déjà fait
Rappeler plus tard
Tout rappeler
@@ -262,7 +256,6 @@
Ajouter un rappel
Ajouter une localisation
Retirer
- Une fois aléatoirement
Aléatoirement
Choisir date et heure
En cas de retard
diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml
index 72dc942ab..e75f58eaf 100644
--- a/app/src/main/res/values-gl/strings.xml
+++ b/app/src/main/res/values-gl/strings.xml
@@ -123,12 +123,6 @@
Sonar una vez
Sonar cinco veces
Sonar sin parar
- una hora
- un día
- una semana
- en dos semanas
- un mes
- en dos meses
Terminada
Posponer
El horario en silencio empieza
@@ -195,7 +189,6 @@
Donar
Añadir recordatorio
Eliminar
- Aleatorio, una sola vez
Aleatoriamente
Elegir fecha y hora
Si está atrasada
diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml
index b80d6fc00..2d64fa31f 100644
--- a/app/src/main/res/values-hr/strings.xml
+++ b/app/src/main/res/values-hr/strings.xml
@@ -442,7 +442,6 @@
Radijus
Odaberi datum i vrijeme
Slučajno
- Slučajno jednom
Ukloni
Bez podsjetnika tijekom vremena neobavještavanja
Ocijeni Tasks
@@ -490,12 +489,6 @@
Odgodi sve
Odgodi
Obavljeno
- u dva mjeseca
- na mjesec
- u dva tjedna
- na tjedan
- na dan
- na sat
Zvoni neprekidno
Zvoni pet puta
Zvoni jednom
diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml
index 0404d85bd..543470846 100644
--- a/app/src/main/res/values-hu/strings.xml
+++ b/app/src/main/res/values-hu/strings.xml
@@ -130,12 +130,6 @@
Egy csengés
Öt csengés
Folyamatos csengés
- egy óra
- egy nap
- egy hét
- két héten belül
- egy hónap
- két hónapon belül
Befejezve
Szundi
Szundi mind
@@ -278,7 +272,6 @@
Emlékeztető hozzáadása
Hely hozzáadása
Eltávolítás
- Véletlenszerűen egyszer
Véletlenszerűen
Válasszon dátumot és időpontot
Határidő lejárta után
diff --git a/app/src/main/res/values-id/strings.xml b/app/src/main/res/values-id/strings.xml
index a7cb9e26f..00aaf65e1 100644
--- a/app/src/main/res/values-id/strings.xml
+++ b/app/src/main/res/values-id/strings.xml
@@ -94,12 +94,6 @@
Dering sekali
Dering lima kali
Dering nonstop
- satu jam
- satu hari
- satu minggu
- dalam dua minggu
- satu bulan
- dalam dua bulan
Selesai
Tunda
Tunda semua
@@ -606,7 +600,6 @@
Tampilkan yang belum dimulai
%1$s harus datang setelah %2$s
Radius
- Secara acak satu kali
Tunjukan Batas Waktu
kmrn
bsk
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index 686092855..79aa18b90 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -133,12 +133,6 @@
Suona una volta
Suona cinque volte
Suona ininterrottamente
- ogni ora
- ogni giorno
- ogni settimana
- ogni due settimane
- ogni mese
- ogni due mesi
Completata
Rimanda
Posticipa tutti
@@ -280,7 +274,6 @@
Aggiungi promemoria
Aggiungi posizione
Elimina
- In modo casuale
Casualmente
Scegli data e ora
Una volta scaduta
diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml
index 7388abf5b..f0f8125fd 100644
--- a/app/src/main/res/values-iw/strings.xml
+++ b/app/src/main/res/values-iw/strings.xml
@@ -133,12 +133,6 @@
צלצל פעם אחת
צלצל חמש פעמים
צלצל ללא הפסקה
- שעה
- יום
- שבוע
- שבועיים
- חודש
- חדשיים
בוצעה
נודניק
נדנד על כולם
@@ -311,7 +305,6 @@
הוסף תזכורת
הוסף מיקום
הסר
- אקראי יחיד
אקראי
בחר תאריך ושעה
לאחר מועד היעד
diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml
index dfdf39f21..ddcabe726 100644
--- a/app/src/main/res/values-ja/strings.xml
+++ b/app/src/main/res/values-ja/strings.xml
@@ -133,12 +133,6 @@
1回通知音を鳴らす
5回通知音を鳴らす
通知音を鳴らし続ける
- 1時間
- 1日
- 1週間
- 2週間以内
- 1か月
- 2か月以内
完了しました
スヌーズ
すべてスヌーズ
@@ -280,7 +274,6 @@
リマインダーを追加
場所を追加
削除
- 1回ランダムに
ランダムに
日付と時間を選択
期限を過ぎたとき
diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml
index 9d2d03f56..ef8bea3ae 100644
--- a/app/src/main/res/values-ko/strings.xml
+++ b/app/src/main/res/values-ko/strings.xml
@@ -131,12 +131,6 @@
한번 울림
다섯번 울림
계속 울림
- 한 시간
- 하루
- 일주일
- 2주일
- 한달
- 두달
완료
알림 잠시 미루기
모든 알람 잠시 미루기
@@ -277,7 +271,6 @@
알림 추가
위치 추가
지우기
- 무작위로 한 번
무작위로
날짜와 시간 선택
마감일이 지났을 때
diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml
index 190974c4b..26a9b5260 100644
--- a/app/src/main/res/values-lt/strings.xml
+++ b/app/src/main/res/values-lt/strings.xml
@@ -137,12 +137,6 @@
Suskambėti vieną kartą
Suskambėti penkis kartus
Skambėti nepaliaujant
- valandą
- dieną
- savaitę
- dvi savaites
- mėnesį
- per du mėnesius
Užbaigta
Užmigdyti
Užmigdyti visus
@@ -300,7 +294,6 @@
Pridėti priminimą
Pridėti vietą
Išmesti
- Atsitiktinai vieną kartą
Atsitiktinai
Pasirinkti datą ir laiką
Kai vėluojama
diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml
index 94fd5fa3e..5759401ba 100644
--- a/app/src/main/res/values-nb/strings.xml
+++ b/app/src/main/res/values-nb/strings.xml
@@ -225,12 +225,6 @@
Ring én gang
Ring fem ganger
Ring konstant
- én time
- én dag
- én uke
- om to uker
- én måned
- om to måneder
Slumre alle
Forvalgt påminnelse
Merknader for gjøremål uten tidsfrister vil vises %s.
@@ -311,7 +305,6 @@
Legg til påminnelse
Legg til sted
Fjern
- Tilfeldig én gang
Tilfeldig
Velg dato og tid
Når forfalt
diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml
index a813219c0..2e1e27e63 100644
--- a/app/src/main/res/values-nl/strings.xml
+++ b/app/src/main/res/values-nl/strings.xml
@@ -132,12 +132,6 @@
Een keer bellen
Vijf keer bellen
Blijven bellen
- per uur
- per dag
- per week
- per twee weken
- per maand
- per twee maanden
Voltooid
Sluimeren
Alle sluimeren
@@ -278,7 +272,6 @@
Herinnering toevoegen
Locatie toevoegen
Verwijderen
- Willekeurig eenmaal
Willekeurig
Datum en tijd kiezen
Bij vervallen
diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml
index 0af21f145..a5f9a4a54 100644
--- a/app/src/main/res/values-pl/strings.xml
+++ b/app/src/main/res/values-pl/strings.xml
@@ -127,12 +127,6 @@
Dzwoń raz
Dzwoń pięć razy
Dzwoń nonstop
- na godzinę
- dziennie
- na tydzień
- na dwa tygodnie
- na miesiąc
- na dwa miesiące
Gotowe
Drzemka
Uśpij wszystkie
@@ -290,7 +284,6 @@
Dodaj przypomnienie
Dodaj lokalizację
Usuń
- Losowo raz
Losowo
Wybierz datę i czas
Gdy zaległe
diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml
index 19b612de5..76d5a2f06 100644
--- a/app/src/main/res/values-pt-rBR/strings.xml
+++ b/app/src/main/res/values-pt-rBR/strings.xml
@@ -128,12 +128,6 @@
Tocar uma vez
Tocar cinco vezes
Tocar continuamente
- por hora
- por dia
- por semana
- a cada duas semanas
- a cada mês
- a cada dois meses
Concluída
Adiar
Adiar todos
@@ -276,7 +270,6 @@
Adicionar lembrete
Adicionar localização
Remover
- Aleatoriamente uma vez
Aleatoriamente
Escolha data e horário
Quando vencida
diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml
index 77f5ec029..e0f7e50ce 100644
--- a/app/src/main/res/values-pt/strings.xml
+++ b/app/src/main/res/values-pt/strings.xml
@@ -122,12 +122,6 @@
Tocar uma vez
Tocar 5 vezes
Tocar sem parar
- uma hora
- um dia
- uma semana
- em duas semanas
- um mês
- em dois meses
Terminada
Suspender todos
Início da hora de silêncio
@@ -267,7 +261,6 @@
Fazer um donativo
Adicionar lembrete
Remover
- Uma vez aleatória
Aleatoriamente
Escolher a data e a hora
Quando ultrapassado
diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml
index b990bfd01..a57e2c63a 100644
--- a/app/src/main/res/values-ro/strings.xml
+++ b/app/src/main/res/values-ro/strings.xml
@@ -245,7 +245,6 @@
În caz de întârziere
Alegeți o dată și o oră
Aleatoriu
- Aleatoriu o dată
Eliminați
Adăugați locația
Adăugați un memento
@@ -400,12 +399,6 @@
Amânați tot
Amână
Complet
- în două luni
- o lună
- în două săptămâni
- o săptămână
- o zi
- o oră
Sună non-stop
Sună de cinci ori
Sună o dată
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index 91fff3f7b..428b37afe 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -132,12 +132,6 @@
1 раз
5 раз
Звучать безостановочно
- час
- день
- неделя
- через две недели
- месяц
- в два месяца
Завершено
Отложить
Отложить все
@@ -295,7 +289,6 @@
Добавить напоминание
Добавить место
Удалить
- Случайно один раз
Случайно
Дата и время
Когда просрочено
diff --git a/app/src/main/res/values-si/strings.xml b/app/src/main/res/values-si/strings.xml
index f55dae3c5..506249463 100644
--- a/app/src/main/res/values-si/strings.xml
+++ b/app/src/main/res/values-si/strings.xml
@@ -357,12 +357,6 @@
නිරන්තර දැනුම්දීම් ඉවත් කළ නොහැක
නිරන්තර දැනුම්දීම්
පෙරනිමි මතක් කිරීම
- මාස දෙකකට වතාවක්
- මසකට වතාවක්
- සති දෙකකට වතාවක්
- සතියකට වතාවක්
- දිනකට වතාවක්
- පැයකට වතාවක්
නොනවත්වාම නාද කරන්න
එක් වරක් නාද කරන්න
පස් වතාවක් නාද කරන්න
@@ -655,7 +649,6 @@
කල් ඉකුත් වූ විට
දිනයක් සහ වේලාවක් තෝරන්න
අහඹු ලෙස
- අහඹු ලෙස වරක්
ඉවත් කරන්න
ස්ථානය එක් කරන්න
මතක් කිරීමක් එක් කරන්න
diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml
index ec00e73cc..879dbb554 100644
--- a/app/src/main/res/values-sk/strings.xml
+++ b/app/src/main/res/values-sk/strings.xml
@@ -133,12 +133,6 @@
Zvoniť raz
Zvoniť päť krát
Zvoniť neustále
- hodina
- deň
- týždeň
- v dvoch týždňoch
- mesiac
- v dvoch mesiacoch
Dokončené
Odložiť
Uspi všetko
@@ -281,7 +275,6 @@
Pridať pripomienku
Pridaj polohu
Odstrániť
- Raz náhodne
Náhodne
Vybrať dátum a čas
Keď po termíne
diff --git a/app/src/main/res/values-sl-rSI/strings.xml b/app/src/main/res/values-sl-rSI/strings.xml
index edc904fe6..722e43e02 100644
--- a/app/src/main/res/values-sl-rSI/strings.xml
+++ b/app/src/main/res/values-sl-rSI/strings.xml
@@ -101,12 +101,6 @@
Račun %s ni najden—prosimo odjavite se, nato pa ponovno prijavite skozi nastavitve Google Nalog.
Posnemi opombo
Ste prepričani? Tega ni mogoče razveljaviti
- na uro
- dan
- na teden
- na dva tedna
- na mesec
- na dva meseca
Končano
Dremež
Tihe ure se začnejo ob
diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml
index 3a336d11f..b6126eb5a 100644
--- a/app/src/main/res/values-sv/strings.xml
+++ b/app/src/main/res/values-sv/strings.xml
@@ -122,12 +122,6 @@
Ring en gång
Ring fem gånger
Ring konstant
- en timme
- ett dygn
- en vecka
- två veckor
- en månad
- två månader
Slutförd
Skjut upp
Tyst period börjar
@@ -192,7 +186,6 @@
Donera
Lägg till en påminnelse
Ta bort
- En gång slumpmässigt
Slumpmässigt
Ställ in datum och tid
Efter förfallotid
diff --git a/app/src/main/res/values-ta/strings.xml b/app/src/main/res/values-ta/strings.xml
index 2663e44c5..89191a178 100644
--- a/app/src/main/res/values-ta/strings.xml
+++ b/app/src/main/res/values-ta/strings.xml
@@ -115,12 +115,6 @@
அனைத்தையும் உறக்கநிலையில் வைக்கவும்
உறக்கநிலை
முழுமை
- இரண்டு மாதங்களில்
- ஒரு மாதம்
- இரண்டு வாரங்களில்
- ஒரு வாரம்
- ஒரு நாள்
- ஒரு மணி நேரம்
நீ சொல்வது உறுதியா\? செயல்தவிர்க்க முடியாது
ஒரு குறிப்பைப் பதிவுசெய்க
கணக்கு %s காணப்படவில்லை - தயவுசெய்து வெளியேறி, Google பணிகள் அமைப்புகளிலிருந்து மீண்டும் உள்நுழைக.
@@ -407,7 +401,6 @@
தாமதமாகும்போது
தேதி மற்றும் நேரத்தைத் தேர்ந்தெடுங்கள்
சீரற்ற
- சீரற்ற ஒரு முறை
அகற்று
இருப்பிடத்தைச் சேர்க்கவும்
நினைவூட்டலைச் சேர்க்கவும்
diff --git a/app/src/main/res/values-th/strings.xml b/app/src/main/res/values-th/strings.xml
index b7c320b83..ecf72529b 100644
--- a/app/src/main/res/values-th/strings.xml
+++ b/app/src/main/res/values-th/strings.xml
@@ -368,7 +368,6 @@
เมื่อพ้นกําหนด
เลือกวันที่และเวลา
คว้าง
- สุ่มหนึ่งครั้ง
ลบ
เพิ่มตําแหน่งที่ตั้ง
เพิ่มตัวเตือน
@@ -513,12 +512,6 @@
สิ้นสุดชั่วโมงเงียบ
ชั่วโมงที่เงียบสงบเริ่มต้น
ปิดเสียงเตือนทั้งหมด
- ในสองเดือน
- เดือน
- ในสองสัปดาห์
- สัปดาห์
- หนึ่งวัน
- หนึ่งชั่วโมง
แหวนไม่หยุดนิ่ง
แหวนห้าครั้ง
เรียกหนึ่งครั้ง
diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml
index 3b4245b30..1bab850eb 100644
--- a/app/src/main/res/values-tr/strings.xml
+++ b/app/src/main/res/values-tr/strings.xml
@@ -133,12 +133,6 @@
Bir kez çal
Beş kez çal
Durmadan çal
- bir saat
- bir gün
- bir hafta
- iki hafta içinde
- bir ay
- iki ay içinde
Tamamlandı
Ertele
Tümünü ertele
@@ -281,7 +275,6 @@
Anımsatıcı ekle
Konum ekle
Kaldır
- Şunda rastgele bir kez
Gelişigüzel
Bir tarih ve zaman seç
Geciktiğinde
diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml
index f4476d69b..e26b7e93d 100644
--- a/app/src/main/res/values-uk/strings.xml
+++ b/app/src/main/res/values-uk/strings.xml
@@ -132,12 +132,6 @@
Звучати один раз
Звучати п’ять разів
Звучати безперервно
- година
- дня
- тижня
- у два тижні
- місяця
- у два місяці
Виконано
Відкласти
Відкласти все
@@ -296,7 +290,6 @@
Додати нагадування
Додати місце
Вилучити
- Випадково раз
Випадково
Обрати дату й час
Коли прострочено
diff --git a/app/src/main/res/values-ur/strings.xml b/app/src/main/res/values-ur/strings.xml
index 41be286d4..485336e8a 100644
--- a/app/src/main/res/values-ur/strings.xml
+++ b/app/src/main/res/values-ur/strings.xml
@@ -161,12 +161,6 @@
سارا اسنوز کریں
اسنوز کریں
مکمل
- دو مہینوں میں
- ایک مہینہ
- دو ہفتوں میں
- ایک ہفتہ
- ایک دن
- ایک گھنٹہ
بغیر رکے رنگ بجنا
پانچ بار رنگ بجنا
ایک بار رنگ بجنا
@@ -307,7 +301,6 @@
جب واجب الادا ہو
تاریخ اور وقت مقرر کریں
بے ترتیب
- بلاترتیب ایک دفعہ
ختم کریں
لوکیشن لگائیں
ہاد دہانی لگائیں
diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml
index 18d7015cc..4cf128114 100644
--- a/app/src/main/res/values-vi/strings.xml
+++ b/app/src/main/res/values-vi/strings.xml
@@ -439,7 +439,6 @@
Khi quá hạn
Chọn ngày và thời gian
Ngẫu nhiên
- Ngẫu nhiên một lần
Xoá
Thêm vị trí
Thêm lời nhắc
@@ -591,17 +590,11 @@
Báo lại tất cả
Báo lại
Hoàn thành
- hai tháng sau
- một tháng
- hai tuần sau
Bắt đầu trước…
Bắt đầu trước: \?
Hạn trước…
Hạn trước: \?
Tên hiển thị
- một tuần
- một ngày
- một tiếng
Đổ chuông không ngừng
Đổ chuông năm lần
Đổ chuông một lần
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index 96d9a3e98..2bd0cb58a 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -120,12 +120,6 @@
响铃一次
响铃五次
响个不停
- 一个小时
- 一天
- 一个星期
- 两星期内
- 一个月
- 两个月内
已完成
延后
全都稍后提醒
@@ -262,7 +256,6 @@
捐献
添加提醒
移除
- 随机一次
随机
选个日期和时间
过期时
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index 10df3d336..80339f3dc 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -100,12 +100,6 @@
響鈴一次
響鈴五次
不斷響鈴
- 一個小時
- 一天
- 一個星期
- 兩星期內
- 一個月
- 兩個月內
已完成
晚點提醒
無聲開始時間
@@ -254,7 +248,6 @@
當過期時
選擇時間和日期
隨機地
- 隨機一次
移除
新增地點
新增提醒
diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml
index 14dc8ba66..3368d2775 100644
--- a/app/src/main/res/values/arrays.xml
+++ b/app/src/main/res/values/arrays.xml
@@ -120,15 +120,6 @@
- @string/now
-
- - @string/random_reminder_hour
- - @string/random_reminder_day
- - @string/random_reminder_week
- - @string/random_reminder_two_weeks
- - @string/random_reminder_month
- - @string/random_reminder_two_months
-
-
- @string/default_random_reminder_disabled
- @string/default_random_reminder_hourly
diff --git a/app/src/main/res/values/keys.xml b/app/src/main/res/values/keys.xml
index c0b215170..201124eed 100644
--- a/app/src/main/res/values/keys.xml
+++ b/app/src/main/res/values/keys.xml
@@ -94,16 +94,6 @@
p_show_task_edit_comments
-
-
- - 1
- - 24
- - 168
- - 336
- - 730
- - 1460
-
-
- 0
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 7f7da3e08..629d044b8 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -153,12 +153,6 @@ File %1$s contained %2$s.\n\n
Ring once
Ring five times
Ring nonstop
- an hour
- a day
- a week
- in two weeks
- a month
- in two months
Complete
Snooze
Snooze all
@@ -344,7 +338,7 @@ File %1$s contained %2$s.\n\n
Add reminder
Add location
Remove
- Randomly once
+ Randomly every %s
Randomly
Pick a date and time
When overdue