HC05AC-CTRL/src/main/java/io/gitlab/jfronny/hc05ac/BaseActivity.kt

40 lines
1.7 KiB
Kotlin

package io.gitlab.jfronny.hc05ac
import android.Manifest
import android.os.Build
import android.os.Bundle
import android.view.WindowManager
import androidx.appcompat.app.AppCompatActivity
open class BaseActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
if (!hasPermission(Manifest.permission.ACCESS_NOTIFICATION_POLICY)) {
goToNotificationSettings()
}
if (!hasPermission(Manifest.permission.BLUETOOTH_ADMIN)) {
requestPermissions(Manifest.permission.BLUETOOTH_ADMIN)
}
if (!hasPermission(Manifest.permission.BLUETOOTH)) {
requestPermissions(Manifest.permission.BLUETOOTH)
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S && !hasPermission(Manifest.permission.BLUETOOTH_CONNECT)) {
requestPermissions(Manifest.permission.BLUETOOTH_CONNECT)
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S && !hasPermission(Manifest.permission.BLUETOOTH_SCAN)) {
requestPermissions(Manifest.permission.BLUETOOTH_SCAN)
}
if (!hasPermission(Manifest.permission.ACCESS_COARSE_LOCATION)) {
requestPermissions(Manifest.permission.ACCESS_COARSE_LOCATION)
}
if (!hasPermission(Manifest.permission.ACCESS_FINE_LOCATION)) {
requestPermissions(Manifest.permission.ACCESS_FINE_LOCATION)
}
window.addFlags(
WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON or
WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD or
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED or
WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
)
}
}