diff options
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 |
