diff --git a/app-common/src/main/java/im/angry/openeuicc/ui/MainActivity.kt b/app-common/src/main/java/im/angry/openeuicc/ui/MainActivity.kt index b42f4cf..0b06585 100644 --- a/app-common/src/main/java/im/angry/openeuicc/ui/MainActivity.kt +++ b/app-common/src/main/java/im/angry/openeuicc/ui/MainActivity.kt @@ -16,6 +16,7 @@ import android.view.MenuItem import android.view.View import android.widget.ProgressBar import androidx.activity.enableEdgeToEdge +import androidx.annotation.RequiresApi import androidx.fragment.app.Fragment import androidx.lifecycle.lifecycleScope import androidx.viewpager2.adapter.FragmentStateAdapter @@ -125,16 +126,11 @@ open class MainActivity : BaseEuiccAccessActivity(), OpenEuiccContextMarker { } } + @RequiresApi(Build.VERSION_CODES.TIRAMISU) private fun ensureNotificationPermissions() { - val needsNotificationPerms = Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU; - val notificationPermsGranted = - needsNotificationPerms && checkSelfPermission(android.Manifest.permission.POST_NOTIFICATIONS) == PackageManager.PERMISSION_GRANTED - if (needsNotificationPerms && !notificationPermsGranted) { - requestPermissions( - arrayOf(android.Manifest.permission.POST_NOTIFICATIONS), - PERMISSION_REQUEST_CODE - ) - } + val permission = android.Manifest.permission.POST_NOTIFICATIONS + if (checkSelfPermission(permission) == PackageManager.PERMISSION_GRANTED) return + requestPermissions(arrayOf(permission), PERMISSION_REQUEST_CODE) } private suspend fun init(fromUsbEvent: Boolean = false) { @@ -209,7 +205,7 @@ open class MainActivity : BaseEuiccAccessActivity(), OpenEuiccContextMarker { viewPager.currentItem = 0 } - if (pages.size > 0) { + if (pages.isNotEmpty() && Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { ensureNotificationPermissions() }