|
|
@ -4,18 +4,13 @@ import android.app.Activity
|
|
|
|
import android.content.DialogInterface
|
|
|
|
import android.content.DialogInterface
|
|
|
|
import android.content.Intent
|
|
|
|
import android.content.Intent
|
|
|
|
import android.os.Bundle
|
|
|
|
import android.os.Bundle
|
|
|
|
import android.view.ViewGroup
|
|
|
|
|
|
|
|
import androidx.compose.foundation.clickable
|
|
|
|
import androidx.compose.foundation.clickable
|
|
|
|
import androidx.compose.foundation.interaction.MutableInteractionSource
|
|
|
|
import androidx.compose.foundation.interaction.MutableInteractionSource
|
|
|
|
import androidx.compose.foundation.layout.Column
|
|
|
|
import androidx.compose.foundation.layout.*
|
|
|
|
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.MaterialTheme
|
|
|
|
import androidx.compose.material.Text
|
|
|
|
import androidx.compose.material.Text
|
|
|
|
import androidx.compose.material.ripple.rememberRipple
|
|
|
|
import androidx.compose.material.ripple.rememberRipple
|
|
|
|
|
|
|
|
import androidx.compose.runtime.Composable
|
|
|
|
import androidx.compose.runtime.mutableStateOf
|
|
|
|
import androidx.compose.runtime.mutableStateOf
|
|
|
|
import androidx.compose.runtime.remember
|
|
|
|
import androidx.compose.runtime.remember
|
|
|
|
import androidx.compose.ui.ExperimentalComposeUiApi
|
|
|
|
import androidx.compose.ui.ExperimentalComposeUiApi
|
|
|
@ -26,7 +21,6 @@ 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.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.todoroo.andlib.utility.AndroidUtilities
|
|
|
|
import com.todoroo.andlib.utility.AndroidUtilities
|
|
|
|
import dagger.hilt.android.AndroidEntryPoint
|
|
|
|
import dagger.hilt.android.AndroidEntryPoint
|
|
|
|
import org.tasks.R
|
|
|
|
import org.tasks.R
|
|
|
@ -41,17 +35,16 @@ import org.tasks.data.Alarm.Companion.TYPE_REL_START
|
|
|
|
import org.tasks.data.Alarm.Companion.whenDue
|
|
|
|
import org.tasks.data.Alarm.Companion.whenDue
|
|
|
|
import org.tasks.data.Alarm.Companion.whenOverdue
|
|
|
|
import org.tasks.data.Alarm.Companion.whenOverdue
|
|
|
|
import org.tasks.data.Alarm.Companion.whenStarted
|
|
|
|
import org.tasks.data.Alarm.Companion.whenStarted
|
|
|
|
import org.tasks.databinding.ControlSetRemindersBinding
|
|
|
|
|
|
|
|
import org.tasks.date.DateTimeUtils
|
|
|
|
import org.tasks.date.DateTimeUtils
|
|
|
|
import org.tasks.dialogs.DialogBuilder
|
|
|
|
import org.tasks.dialogs.DialogBuilder
|
|
|
|
import org.tasks.dialogs.MyTimePickerDialog
|
|
|
|
import org.tasks.dialogs.MyTimePickerDialog
|
|
|
|
import org.tasks.reminders.AlarmToString
|
|
|
|
import org.tasks.reminders.AlarmToString
|
|
|
|
import org.tasks.ui.TaskEditControlFragment
|
|
|
|
import org.tasks.ui.TaskEditControlComposeFragment
|
|
|
|
import java.util.concurrent.TimeUnit
|
|
|
|
import java.util.concurrent.TimeUnit
|
|
|
|
import javax.inject.Inject
|
|
|
|
import javax.inject.Inject
|
|
|
|
|
|
|
|
|
|
|
|
@AndroidEntryPoint
|
|
|
|
@AndroidEntryPoint
|
|
|
|
class ReminderControlSet : TaskEditControlFragment() {
|
|
|
|
class ReminderControlSet : TaskEditControlComposeFragment() {
|
|
|
|
@Inject lateinit var activity: Activity
|
|
|
|
@Inject lateinit var activity: Activity
|
|
|
|
@Inject lateinit var dialogBuilder: DialogBuilder
|
|
|
|
@Inject lateinit var dialogBuilder: DialogBuilder
|
|
|
|
@Inject lateinit var alarmToString: AlarmToString
|
|
|
|
@Inject lateinit var alarmToString: AlarmToString
|
|
|
@ -133,11 +126,8 @@ class ReminderControlSet : TaskEditControlFragment() {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@OptIn(ExperimentalComposeUiApi::class)
|
|
|
|
@OptIn(ExperimentalComposeUiApi::class)
|
|
|
|
override fun bind(parent: ViewGroup?) =
|
|
|
|
@Composable
|
|
|
|
ControlSetRemindersBinding.inflate(layoutInflater, parent, true).let {
|
|
|
|
override fun Body() {
|
|
|
|
|
|
|
|
|
|
|
|
it.alertContainer.setContent {
|
|
|
|
|
|
|
|
MdcTheme {
|
|
|
|
|
|
|
|
val alarms = viewModel.selectedAlarms.collectAsStateLifecycleAware()
|
|
|
|
val alarms = viewModel.selectedAlarms.collectAsStateLifecycleAware()
|
|
|
|
Column {
|
|
|
|
Column {
|
|
|
|
Spacer(modifier = Modifier.height(8.dp))
|
|
|
|
Spacer(modifier = Modifier.height(8.dp))
|
|
|
@ -212,17 +202,11 @@ class ReminderControlSet : TaskEditControlFragment() {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
)
|
|
|
|
)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
it.root
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
override val icon = R.drawable.ic_outline_notifications_24px
|
|
|
|
override val icon = R.drawable.ic_outline_notifications_24px
|
|
|
|
|
|
|
|
|
|
|
|
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) {
|
|
|
|