Skip to content

Commit e0d3375

Browse files
committed
chore: drop support for Android 7 and older versions
See: github.com/orgs/FossifyOrg/discussions/241
1 parent 6f9bd04 commit e0d3375

File tree

3 files changed

+5
-47
lines changed

3 files changed

+5
-47
lines changed

app/src/main/AndroidManifest.xml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,6 @@
33
xmlns:tools="http://schemas.android.com/tools"
44
android:installLocation="auto">
55

6-
<uses-permission
7-
android:name="android.permission.CAMERA"
8-
android:maxSdkVersion="23" />
9-
106
<uses-permission android:name="android.permission.FLASHLIGHT" />
117

128
<uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" />

app/src/main/kotlin/com/simplemobiletools/flashlight/activities/MainActivity.kt

Lines changed: 4 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,21 @@
11
package com.simplemobiletools.flashlight.activities
22

3-
import android.Manifest
43
import android.annotation.SuppressLint
54
import android.app.AlarmManager
65
import android.app.Application
76
import android.content.Context
87
import android.content.Intent
98
import android.content.pm.ActivityInfo
10-
import android.content.pm.PackageManager
119
import android.content.pm.ShortcutInfo
1210
import android.graphics.drawable.Icon
1311
import android.graphics.drawable.LayerDrawable
1412
import android.os.Bundle
1513
import androidx.activity.ComponentActivity
16-
import androidx.activity.compose.ManagedActivityResultLauncher
17-
import androidx.activity.compose.rememberLauncherForActivityResult
1814
import androidx.activity.compose.setContent
19-
import androidx.activity.result.contract.ActivityResultContracts
2015
import androidx.activity.viewModels
2116
import androidx.compose.runtime.*
2217
import androidx.compose.ui.res.stringResource
23-
import androidx.core.content.ContextCompat
2418
import androidx.lifecycle.AndroidViewModel
25-
import androidx.lifecycle.Lifecycle
2619
import androidx.lifecycle.compose.collectAsStateWithLifecycle
2720
import androidx.lifecycle.viewModelScope
2821
import 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 {

gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ gradlePlugins-agp = "8.6.1"
1919
#build
2020
app-build-compileSDKVersion = "34"
2121
app-build-targetSDK = "34"
22-
app-build-minimumSDK = "23"
22+
app-build-minimumSDK = "26"
2323
app-build-javaVersion = "VERSION_17"
2424
app-build-kotlinJVMTarget = "17"
2525
#versioning

0 commit comments

Comments
 (0)