handle Snooze at Reminder activity

This commit is contained in:
tibbi 2018-03-14 20:15:01 +01:00
parent 3c5fe3b935
commit f827645522
4 changed files with 19 additions and 2 deletions

View File

@ -8,6 +8,7 @@ import com.simplemobiletools.clock.extensions.*
import com.simplemobiletools.clock.helpers.ALARM_ID import com.simplemobiletools.clock.helpers.ALARM_ID
import com.simplemobiletools.clock.models.Alarm import com.simplemobiletools.clock.models.Alarm
import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.MINUTE_SECONDS
import kotlinx.android.synthetic.main.activity_reminder.* import kotlinx.android.synthetic.main.activity_reminder.*
class ReminderActivity : SimpleActivity() { class ReminderActivity : SimpleActivity() {
@ -70,6 +71,20 @@ class ReminderActivity : SimpleActivity() {
} }
private fun snoozeClicked() { private fun snoozeClicked() {
if (config.useSameSnooze) {
setupAlarmClock(alarm!!, config.snoozeTime * MINUTE_SECONDS)
finishActivity()
} else {
showPickSecondsDialog(config.snoozeTime * MINUTE_SECONDS, true, cancelCallback = { finishActivity() }) {
config.snoozeTime = it / MINUTE_SECONDS
setupAlarmClock(alarm!!, it)
finishActivity()
}
}
}
private fun finishActivity() {
finish()
overridePendingTransition(0, 0)
} }
} }

View File

@ -19,7 +19,7 @@ class SnoozeReminderActivity : AppCompatActivity() {
val alarm = dbHelper.getAlarmWithId(id) ?: return val alarm = dbHelper.getAlarmWithId(id) ?: return
hideNotification(id) hideNotification(id)
showPickSecondsDialog(config.snoozeTime * MINUTE_SECONDS, true, cancelCallback = { dialogCancelled() }) { showPickSecondsDialog(config.snoozeTime * MINUTE_SECONDS, true, cancelCallback = { dialogCancelled() }) {
config.snoozeTime = it * 60 config.snoozeTime = it / MINUTE_SECONDS
setupAlarmClock(alarm, it) setupAlarmClock(alarm, it)
finishActivity() finishActivity()
} }

View File

@ -305,6 +305,7 @@ fun Context.getHideTimerPendingIntent(): PendingIntent {
fun Context.getHideAlarmPendingIntent(alarm: Alarm): PendingIntent { fun Context.getHideAlarmPendingIntent(alarm: Alarm): PendingIntent {
val intent = Intent(this, HideAlarmReceiver::class.java) val intent = Intent(this, HideAlarmReceiver::class.java)
intent.putExtra(ALARM_ID, alarm.id)
return PendingIntent.getBroadcast(this, alarm.id, intent, PendingIntent.FLAG_UPDATE_CURRENT) return PendingIntent.getBroadcast(this, alarm.id, intent, PendingIntent.FLAG_UPDATE_CURRENT)
} }

View File

@ -9,13 +9,14 @@ import com.simplemobiletools.clock.extensions.hideNotification
import com.simplemobiletools.clock.extensions.setupAlarmClock import com.simplemobiletools.clock.extensions.setupAlarmClock
import com.simplemobiletools.clock.helpers.ALARM_ID import com.simplemobiletools.clock.helpers.ALARM_ID
import com.simplemobiletools.clock.helpers.HIDE_REMINDER_ACTIVITY import com.simplemobiletools.clock.helpers.HIDE_REMINDER_ACTIVITY
import com.simplemobiletools.commons.helpers.MINUTE_SECONDS
class SnoozeService : IntentService("Snooze") { class SnoozeService : IntentService("Snooze") {
override fun onHandleIntent(intent: Intent) { override fun onHandleIntent(intent: Intent) {
val id = intent.getIntExtra(ALARM_ID, -1) val id = intent.getIntExtra(ALARM_ID, -1)
val alarm = dbHelper.getAlarmWithId(id) ?: return val alarm = dbHelper.getAlarmWithId(id) ?: return
hideNotification(id) hideNotification(id)
setupAlarmClock(alarm, config.snoozeTime * 60) setupAlarmClock(alarm, config.snoozeTime * MINUTE_SECONDS)
if (intent.getBooleanExtra(HIDE_REMINDER_ACTIVITY, false)) { if (intent.getBooleanExtra(HIDE_REMINDER_ACTIVITY, false)) {
Intent(this, ReminderActivity::class.java).apply { Intent(this, ReminderActivity::class.java).apply {