41 lines
1.3 KiB
Kotlin
41 lines
1.3 KiB
Kotlin
package com.catlas.escapepenacony
|
|
|
|
import android.Manifest
|
|
import android.content.pm.PackageManager
|
|
import android.os.Build
|
|
import android.os.Bundle
|
|
import androidx.activity.ComponentActivity
|
|
import androidx.activity.compose.setContent
|
|
import androidx.activity.result.contract.ActivityResultContracts
|
|
import androidx.core.content.ContextCompat
|
|
import com.catlas.escapepenacony.ui.MainScreen
|
|
import com.catlas.escapepenacony.ui.theme.EscapePenaconyTheme
|
|
|
|
class MainActivity : ComponentActivity() {
|
|
|
|
private val notificationPermissionLauncher = registerForActivityResult(
|
|
ActivityResultContracts.RequestPermission()
|
|
) { _ -> }
|
|
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
super.onCreate(savedInstanceState)
|
|
|
|
// Request notification permission for foreground service on Android 13+
|
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
|
if (ContextCompat.checkSelfPermission(
|
|
this,
|
|
Manifest.permission.POST_NOTIFICATIONS
|
|
) != PackageManager.PERMISSION_GRANTED
|
|
) {
|
|
notificationPermissionLauncher.launch(Manifest.permission.POST_NOTIFICATIONS)
|
|
}
|
|
}
|
|
|
|
setContent {
|
|
EscapePenaconyTheme {
|
|
MainScreen()
|
|
}
|
|
}
|
|
}
|
|
}
|