diff options
| author | Albin <albin@mullvad.net> | 2024-01-12 10:33:54 +0100 |
|---|---|---|
| committer | Albin <albin@mullvad.net> | 2024-01-12 10:33:54 +0100 |
| commit | 3b33f3f1bd5a137ed8b898c62e78a3745a7a9897 (patch) | |
| tree | 325f82725bc5acecdb7c2439308ffa2f5f492fd4 /android/lib/common/src | |
| parent | 2f05885b58dadfe89bf9b683f1be65bb9f704f01 (diff) | |
| parent | 0dd07d9ecb2cfeddfe9247b723f742cd3494c1ed (diff) | |
| download | mullvadvpn-3b33f3f1bd5a137ed8b898c62e78a3745a7a9897.tar.xz mullvadvpn-3b33f3f1bd5a137ed8b898c62e78a3745a7a9897.zip | |
Merge branch 'notification-permission-api-check-droid-386'
Diffstat (limited to 'android/lib/common/src')
| -rw-r--r-- | android/lib/common/src/main/kotlin/net/mullvad/mullvadvpn/lib/common/util/SdkUtils.kt | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/android/lib/common/src/main/kotlin/net/mullvad/mullvadvpn/lib/common/util/SdkUtils.kt b/android/lib/common/src/main/kotlin/net/mullvad/mullvadvpn/lib/common/util/SdkUtils.kt index fe9564c45d..92f97146f8 100644 --- a/android/lib/common/src/main/kotlin/net/mullvad/mullvadvpn/lib/common/util/SdkUtils.kt +++ b/android/lib/common/src/main/kotlin/net/mullvad/mullvadvpn/lib/common/util/SdkUtils.kt @@ -8,6 +8,8 @@ import android.content.pm.PackageInfo import android.content.pm.PackageManager import android.os.Build import android.service.quicksettings.Tile +import androidx.activity.result.ActivityResultLauncher +import androidx.annotation.ChecksSdkIntAtLeast object SdkUtils { fun getSupportedPendingIntentFlags(): Int { @@ -22,12 +24,19 @@ object SdkUtils { } } - fun Context.isNotificationPermissionGranted(): Boolean { - return (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) || - checkSelfPermission(Manifest.permission.POST_NOTIFICATIONS) == + @ChecksSdkIntAtLeast(api = Build.VERSION_CODES.TIRAMISU) + fun Context.isNotificationPermissionMissing(): Boolean { + return (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) && + checkSelfPermission(Manifest.permission.POST_NOTIFICATIONS) != PackageManager.PERMISSION_GRANTED } + fun Context.requestNotificationPermissionIfMissing(launcher: ActivityResultLauncher<String>) { + if (isNotificationPermissionMissing()) { + launcher.launch(Manifest.permission.POST_NOTIFICATIONS) + } + } + fun Tile.setSubtitleIfSupported(subtitleText: CharSequence) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { this.subtitle = subtitleText |
