1
0
Fork 0
mirror of https://github.com/MatomoCamp/matomocamp-companion-android.git synced 2024-09-19 16:13:46 +02:00

notification permissions

This commit is contained in:
Lukas Winkler 2021-09-22 19:48:22 +02:00
parent 23a0f7054f
commit 4d4137e590
Signed by: lukas
GPG key ID: 54DE4D798D244853
6 changed files with 17 additions and 1 deletions

View file

@ -7,6 +7,7 @@
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.NFC" /> <uses-permission android:name="android.permission.NFC" />
<uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" />
<!-- Permissions required for alarms --> <!-- Permissions required for alarms -->
<uses-permission <uses-permission

View file

@ -2,6 +2,7 @@ package org.matomocamp.companion.api
import android.os.SystemClock import android.os.SystemClock
import android.text.format.DateUtils import android.text.format.DateUtils
import android.util.Log
import androidx.annotation.MainThread import androidx.annotation.MainThread
import androidx.lifecycle.LiveData import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData import androidx.lifecycle.MutableLiveData
@ -86,6 +87,7 @@ class MatomoCampApi @Inject constructor(
} }
} }
} catch (e: Exception) { } catch (e: Exception) {
Log.e("MatomoCamp", "Download Error", e)
DownloadScheduleResult.Error DownloadScheduleResult.Error
} }
_downloadScheduleState.value = LoadingState.Idle(SingleEvent(res)) _downloadScheduleState.value = LoadingState.Idle(SingleEvent(res))

View file

@ -1,5 +1,6 @@
package org.matomocamp.companion.services package org.matomocamp.companion.services
import android.annotation.SuppressLint
import android.app.AlarmManager import android.app.AlarmManager
import android.app.Notification import android.app.Notification
import android.app.NotificationChannel import android.app.NotificationChannel
@ -59,11 +60,16 @@ class AlarmIntentService : JobIntentService() {
getSystemService()!! getSystemService()!!
} }
@SuppressLint("UnspecifiedImmutableFlag")
private fun getAlarmPendingIntent(eventId: Long): PendingIntent { private fun getAlarmPendingIntent(eventId: Long): PendingIntent {
val intent = Intent(this, AlarmReceiver::class.java) val intent = Intent(this, AlarmReceiver::class.java)
.setAction(AlarmReceiver.ACTION_NOTIFY_EVENT) .setAction(AlarmReceiver.ACTION_NOTIFY_EVENT)
.setData(eventId.toString().toUri()) .setData(eventId.toString().toUri())
return PendingIntent.getBroadcast(this, 0, intent, 0) return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_IMMUTABLE)
} else {
PendingIntent.getActivity(this, 0, intent, 0)
}
} }
override fun onHandleWork(intent: Intent) { override fun onHandleWork(intent: Intent) {

View file

@ -97,4 +97,5 @@
<string name="no_data">Keine Daten Verfügbar.</string> <string name="no_data">Keine Daten Verfügbar.</string>
<string name="website">Webseite</string> <string name="website">Webseite</string>
<string name="open_in_webbrowser">Im Webbrowser öffnen</string> <string name="open_in_webbrowser">Im Webbrowser öffnen</string>
<string name="notification_warning">Abhängig von der Android Version und Energieoptionen werden Benachrichtigungen möglicherweise nicht zuverlässig zugestellt.</string>
</resources> </resources>

View file

@ -95,6 +95,7 @@
<item>2</item> <item>2</item>
</string-array> </string-array>
<string name="settings_notifications">Notifications</string> <string name="settings_notifications">Notifications</string>
<string name="notification_warning">Depending on your Android version and Energy settings, notifications might not be reliably delivered.</string>
<string name="settings_notifications_enabled_title">Enable notifications</string> <string name="settings_notifications_enabled_title">Enable notifications</string>
<string name="settings_notifications_enabled_summary">If checked, this will notify you of upcoming bookmarked events</string> <string name="settings_notifications_enabled_summary">If checked, this will notify you of upcoming bookmarked events</string>
<string name="settings_notifications_channel_title">Customize</string> <string name="settings_notifications_channel_title">Customize</string>

View file

@ -25,6 +25,11 @@
</PreferenceCategory> </PreferenceCategory>
<PreferenceCategory app:title="@string/settings_notifications"> <PreferenceCategory app:title="@string/settings_notifications">
<Preference
app:key="pref_static_field_key2"
app:selectable="false"
app:persistent="false"
app:summary="@string/notification_warning"/>
<SwitchPreference <SwitchPreference
app:defaultValue="true" app:defaultValue="true"
app:icon="@drawable/ic_notifications_normal_24dp" app:icon="@drawable/ic_notifications_normal_24dp"