1
- @file:OptIn(
2
- ExperimentalMaterial3Api ::class , ExperimentalComposeApi ::class ,
3
- ExperimentalPermissionsApi ::class
4
- )
1
+ @file:OptIn(ExperimentalMaterial3Api ::class , ExperimentalPermissionsApi ::class )
5
2
6
3
package com.dede.android_eggs.cat_editor
7
4
8
- import android.util.Log
9
5
import androidx.compose.animation.Crossfade
10
6
import androidx.compose.foundation.layout.Box
11
7
import androidx.compose.foundation.layout.fillMaxSize
@@ -28,7 +24,6 @@ import androidx.compose.material3.MaterialTheme
28
24
import androidx.compose.material3.Scaffold
29
25
import androidx.compose.material3.Text
30
26
import androidx.compose.runtime.Composable
31
- import androidx.compose.runtime.ExperimentalComposeApi
32
27
import androidx.compose.runtime.LaunchedEffect
33
28
import androidx.compose.runtime.getValue
34
29
import androidx.compose.runtime.mutableLongStateOf
@@ -52,7 +47,6 @@ import com.dede.android_eggs.navigation.LocalNavController
52
47
import com.dede.basic.toast
53
48
import com.dede.basic.utils.ShareCatUtils
54
49
import com.google.accompanist.permissions.ExperimentalPermissionsApi
55
- import com.google.accompanist.permissions.rememberMultiplePermissionsState
56
50
import kotlinx.coroutines.launch
57
51
58
52
object CatEditorScreen : EasterEggsDestination {
@@ -117,7 +111,6 @@ fun CatEditorScreen() {
117
111
val deferred = captureController.captureAsync()
118
112
scope.launch {
119
113
val bitmap = deferred.await().asAndroidBitmap()
120
- Log .i(" CatEditorScreen" , " saveCatToAlbum, w * h: ${bitmap.width} * ${bitmap.height} " )
121
114
val uri = ShareCatUtils .saveCat(context, bitmap, catName)
122
115
if (uri != null ) {
123
116
context.toast(" 🐱" )
@@ -128,8 +121,9 @@ fun CatEditorScreen() {
128
121
}
129
122
}
130
123
131
- val storagePermissionState = rememberMultiplePermissionsState(
132
- ShareCatUtils .storagePermissions.toList(),
124
+ val storagePermissionState = rememberMultiplePermissionsStateCompat(
125
+ permissions = ShareCatUtils .storagePermissions,
126
+ isNotRequire = ShareCatUtils .isNotRequireStoragePermissions,
133
127
onPermissionsResult = { result ->
134
128
if (result.all { it.value }) {
135
129
saveCatToAlbum()
@@ -208,7 +202,6 @@ fun CatEditorScreen() {
208
202
IconButton (
209
203
onClick = {
210
204
when {
211
- ShareCatUtils .isNotRequireStoragePermissions -> saveCatToAlbum()
212
205
storagePermissionState.allPermissionsGranted -> saveCatToAlbum()
213
206
storagePermissionState.shouldShowRationale -> context.toast(" 🚫" )
214
207
else -> storagePermissionState.launchMultiplePermissionRequest()
0 commit comments