mirror of
https://github.com/SimpleMobileTools/Simple-Calendar.git
synced 2025-02-27 17:07:43 +01:00
fix #282, add notification channel so it works fine on Android 8
This commit is contained in:
parent
e9b09ad88b
commit
b405317f7d
@ -43,7 +43,7 @@ ext {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation 'com.simplemobiletools:commons:3.0.22'
|
||||
implementation 'com.simplemobiletools:commons:3.0.23'
|
||||
implementation 'joda-time:joda-time:2.9.9'
|
||||
implementation 'com.facebook.stetho:stetho:1.5.0'
|
||||
implementation 'com.android.support:multidex:1.0.2'
|
||||
|
@ -1,10 +1,7 @@
|
||||
package com.simplemobiletools.calendar.extensions
|
||||
|
||||
import android.annotation.TargetApi
|
||||
import android.app.AlarmManager
|
||||
import android.app.Notification
|
||||
import android.app.NotificationManager
|
||||
import android.app.PendingIntent
|
||||
import android.annotation.SuppressLint
|
||||
import android.app.*
|
||||
import android.appwidget.AppWidgetManager
|
||||
import android.content.ComponentName
|
||||
import android.content.Context
|
||||
@ -12,7 +9,6 @@ import android.content.Intent
|
||||
import android.content.res.Resources
|
||||
import android.graphics.Color
|
||||
import android.net.Uri
|
||||
import android.os.Build
|
||||
import android.support.v4.app.NotificationCompat
|
||||
import android.view.Gravity
|
||||
import android.view.View
|
||||
@ -73,7 +69,6 @@ fun Context.scheduleNextEventReminder(event: Event, dbHelper: DBHelper) {
|
||||
|
||||
val now = (System.currentTimeMillis() / 1000).toInt()
|
||||
val reminderSeconds = event.getReminders().reversed().map { it * 60 }
|
||||
|
||||
dbHelper.getEvents(now, now + YEAR, event.id) {
|
||||
if (it.isNotEmpty()) {
|
||||
for (curEvent in it) {
|
||||
@ -175,8 +170,21 @@ fun Context.notifyEvent(event: Event) {
|
||||
notificationManager.notify(event.id, notification)
|
||||
}
|
||||
|
||||
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
|
||||
@SuppressLint("NewApi")
|
||||
private fun getNotification(context: Context, pendingIntent: PendingIntent, event: Event, content: String): Notification {
|
||||
val channelId = "reminder_channel"
|
||||
if (context.isOreoPlus()) {
|
||||
val notificationManager = context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
|
||||
val name = context.resources.getString(R.string.event_reminders)
|
||||
val importance = NotificationManager.IMPORTANCE_HIGH
|
||||
NotificationChannel(channelId, name, importance).apply {
|
||||
enableLights(true)
|
||||
lightColor = event.color
|
||||
enableVibration(false)
|
||||
notificationManager.createNotificationChannel(this)
|
||||
}
|
||||
}
|
||||
|
||||
val soundUri = Uri.parse(context.config.reminderSound)
|
||||
val builder = NotificationCompat.Builder(context)
|
||||
.setContentTitle(event.title)
|
||||
@ -187,6 +195,7 @@ private fun getNotification(context: Context, pendingIntent: PendingIntent, even
|
||||
.setDefaults(Notification.DEFAULT_LIGHTS)
|
||||
.setAutoCancel(true)
|
||||
.setSound(soundUri)
|
||||
.setChannelId(channelId)
|
||||
.addAction(R.drawable.ic_snooze, context.getString(R.string.snooze), getSnoozePendingIntent(context, event))
|
||||
|
||||
if (context.isLollipopPlus())
|
||||
|
@ -118,6 +118,7 @@
|
||||
<string name="hours_raw">eur</string>
|
||||
<string name="days_raw">a zevezhioù</string>
|
||||
<string name="add_another_reminder">Ouzhpennañ un adc\'halv all</string>
|
||||
<string name="event_reminders">Event reminders</string>
|
||||
|
||||
<plurals name="minutes_before">
|
||||
<item quantity="one">%dvunutenn a-raok</item>
|
||||
|
@ -122,6 +122,7 @@
|
||||
<string name="hours_raw">hodin</string>
|
||||
<string name="days_raw">dnů</string>
|
||||
<string name="add_another_reminder">Přidat další připomenutí</string>
|
||||
<string name="event_reminders">Event reminders</string>
|
||||
|
||||
<plurals name="minutes_before">
|
||||
<item quantity="one">před %d minutou</item>
|
||||
|
@ -118,6 +118,7 @@
|
||||
<string name="hours_raw">hours</string>
|
||||
<string name="days_raw">days</string>
|
||||
<string name="add_another_reminder">Add another reminder</string>
|
||||
<string name="event_reminders">Event reminders</string>
|
||||
|
||||
<plurals name="minutes_before">
|
||||
<item quantity="one">%d minute before</item>
|
||||
|
@ -118,6 +118,7 @@
|
||||
<string name="hours_raw">Stunden</string>
|
||||
<string name="days_raw">Tage</string>
|
||||
<string name="add_another_reminder">Füge eine weitere Erinnerung hinzu</string>
|
||||
<string name="event_reminders">Event reminders</string>
|
||||
|
||||
<plurals name="minutes_before">
|
||||
<item quantity="one">%d Minute vorher</item>
|
||||
|
@ -118,6 +118,7 @@
|
||||
<string name="hours_raw">horas</string>
|
||||
<string name="days_raw">días</string>
|
||||
<string name="add_another_reminder">Agregar otro recordatorio</string>
|
||||
<string name="event_reminders">Event reminders</string>
|
||||
|
||||
<plurals name="minutes_before">
|
||||
<item quantity="one">%d minuto antes</item>
|
||||
|
@ -118,6 +118,7 @@
|
||||
<string name="hours_raw">heures</string>
|
||||
<string name="days_raw">jours</string>
|
||||
<string name="add_another_reminder">Ajouter un autre rappel</string>
|
||||
<string name="event_reminders">Event reminders</string>
|
||||
|
||||
<plurals name="minutes_before">
|
||||
<item quantity="one">%d minute avant</item>
|
||||
|
@ -118,6 +118,7 @@
|
||||
<string name="hours_raw">hours</string>
|
||||
<string name="days_raw">days</string>
|
||||
<string name="add_another_reminder">Add another reminder</string>
|
||||
<string name="event_reminders">Event reminders</string>
|
||||
|
||||
<plurals name="minutes_before">
|
||||
<item quantity="one">%d minute before</item>
|
||||
|
@ -118,6 +118,7 @@
|
||||
<string name="hours_raw">óra</string>
|
||||
<string name="days_raw">nap</string>
|
||||
<string name="add_another_reminder">Add another reminder</string>
|
||||
<string name="event_reminders">Event reminders</string>
|
||||
|
||||
<plurals name="minutes_before">
|
||||
<item quantity="one">%d percel korábban</item>
|
||||
|
@ -118,6 +118,7 @@
|
||||
<string name="hours_raw">hours</string>
|
||||
<string name="days_raw">days</string>
|
||||
<string name="add_another_reminder">Add another reminder</string>
|
||||
<string name="event_reminders">Event reminders</string>
|
||||
|
||||
<plurals name="minutes_before">
|
||||
<item quantity="one">%d minute before</item>
|
||||
|
@ -118,6 +118,7 @@
|
||||
<string name="hours_raw">hours</string>
|
||||
<string name="days_raw">days</string>
|
||||
<string name="add_another_reminder">Add another reminder</string>
|
||||
<string name="event_reminders">Event reminders</string>
|
||||
|
||||
<plurals name="minutes_before">
|
||||
<item quantity="one">%d minute before</item>
|
||||
|
@ -118,6 +118,7 @@
|
||||
<string name="hours_raw">時間</string>
|
||||
<string name="days_raw">日</string>
|
||||
<string name="add_another_reminder">Add another reminder</string>
|
||||
<string name="event_reminders">Event reminders</string>
|
||||
|
||||
<plurals name="minutes_before">
|
||||
<item quantity="one">%d minute before</item>
|
||||
|
@ -118,6 +118,7 @@
|
||||
<string name="hours_raw">시간</string>
|
||||
<string name="days_raw">일</string>
|
||||
<string name="add_another_reminder">다른 알림 추가</string>
|
||||
<string name="event_reminders">Event reminders</string>
|
||||
|
||||
<plurals name="minutes_before">
|
||||
<item quantity="one">%d 분 전</item>
|
||||
|
@ -118,6 +118,7 @@
|
||||
<string name="hours_raw">timer</string>
|
||||
<string name="days_raw">dager</string>
|
||||
<string name="add_another_reminder">Legg til en annen påminnelse</string>
|
||||
<string name="event_reminders">Event reminders</string>
|
||||
|
||||
<plurals name="minutes_before">
|
||||
<item quantity="one">%d minutt før</item>
|
||||
|
@ -118,6 +118,7 @@
|
||||
<string name="hours_raw">uren</string>
|
||||
<string name="days_raw">dagen</string>
|
||||
<string name="add_another_reminder">Herinnering toevoegen</string>
|
||||
<string name="event_reminders">Event reminders</string>
|
||||
|
||||
<plurals name="minutes_before">
|
||||
<item quantity="one">%d minuut van tevoren</item>
|
||||
|
@ -118,6 +118,7 @@
|
||||
<string name="hours_raw">timer</string>
|
||||
<string name="days_raw">dager</string>
|
||||
<string name="add_another_reminder">Legg til en annen påminnelse</string>
|
||||
<string name="event_reminders">Event reminders</string>
|
||||
|
||||
<plurals name="minutes_before">
|
||||
<item quantity="one">%d minutt før</item>
|
||||
|
@ -121,6 +121,7 @@
|
||||
<string name="hours_raw">godziny</string>
|
||||
<string name="days_raw">dni</string>
|
||||
<string name="add_another_reminder">Dodaj inne przypomnienie</string>
|
||||
<string name="event_reminders">Event reminders</string>
|
||||
|
||||
<plurals name="minutes_before">
|
||||
<item quantity="one">%d minutę przed</item>
|
||||
|
@ -118,6 +118,7 @@
|
||||
<string name="hours_raw">horas</string>
|
||||
<string name="days_raw">dias</string>
|
||||
<string name="add_another_reminder">Adicionar outro lembrete</string>
|
||||
<string name="event_reminders">Event reminders</string>
|
||||
|
||||
<plurals name="minutes_before">
|
||||
<item quantity="one">%d minuto antes</item>
|
||||
|
@ -118,6 +118,7 @@
|
||||
<string name="hours_raw">horas</string>
|
||||
<string name="days_raw">dias</string>
|
||||
<string name="add_another_reminder">Adicionar outro lembrete</string>
|
||||
<string name="event_reminders">Event reminders</string>
|
||||
|
||||
<plurals name="minutes_before">
|
||||
<item quantity="one">%d minuto antes</item>
|
||||
|
@ -126,6 +126,7 @@
|
||||
<string name="hours_raw">часов</string>
|
||||
<string name="days_raw">дней</string>
|
||||
<string name="add_another_reminder">Добавить ещё одно напоминание</string>
|
||||
<string name="event_reminders">Event reminders</string>
|
||||
|
||||
<plurals name="minutes_before">
|
||||
<item quantity="one">%d минута до события</item>
|
||||
|
@ -122,6 +122,7 @@
|
||||
<string name="hours_raw">hodiny</string>
|
||||
<string name="days_raw">dni</string>
|
||||
<string name="add_another_reminder">Pridať ďalšiu pripomienku</string>
|
||||
<string name="event_reminders">Pripomienky udalostí</string>
|
||||
|
||||
<plurals name="minutes_before">
|
||||
<item quantity="one">%d minútu vopred</item>
|
||||
|
@ -118,6 +118,7 @@
|
||||
<string name="hours_raw">timmar</string>
|
||||
<string name="days_raw">dagar</string>
|
||||
<string name="add_another_reminder">Lägg till en annan påminnelse</string>
|
||||
<string name="event_reminders">Event reminders</string>
|
||||
|
||||
<plurals name="minutes_before">
|
||||
<item quantity="one">%d minut före</item>
|
||||
|
@ -118,6 +118,7 @@
|
||||
<string name="hours_raw">saatler</string>
|
||||
<string name="days_raw">günler</string>
|
||||
<string name="add_another_reminder">Başka bir hatırlatma ekle</string>
|
||||
<string name="event_reminders">Event reminders</string>
|
||||
|
||||
<plurals name="minutes_before">
|
||||
<item quantity="one">%d dakika önce</item>
|
||||
|
@ -118,6 +118,7 @@
|
||||
<string name="hours_raw">hours</string>
|
||||
<string name="days_raw">days</string>
|
||||
<string name="add_another_reminder">Add another reminder</string>
|
||||
<string name="event_reminders">Event reminders</string>
|
||||
|
||||
<plurals name="minutes_before">
|
||||
<item quantity="one">%d minute before</item>
|
||||
|
Loading…
x
Reference in New Issue
Block a user