diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index f81d86b2..0de50598 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -3,10 +3,6 @@ xmlns:tools="http://schemas.android.com/tools" android:installLocation="auto"> - - diff --git a/app/src/main/kotlin/com/simplemobiletools/flashlight/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/flashlight/activities/MainActivity.kt index f1a68b2a..2c41622a 100644 --- a/app/src/main/kotlin/com/simplemobiletools/flashlight/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/flashlight/activities/MainActivity.kt @@ -1,28 +1,21 @@ package com.simplemobiletools.flashlight.activities -import android.Manifest import android.annotation.SuppressLint import android.app.AlarmManager import android.app.Application import android.content.Context import android.content.Intent import android.content.pm.ActivityInfo -import android.content.pm.PackageManager import android.content.pm.ShortcutInfo import android.graphics.drawable.Icon import android.graphics.drawable.LayerDrawable import android.os.Bundle import androidx.activity.ComponentActivity -import androidx.activity.compose.ManagedActivityResultLauncher -import androidx.activity.compose.rememberLauncherForActivityResult import androidx.activity.compose.setContent -import androidx.activity.result.contract.ActivityResultContracts import androidx.activity.viewModels import androidx.compose.runtime.* import androidx.compose.ui.res.stringResource -import androidx.core.content.ContextCompat import androidx.lifecycle.AndroidViewModel -import androidx.lifecycle.Lifecycle import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.viewModelScope import com.google.android.material.math.MathUtils @@ -64,15 +57,6 @@ class MainActivity : ComponentActivity() { setContent { AppThemeSurface { val showMoreApps = onEventValue { !resources.getBoolean(com.simplemobiletools.commons.R.bool.hide_google_relations) } - val sosPermissionLauncher = rememberLauncherForActivityResult( - contract = ActivityResultContracts.RequestPermission(), - onResult = getPermissionResultHandler(true) - ) - val stroboscopePermissionLauncher = rememberLauncherForActivityResult( - contract = ActivityResultContracts.RequestPermission(), - onResult = getPermissionResultHandler(false) - ) - val sleepTimerCustomDialogState = getSleepTimerCustomDialogState() val sleepTimerDialogState = getSleepTimerDialogState(showCustomSleepTimerDialog = sleepTimerCustomDialogState::show) val sleepTimerPermissionDialogState = getSleepTimerPermissionDialogState(showSleepTimerDialog = sleepTimerDialogState::show) @@ -104,7 +88,7 @@ class MainActivity : ComponentActivity() { SosButton( sosActive = sosActive, onSosButtonPress = { - toggleStroboscope(true, sosPermissionLauncher) + toggleStroboscope(true) }, ) } @@ -117,7 +101,7 @@ class MainActivity : ComponentActivity() { StroboscopeButton( stroboscopeActive = stroboscopeActive, onStroboscopeButtonPress = { - toggleStroboscope(false, stroboscopePermissionLauncher) + toggleStroboscope(false) }, ) } @@ -315,29 +299,7 @@ class MainActivity : ComponentActivity() { startAboutActivity(R.string.app_name, 0, BuildConfig.VERSION_NAME, faqItems, true) } - private fun toggleStroboscope(isSOS: Boolean, launcher: ManagedActivityResultLauncher) { - // use the old Camera API for stroboscope, the new Camera Manager is way too slow - if (isNougatPlus()) { - cameraPermissionGranted(isSOS) - } else { - val permission = Manifest.permission.CAMERA - if (ContextCompat.checkSelfPermission(this, permission) == PackageManager.PERMISSION_GRANTED) { - cameraPermissionGranted(isSOS) - } else { - launcher.launch(permission) - } - } - } - - private fun getPermissionResultHandler(isSos: Boolean): (Boolean) -> Unit = { granted -> - if (granted) { - cameraPermissionGranted(isSos) - } else { - toast(R.string.camera_permission) - } - } - - private fun cameraPermissionGranted(isSOS: Boolean) { + private fun toggleStroboscope(isSOS: Boolean) { if (isSOS) { viewModel.enableSos() } else { @@ -393,7 +355,7 @@ class MainActivity : ComponentActivity() { @SuppressLint("NewApi") private fun checkShortcuts() { val appIconColor = preferences.appIconColor - if (isNougatMR1Plus() && preferences.lastHandledShortcutColor != appIconColor) { + if (preferences.lastHandledShortcutColor != appIconColor) { val createNewContact = getBrightDisplayShortcut(appIconColor) try { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 8e56cd83..aeaaff65 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -19,7 +19,7 @@ gradlePlugins-agp = "8.6.1" #build app-build-compileSDKVersion = "34" app-build-targetSDK = "34" -app-build-minimumSDK = "23" +app-build-minimumSDK = "26" app-build-javaVersion = "VERSION_17" app-build-kotlinJVMTarget = "17" #versioning