mirror of
https://github.com/SimpleMobileTools/Simple-Clock.git
synced 2025-06-05 22:19:17 +02:00
removing some functionality related to hiding reminder activity
This commit is contained in:
@ -54,7 +54,7 @@ class ReminderActivity : SimpleActivity() {
|
|||||||
|
|
||||||
Handler().postDelayed({
|
Handler().postDelayed({
|
||||||
if (isAlarmReminder) {
|
if (isAlarmReminder) {
|
||||||
showAlarmNotification(alarm!!, true)
|
showAlarmNotification(alarm!!)
|
||||||
} else {
|
} else {
|
||||||
showTimerNotification(true)
|
showTimerNotification(true)
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package com.simplemobiletools.clock.activities
|
package com.simplemobiletools.clock.activities
|
||||||
|
|
||||||
import android.content.Intent
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.support.v7.app.AppCompatActivity
|
import android.support.v7.app.AppCompatActivity
|
||||||
import com.simplemobiletools.clock.extensions.config
|
import com.simplemobiletools.clock.extensions.config
|
||||||
@ -8,7 +7,6 @@ import com.simplemobiletools.clock.extensions.dbHelper
|
|||||||
import com.simplemobiletools.clock.extensions.hideNotification
|
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.commons.extensions.showPickSecondsDialog
|
import com.simplemobiletools.commons.extensions.showPickSecondsDialog
|
||||||
import com.simplemobiletools.commons.helpers.MINUTE_SECONDS
|
import com.simplemobiletools.commons.helpers.MINUTE_SECONDS
|
||||||
|
|
||||||
@ -26,21 +24,11 @@ class SnoozeReminderActivity : AppCompatActivity() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun dialogCancelled() {
|
private fun dialogCancelled() {
|
||||||
checkReminderActivityHiding()
|
|
||||||
finishActivity()
|
finishActivity()
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun finishActivity() {
|
private fun finishActivity() {
|
||||||
checkReminderActivityHiding()
|
|
||||||
finish()
|
finish()
|
||||||
overridePendingTransition(0, 0)
|
overridePendingTransition(0, 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun checkReminderActivityHiding() {
|
|
||||||
if (intent.getBooleanExtra(HIDE_REMINDER_ACTIVITY, false)) {
|
|
||||||
Intent(this, ReminderActivity::class.java).apply {
|
|
||||||
startActivity(this)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -224,9 +224,9 @@ fun Context.rescheduleEnabledAlarms() {
|
|||||||
|
|
||||||
fun Context.isScreenOn() = (getSystemService(Context.POWER_SERVICE) as PowerManager).isScreenOn
|
fun Context.isScreenOn() = (getSystemService(Context.POWER_SERVICE) as PowerManager).isScreenOn
|
||||||
|
|
||||||
fun Context.showAlarmNotification(alarm: Alarm, addDeleteIntent: Boolean) {
|
fun Context.showAlarmNotification(alarm: Alarm) {
|
||||||
val pendingIntent = getOpenAlarmTabIntent()
|
val pendingIntent = getOpenAlarmTabIntent()
|
||||||
val notification = getAlarmNotification(pendingIntent, alarm, addDeleteIntent)
|
val notification = getAlarmNotification(pendingIntent, alarm)
|
||||||
val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
|
val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
|
||||||
notificationManager.notify(alarm.id, notification)
|
notificationManager.notify(alarm.id, notification)
|
||||||
scheduleNextAlarm(alarm, false)
|
scheduleNextAlarm(alarm, false)
|
||||||
@ -313,7 +313,7 @@ fun Context.getHideAlarmPendingIntent(alarm: Alarm): PendingIntent {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@SuppressLint("NewApi")
|
@SuppressLint("NewApi")
|
||||||
fun Context.getAlarmNotification(pendingIntent: PendingIntent, alarm: Alarm, addDeleteIntent: Boolean): Notification {
|
fun Context.getAlarmNotification(pendingIntent: PendingIntent, alarm: Alarm): Notification {
|
||||||
var soundUri = alarm.soundUri
|
var soundUri = alarm.soundUri
|
||||||
if (soundUri == SILENT) {
|
if (soundUri == SILENT) {
|
||||||
soundUri = ""
|
soundUri = ""
|
||||||
@ -354,12 +354,8 @@ fun Context.getAlarmNotification(pendingIntent: PendingIntent, alarm: Alarm, add
|
|||||||
.setAutoCancel(true)
|
.setAutoCancel(true)
|
||||||
.setSound(Uri.parse(soundUri), AudioManager.STREAM_ALARM)
|
.setSound(Uri.parse(soundUri), AudioManager.STREAM_ALARM)
|
||||||
.setChannelId(channelId)
|
.setChannelId(channelId)
|
||||||
.addAction(R.drawable.ic_snooze, getString(R.string.snooze), getSnoozePendingIntent(alarm, addDeleteIntent))
|
.addAction(R.drawable.ic_snooze, getString(R.string.snooze), getSnoozePendingIntent(alarm))
|
||||||
.addAction(R.drawable.ic_cross, getString(R.string.dismiss), if (addDeleteIntent) reminderActivityIntent else getHideAlarmPendingIntent(alarm))
|
.addAction(R.drawable.ic_cross, getString(R.string.dismiss), getHideAlarmPendingIntent(alarm))
|
||||||
|
|
||||||
if (addDeleteIntent) {
|
|
||||||
builder.setDeleteIntent(reminderActivityIntent)
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isLollipopPlus()) {
|
if (isLollipopPlus()) {
|
||||||
builder.setVisibility(Notification.VISIBILITY_PUBLIC)
|
builder.setVisibility(Notification.VISIBILITY_PUBLIC)
|
||||||
@ -375,11 +371,10 @@ fun Context.getAlarmNotification(pendingIntent: PendingIntent, alarm: Alarm, add
|
|||||||
return notification
|
return notification
|
||||||
}
|
}
|
||||||
|
|
||||||
fun Context.getSnoozePendingIntent(alarm: Alarm, hideReminderActivity: Boolean): PendingIntent {
|
fun Context.getSnoozePendingIntent(alarm: Alarm): PendingIntent {
|
||||||
val snoozeClass = if (config.useSameSnooze) SnoozeService::class.java else SnoozeReminderActivity::class.java
|
val snoozeClass = if (config.useSameSnooze) SnoozeService::class.java else SnoozeReminderActivity::class.java
|
||||||
val intent = Intent(this, snoozeClass).setAction("Snooze")
|
val intent = Intent(this, snoozeClass).setAction("Snooze")
|
||||||
intent.putExtra(ALARM_ID, alarm.id)
|
intent.putExtra(ALARM_ID, alarm.id)
|
||||||
intent.putExtra(HIDE_REMINDER_ACTIVITY, hideReminderActivity)
|
|
||||||
return if (config.useSameSnooze) {
|
return if (config.useSameSnooze) {
|
||||||
PendingIntent.getService(this, alarm.id, intent, PendingIntent.FLAG_UPDATE_CURRENT)
|
PendingIntent.getService(this, alarm.id, intent, PendingIntent.FLAG_UPDATE_CURRENT)
|
||||||
} else {
|
} else {
|
||||||
|
@ -22,7 +22,6 @@ const val ALARM_ID = "alarm_id"
|
|||||||
const val DEFAULT_ALARM_MINUTES = 480
|
const val DEFAULT_ALARM_MINUTES = 480
|
||||||
const val DEFAULT_MAX_ALARM_REMINDER_SECS = 300
|
const val DEFAULT_MAX_ALARM_REMINDER_SECS = 300
|
||||||
const val DEFAULT_MAX_TIMER_REMINDER_SECS = 60
|
const val DEFAULT_MAX_TIMER_REMINDER_SECS = 60
|
||||||
const val HIDE_REMINDER_ACTIVITY = "hide_reminder_activity"
|
|
||||||
|
|
||||||
const val PICK_AUDIO_FILE_INTENT_ID = 9994
|
const val PICK_AUDIO_FILE_INTENT_ID = 9994
|
||||||
const val REMINDER_ACTIVITY_INTENT_ID = 9995
|
const val REMINDER_ACTIVITY_INTENT_ID = 9995
|
||||||
|
@ -14,7 +14,7 @@ class AlarmReceiver : BroadcastReceiver() {
|
|||||||
val alarm = context.dbHelper.getAlarmWithId(id) ?: return
|
val alarm = context.dbHelper.getAlarmWithId(id) ?: return
|
||||||
|
|
||||||
if (context.isScreenOn()) {
|
if (context.isScreenOn()) {
|
||||||
context.showAlarmNotification(alarm, false)
|
context.showAlarmNotification(alarm)
|
||||||
Handler().postDelayed({
|
Handler().postDelayed({
|
||||||
context.hideNotification(id)
|
context.hideNotification(id)
|
||||||
}, context.config.alarmMaxReminderSecs * 1000L)
|
}, context.config.alarmMaxReminderSecs * 1000L)
|
||||||
|
@ -2,13 +2,11 @@ package com.simplemobiletools.clock.services
|
|||||||
|
|
||||||
import android.app.IntentService
|
import android.app.IntentService
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import com.simplemobiletools.clock.activities.ReminderActivity
|
|
||||||
import com.simplemobiletools.clock.extensions.config
|
import com.simplemobiletools.clock.extensions.config
|
||||||
import com.simplemobiletools.clock.extensions.dbHelper
|
import com.simplemobiletools.clock.extensions.dbHelper
|
||||||
import com.simplemobiletools.clock.extensions.hideNotification
|
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.commons.helpers.MINUTE_SECONDS
|
import com.simplemobiletools.commons.helpers.MINUTE_SECONDS
|
||||||
|
|
||||||
class SnoozeService : IntentService("Snooze") {
|
class SnoozeService : IntentService("Snooze") {
|
||||||
@ -17,12 +15,5 @@ class SnoozeService : IntentService("Snooze") {
|
|||||||
val alarm = dbHelper.getAlarmWithId(id) ?: return
|
val alarm = dbHelper.getAlarmWithId(id) ?: return
|
||||||
hideNotification(id)
|
hideNotification(id)
|
||||||
setupAlarmClock(alarm, config.snoozeTime * MINUTE_SECONDS)
|
setupAlarmClock(alarm, config.snoozeTime * MINUTE_SECONDS)
|
||||||
|
|
||||||
if (intent.getBooleanExtra(HIDE_REMINDER_ACTIVITY, false)) {
|
|
||||||
Intent(this, ReminderActivity::class.java).apply {
|
|
||||||
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
|
||||||
startActivity(this)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user