From 564370ab9c6df9bd06965816439e767e7caa0855 Mon Sep 17 00:00:00 2001 From: Diamond <33725716+DiamondMiner88@users.noreply.github.com> Date: Fri, 23 Sep 2022 16:54:06 -0700 Subject: [PATCH] fix: using `isExternalStorageManager` without api check (#22) --- app/src/main/kotlin/com/aliucord/manager/MainActivity.kt | 7 ++++--- .../com/aliucord/manager/ui/dialog/ManageStorageDialog.kt | 7 +++++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/app/src/main/kotlin/com/aliucord/manager/MainActivity.kt b/app/src/main/kotlin/com/aliucord/manager/MainActivity.kt index 67bbf22..2bdff46 100644 --- a/app/src/main/kotlin/com/aliucord/manager/MainActivity.kt +++ b/app/src/main/kotlin/com/aliucord/manager/MainActivity.kt @@ -5,8 +5,7 @@ package com.aliucord.manager -import android.os.Bundle -import android.os.Environment +import android.os.* import androidx.activity.ComponentActivity import androidx.activity.compose.BackHandler import androidx.activity.compose.setContent @@ -47,7 +46,9 @@ class MainActivity : ComponentActivity() { if (!navigator.pop()) finish() } - ManageStorageDialog() + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { + ManageStorageDialog() + } Taxi( modifier = Modifier.fillMaxSize(), diff --git a/app/src/main/kotlin/com/aliucord/manager/ui/dialog/ManageStorageDialog.kt b/app/src/main/kotlin/com/aliucord/manager/ui/dialog/ManageStorageDialog.kt index e4b511f..f2f4cc9 100644 --- a/app/src/main/kotlin/com/aliucord/manager/ui/dialog/ManageStorageDialog.kt +++ b/app/src/main/kotlin/com/aliucord/manager/ui/dialog/ManageStorageDialog.kt @@ -6,18 +6,21 @@ import android.os.Environment import android.provider.Settings import androidx.activity.compose.rememberLauncherForActivityResult import androidx.activity.result.contract.ActivityResultContracts +import androidx.annotation.RequiresApi import androidx.compose.material3.* import androidx.compose.runtime.* import androidx.compose.ui.res.stringResource import androidx.compose.ui.window.DialogProperties import androidx.core.net.toUri +import com.aliucord.manager.BuildConfig import com.aliucord.manager.R +@RequiresApi(Build.VERSION_CODES.R) @Composable fun ManageStorageDialog() { var manageStorageGranted by remember { mutableStateOf(Environment.isExternalStorageManager()) } - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R && !manageStorageGranted) { + if (!manageStorageGranted) { AlertDialog( onDismissRequest = {}, confirmButton = { @@ -29,7 +32,7 @@ fun ManageStorageDialog() { Button( onClick = { Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION) - .setData("package:com.aliucord.manager".toUri()) + .setData("package:${BuildConfig.APPLICATION_ID}".toUri()) .let { launcher.launch(it) } }, ) {