diff --git a/atox/src/main/AndroidManifest.xml b/atox/src/main/AndroidManifest.xml index 0ec30ea0..262a534e 100644 --- a/atox/src/main/AndroidManifest.xml +++ b/atox/src/main/AndroidManifest.xml @@ -2,6 +2,7 @@ + @@ -19,7 +20,13 @@ android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> - + + + diff --git a/atox/src/main/kotlin/ToxService.kt b/atox/src/main/kotlin/ToxService.kt index 10a87cba..05e55982 100644 --- a/atox/src/main/kotlin/ToxService.kt +++ b/atox/src/main/kotlin/ToxService.kt @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2019-2023 Robin Lindén +// SPDX-FileCopyrightText: 2019-2024 Robin Lindén // SPDX-FileCopyrightText: 2021-2022 aTox contributors // // SPDX-License-Identifier: GPL-3.0-only @@ -10,6 +10,7 @@ import android.app.Notification import android.app.PendingIntent import android.content.Intent import android.content.pm.PackageManager +import android.content.pm.ServiceInfo import android.os.Build import android.util.Log import androidx.core.app.ActivityCompat @@ -126,7 +127,16 @@ class ToxService : LifecycleService() { } createNotificationChannel() - startForeground(NOTIFICATION_ID, notificationFor(connectionStatus)) + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { + startForeground( + NOTIFICATION_ID, + notificationFor(connectionStatus), + ServiceInfo.FOREGROUND_SERVICE_TYPE_SPECIAL_USE, + ) + } else { + startForeground(NOTIFICATION_ID, notificationFor(connectionStatus)) + } lifecycleScope.launch(Dispatchers.Default) { userRepository.get(tox.publicKey.string()) diff --git a/atox/src/main/kotlin/ui/AvatarImageView.kt b/atox/src/main/kotlin/ui/AvatarImageView.kt index dbf93b62..ed37ace2 100644 --- a/atox/src/main/kotlin/ui/AvatarImageView.kt +++ b/atox/src/main/kotlin/ui/AvatarImageView.kt @@ -74,9 +74,9 @@ class AvatarImageView @JvmOverloads constructor(context: Context, attrs: Attribu invalidate() } - override fun onDraw(canvas: Canvas?) { + override fun onDraw(canvas: Canvas) { super.onDraw(canvas) - if (canvas == null || !statusIndicatorVisible) return + if (!statusIndicatorVisible) return val size = min(width, height).toFloat() diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 85633e19..260b393a 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,6 +1,6 @@ [versions] sdk-min = "19" -sdk-target = "33" +sdk-target = "34" kotlin = "2.0.20" ksp = "2.0.20-1.0.25"