1
0
Ответвление 0
ответвлён от rabbitude/rabbitude-launcher
rabbitude-launcher/app/src/main/java/de/rabbitude/launcher/MainActivity.kt

180 строки
6,9 КиБ
Kotlin
Исходный Обычный вид История

2024-06-27 21:00:29 +00:00
package de.rabbitude.launcher
import android.os.Build
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Surface
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat
import de.rabbitude.launcher.ui.init.InitActivity
import de.rabbitude.launcher.ui.theme.RabbitudeLauncherTheme
import de.rabbitude.launcher.utils.CameraController
import de.rabbitude.launcher.utils.PRIVACY_ROTATION
import de.rabbitude.launcher.utils.WindowUtils
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
window.addFlags(16)
overridePendingTransition(0, 0)
WindowUtils.setupR1Window(window)
if (CameraController.isNeedRotate(true, true)) {
CameraController.rotate(PRIVACY_ROTATION)
}
setContent {
RabbitudeLauncherTheme {
// A surface container using the 'background' color from the theme
Surface(modifier = Modifier.fillMaxSize(), color = MaterialTheme.colorScheme.background) {
Greeting("Android")
}
}
}
}
override fun onResume() {
super.onResume()
checkPermissions()
InitActivity.launch(this)
}
fun checkPermissions() {
if (Build.VERSION.SDK_INT >= 33) {
val mainActivity = this
if (ContextCompat.checkSelfPermission(
mainActivity,
"android.permission.READ_MEDIA_IMAGES"
) == 0 && ContextCompat.checkSelfPermission(
mainActivity,
"android.permission.READ_MEDIA_VIDEO"
) == 0 && ContextCompat.checkSelfPermission(
mainActivity,
"android.permission.READ_MEDIA_AUDIO"
) == 0 && ContextCompat.checkSelfPermission(
mainActivity,
"android.permission.RECORD_AUDIO"
) == 0 && ContextCompat.checkSelfPermission(
mainActivity,
"android.permission.BLUETOOTH"
) == 0 && ContextCompat.checkSelfPermission(
mainActivity,
"android.permission.BLUETOOTH_CONNECT"
) == 0 && ContextCompat.checkSelfPermission(
mainActivity,
"android.permission.BLUETOOTH_ADMIN"
) == 0 && ContextCompat.checkSelfPermission(
mainActivity,
"android.permission.BLUETOOTH_SCAN"
) == 0 && ContextCompat.checkSelfPermission(
mainActivity,
"android.permission.WRITE_SETTINGS"
) == 0 && ContextCompat.checkSelfPermission(
mainActivity,
"android.permission.ACCESS_COARSE_LOCATION"
) == 0 && ContextCompat.checkSelfPermission(
mainActivity,
"android.permission.ACCESS_FINE_LOCATION"
) == 0 && ContextCompat.checkSelfPermission(
mainActivity,
"android.permission.NEARBY_WIFI_DEVICES"
) == 0 && ContextCompat.checkSelfPermission(
mainActivity,
"android.permission.BLUETOOTH_PRIVILEGED"
) == 0 && ContextCompat.checkSelfPermission(
mainActivity,
"android.permission.NETWORK_SETTINGS"
) == 0 && ContextCompat.checkSelfPermission(
mainActivity,
"android.permission.NETWORK_STACK"
) == 0 && ContextCompat.checkSelfPermission(
mainActivity,
"android.permission.NETWORK_SETUP_WIZARD"
) == 0
) {
return
}
ActivityCompat.requestPermissions(
this,
arrayOf(
"android.permission.READ_MEDIA_IMAGES",
"android.permission.READ_MEDIA_VIDEO",
"android.permission.READ_MEDIA_AUDIO",
"android.permission.RECORD_AUDIO",
"android.permission.BLUETOOTH",
"android.permission.BLUETOOTH_CONNECT",
"android.permission.BLUETOOTH_ADMIN",
"android.permission.BLUETOOTH_SCAN",
"android.permission.ACCESS_COARSE_LOCATION",
"android.permission.ACCESS_FINE_LOCATION",
"android.permission.NEARBY_WIFI_DEVICES",
"android.permission.BLUETOOTH_PRIVILEGED",
"android.permission.NETWORK_STACK",
"android.permission.NETWORK_SETTINGS",
"android.permission.NETWORK_SETUP_WIZARD"
),
1
)
return
}
val mainActivity2 = this
if (ContextCompat.checkSelfPermission(
mainActivity2,
"android.permission.READ_EXTERNAL_STORAGE"
) == 0 && ContextCompat.checkSelfPermission(
mainActivity2,
"android.permission.WRITE_EXTERNAL_STORAGE"
) == 0 && ContextCompat.checkSelfPermission(
mainActivity2,
"android.permission.RECORD_AUDIO"
) == 0 && ContextCompat.checkSelfPermission(
mainActivity2,
"android.permission.ACCESS_COARSE_LOCATION"
) == 0 && ContextCompat.checkSelfPermission(
mainActivity2,
"android.permission.ACCESS_FINE_LOCATION"
) == 0 && ContextCompat.checkSelfPermission(mainActivity2, "android.permission.NEARBY_WIFI_DEVICES") == 0
) {
return
}
ActivityCompat.requestPermissions(
this,
arrayOf(
"android.permission.READ_EXTERNAL_STORAGE",
"android.permission.WRITE_EXTERNAL_STORAGE",
"android.permission.RECORD_AUDIO",
"android.permission.RECORD_AUDIO",
"android.permission.ACCESS_COARSE_LOCATION",
"android.permission.ACCESS_FINE_LOCATION",
"android.permission.NEARBY_WIFI_DEVICES"
),
1
)
}
}
@Composable
fun Greeting(name: String, modifier: Modifier = Modifier) {
Text(
text = "Hello $name!",
modifier = modifier
)
}
@Preview(showBackground = true)
@Composable
fun GreetingPreview() {
RabbitudeLauncherTheme {
Greeting("Android")
}
}