Android 14 Compatibility (#545)

* Increase target SDK level to 34

* ForegroundService: specify "data sync" foreground service type
This commit is contained in:
Ricki Hirner 2024-01-31 12:09:10 +01:00 committed by GitHub
parent a9a699c5b9
commit 09b15c1e75
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 5 additions and 2 deletions

View file

@ -32,7 +32,7 @@ android {
setProperty "archivesBaseName", "davx5-ose-" + getVersionName()
minSdkVersion 24 // Android 7.0
targetSdkVersion 33 // Android 13
targetSdkVersion 34 // Android 14
buildConfigField "String", "userAgent", "\"DAVx5\""

View file

@ -7,6 +7,7 @@
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
<uses-permission android:name="android.permission.READ_SYNC_SETTINGS"/>

View file

@ -8,10 +8,12 @@ import android.app.PendingIntent
import android.app.Service
import android.content.Context
import android.content.Intent
import android.content.pm.ServiceInfo.FOREGROUND_SERVICE_TYPE_DATA_SYNC
import android.os.Build
import android.os.PowerManager
import androidx.core.app.NotificationCompat
import androidx.core.app.NotificationManagerCompat
import androidx.core.app.ServiceCompat
import androidx.core.content.getSystemService
import at.bitfire.davdroid.settings.Settings
import at.bitfire.davdroid.settings.SettingsManager
@ -104,7 +106,7 @@ class ForegroundService : Service() {
.setStyle(NotificationCompat.BigTextStyle())
.setContentIntent(PendingIntent.getActivity(this, 0, settingsIntent, PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE))
.setCategory(NotificationCompat.CATEGORY_STATUS)
startForeground(NotificationUtils.NOTIFY_FOREGROUND, builder.build())
ServiceCompat.startForeground(this, NotificationUtils.NOTIFY_FOREGROUND, builder.build(), FOREGROUND_SERVICE_TYPE_DATA_SYNC)
}
override fun onBind(intent: Intent?): Nothing? = null