package com.vgmlr.kiln
import android.Manifest
import android.content.pm.PackageManager
import android.os.Build
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.SystemBarStyle
import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge
import androidx.activity.result.contract.ActivityResultContracts
import androidx.activity.viewModels
import android.graphics.Color
private const val BAR_COLOR = 0xFF486860.toInt()
class MainActivity : ComponentActivity() {
private val vm: KilnViewModel by viewModels()
private val notifPermission =
registerForActivityResult(ActivityResultContracts.RequestPermission()) { }
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge(
statusBarStyle = SystemBarStyle.dark(BAR_COLOR),
navigationBarStyle = SystemBarStyle.dark(Color.TRANSPARENT)
)
requestNotifications()
setContent { KilnTheme { KilnApp(vm) } }
}
private fun requestNotifications() {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) return
if (checkSelfPermission(Manifest.permission.POST_NOTIFICATIONS) ==
PackageManager.PERMISSION_GRANTED
) return
notifPermission.launch(Manifest.permission.POST_NOTIFICATIONS)
}
override fun onStop() {
super.onStop()
KilnIconSyncWorker.runOnce(applicationContext)
KilnAlertWorker.runOnce(applicationContext)
}
}