diff options
author | Adolfo Santiago <epoch@adol.pw> | 2023-11-22 06:08:17 +0100 |
---|---|---|
committer | Adolfo Santiago <epoch@adol.pw> | 2023-11-22 06:09:59 +0100 |
commit | 51ff9669e74273648fb4ba6ee4ccb54f8140f473 (patch) | |
tree | 2ed2388a9c5257fbf9b40cd787a73b7e52ec8189 | |
parent | 4b50136fac8aa5c8d91c75e986ed6f5a0004315a (diff) |
Fix sending toot service
-rw-r--r-- | husky/app/src/main/AndroidManifest.xml | 6 | ||||
-rw-r--r-- | husky/app/src/main/java/com/keylesspalace/tusky/service/SendTootService.kt | 24 |
2 files changed, 24 insertions, 6 deletions
diff --git a/husky/app/src/main/AndroidManifest.xml b/husky/app/src/main/AndroidManifest.xml index 5a4597b..786bd9e 100644 --- a/husky/app/src/main/AndroidManifest.xml +++ b/husky/app/src/main/AndroidManifest.xml @@ -3,6 +3,8 @@ xmlns:tools="http://schemas.android.com/tools" package="com.keylesspalace.tusky"> + <uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" /> + <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.READ_MEDIA_IMAGES" /> <uses-permission android:name="android.permission.READ_MEDIA_VIDEO" /> @@ -223,7 +225,9 @@ </intent-filter> </service> - <service android:name=".service.SendTootService" /> + <service + android:name=".service.SendTootService" + android:foregroundServiceType="dataSync" /> <service android:name=".service.StreamingService" /> diff --git a/husky/app/src/main/java/com/keylesspalace/tusky/service/SendTootService.kt b/husky/app/src/main/java/com/keylesspalace/tusky/service/SendTootService.kt index 97e06df..cd188d8 100644 --- a/husky/app/src/main/java/com/keylesspalace/tusky/service/SendTootService.kt +++ b/husky/app/src/main/java/com/keylesspalace/tusky/service/SendTootService.kt @@ -28,7 +28,10 @@ import android.content.ClipData import android.content.ClipDescription 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.Build.VERSION +import android.os.Build.VERSION_CODES import android.os.IBinder import android.os.Parcelable import androidx.core.app.NotificationCompat @@ -51,16 +54,16 @@ import com.keylesspalace.tusky.entity.NewStatus import com.keylesspalace.tusky.entity.Status import com.keylesspalace.tusky.network.MastodonApi import com.keylesspalace.tusky.util.SaveTootHelper +import java.util.Timer +import java.util.TimerTask +import java.util.concurrent.ConcurrentHashMap +import java.util.concurrent.TimeUnit import kotlinx.android.parcel.Parcelize import org.koin.core.component.KoinComponent import org.koin.core.component.inject import retrofit2.Call import retrofit2.Callback import retrofit2.Response -import java.util.Timer -import java.util.TimerTask -import java.util.concurrent.ConcurrentHashMap -import java.util.concurrent.TimeUnit class SendTootService : Service(), KoinComponent { @@ -117,7 +120,18 @@ class SendTootService : Service(), KoinComponent { if (tootsToSend.size == 0 || Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { ServiceCompat.stopForeground(this, ServiceCompat.STOP_FOREGROUND_DETACH) - startForeground(sendingNotificationId, builder.build()) + if (VERSION.SDK_INT >= VERSION_CODES.Q) { + startForeground( + sendingNotificationId, + builder.build(), + FOREGROUND_SERVICE_TYPE_DATA_SYNC + ) + } else { + startForeground( + sendingNotificationId, + builder.build() + ) + } } else { notificationManager.notify(sendingNotificationId, builder.build()) } |