11package com.simplemobiletools.flashlight.activities
22
3- import android.Manifest
43import android.annotation.SuppressLint
54import android.app.AlarmManager
65import android.app.Application
76import android.content.Context
87import android.content.Intent
98import android.content.pm.ActivityInfo
10- import android.content.pm.PackageManager
119import android.content.pm.ShortcutInfo
1210import android.graphics.drawable.Icon
1311import android.graphics.drawable.LayerDrawable
1412import android.os.Bundle
1513import androidx.activity.ComponentActivity
16- import androidx.activity.compose.ManagedActivityResultLauncher
17- import androidx.activity.compose.rememberLauncherForActivityResult
1814import androidx.activity.compose.setContent
19- import androidx.activity.result.contract.ActivityResultContracts
2015import androidx.activity.viewModels
2116import androidx.compose.runtime.*
2217import androidx.compose.ui.res.stringResource
23- import androidx.core.content.ContextCompat
2418import androidx.lifecycle.AndroidViewModel
25- import androidx.lifecycle.Lifecycle
2619import androidx.lifecycle.compose.collectAsStateWithLifecycle
2720import androidx.lifecycle.viewModelScope
2821import com.google.android.material.math.MathUtils
@@ -64,15 +57,6 @@ class MainActivity : ComponentActivity() {
6457 setContent {
6558 AppThemeSurface {
6659 val showMoreApps = onEventValue { ! resources.getBoolean(com.simplemobiletools.commons.R .bool.hide_google_relations) }
67- val sosPermissionLauncher = rememberLauncherForActivityResult(
68- contract = ActivityResultContracts .RequestPermission (),
69- onResult = getPermissionResultHandler(true )
70- )
71- val stroboscopePermissionLauncher = rememberLauncherForActivityResult(
72- contract = ActivityResultContracts .RequestPermission (),
73- onResult = getPermissionResultHandler(false )
74- )
75-
7660 val sleepTimerCustomDialogState = getSleepTimerCustomDialogState()
7761 val sleepTimerDialogState = getSleepTimerDialogState(showCustomSleepTimerDialog = sleepTimerCustomDialogState::show)
7862 val sleepTimerPermissionDialogState = getSleepTimerPermissionDialogState(showSleepTimerDialog = sleepTimerDialogState::show)
@@ -104,7 +88,7 @@ class MainActivity : ComponentActivity() {
10488 SosButton (
10589 sosActive = sosActive,
10690 onSosButtonPress = {
107- toggleStroboscope(true , sosPermissionLauncher )
91+ toggleStroboscope(true )
10892 },
10993 )
11094 }
@@ -117,7 +101,7 @@ class MainActivity : ComponentActivity() {
117101 StroboscopeButton (
118102 stroboscopeActive = stroboscopeActive,
119103 onStroboscopeButtonPress = {
120- toggleStroboscope(false , stroboscopePermissionLauncher )
104+ toggleStroboscope(false )
121105 },
122106 )
123107 }
@@ -315,29 +299,7 @@ class MainActivity : ComponentActivity() {
315299 startAboutActivity(R .string.app_name, 0 , BuildConfig .VERSION_NAME , faqItems, true )
316300 }
317301
318- private fun toggleStroboscope (isSOS : Boolean , launcher : ManagedActivityResultLauncher <String , Boolean >) {
319- // use the old Camera API for stroboscope, the new Camera Manager is way too slow
320- if (isNougatPlus()) {
321- cameraPermissionGranted(isSOS)
322- } else {
323- val permission = Manifest .permission.CAMERA
324- if (ContextCompat .checkSelfPermission(this , permission) == PackageManager .PERMISSION_GRANTED ) {
325- cameraPermissionGranted(isSOS)
326- } else {
327- launcher.launch(permission)
328- }
329- }
330- }
331-
332- private fun getPermissionResultHandler (isSos : Boolean ): (Boolean ) -> Unit = { granted ->
333- if (granted) {
334- cameraPermissionGranted(isSos)
335- } else {
336- toast(R .string.camera_permission)
337- }
338- }
339-
340- private fun cameraPermissionGranted (isSOS : Boolean ) {
302+ private fun toggleStroboscope (isSOS : Boolean ) {
341303 if (isSOS) {
342304 viewModel.enableSos()
343305 } else {
@@ -393,7 +355,7 @@ class MainActivity : ComponentActivity() {
393355 @SuppressLint(" NewApi" )
394356 private fun checkShortcuts () {
395357 val appIconColor = preferences.appIconColor
396- if (isNougatMR1Plus() && preferences.lastHandledShortcutColor != appIconColor) {
358+ if (preferences.lastHandledShortcutColor != appIconColor) {
397359 val createNewContact = getBrightDisplayShortcut(appIconColor)
398360
399361 try {
0 commit comments