Skip to content

Commit c2382c1

Browse files
committed
[f]: fixed bug with no hide sheet on select image
1 parent 05613a0 commit c2382c1

File tree

2 files changed

+24
-4
lines changed

2 files changed

+24
-4
lines changed

kige/src/main/java/com/kiko/kige/ui/components/GallerySheet.kt

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ package com.kiko.kige.ui.components
66

77
import android.graphics.Bitmap
88
import android.graphics.BitmapFactory
9+
import android.graphics.drawable.Drawable
910
import android.net.Uri
1011
import androidx.compose.foundation.Image
1112
import androidx.compose.foundation.clickable
@@ -31,7 +32,9 @@ import androidx.compose.ui.graphics.painter.Painter
3132
import androidx.compose.ui.layout.ContentScale
3233
import androidx.compose.ui.platform.LocalContext
3334
import androidx.compose.ui.unit.dp
35+
import coil.ImageLoader
3436
import coil.compose.rememberAsyncImagePainter
37+
import coil.request.ImageRequest
3538
import com.kiko.kige.data.remembers.rememberKigeState
3639
import com.kiko.kige.data.state.GalleryState
3740
import com.kiko.kige.data.state.KigeState
@@ -40,6 +43,9 @@ import com.skydoves.landscapist.ImageOptions
4043
import com.skydoves.landscapist.coil.CoilImage
4144
import com.skydoves.landscapist.components.rememberImageComponent
4245
import com.skydoves.landscapist.placeholder.shimmer.ShimmerPlugin
46+
import com.skydoves.landscapist.rememberDrawablePainter
47+
import kotlinx.coroutines.delay
48+
import kotlinx.coroutines.launch
4349
import java.io.File
4450

4551
@OptIn(ExperimentalMaterial3Api::class)
@@ -52,9 +58,11 @@ internal fun GallerySheet(
5258
val coroutineScope = rememberCoroutineScope()
5359

5460
var selectedPhotoUri by remember { mutableStateOf("") }
61+
62+
5563
val selectedPainter = rememberAsyncImagePainter(
56-
model = selectedPhotoUri,
57-
onSuccess = { rememberKigeState.hide(coroutineScope) })
64+
model = selectedPhotoUri
65+
)
5866

5967
if (rememberGalleryState.visibleState.value) {
6068
ModalBottomSheet(
@@ -84,8 +92,19 @@ internal fun GallerySheet(
8492
CoilImage(
8593
modifier = rememberGalleryState.galleryUIState.imagesModifier
8694
.clickable {
87-
selectedPhotoUri = photoUri
88-
onSelect(selectedPainter, Uri.fromFile(File(photoUri)))
95+
coroutineScope.launch {
96+
selectedPhotoUri = photoUri
97+
val uri = Uri.fromFile(File(photoUri))
98+
99+
onSelect(
100+
selectedPainter,
101+
uri
102+
)
103+
104+
delay(500) // Костыль надо придумать как возвращать hide при получении изображения
105+
106+
rememberKigeState.hide(coroutineScope)
107+
}
89108
},
90109
component = rememberImageComponent {
91110
// shows a shimmering effect when loading an image.

kige/src/main/java/com/kiko/kige/ui/components/KigePicker.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.kiko.kige.ui.components
22

33
import android.Manifest
4+
import android.graphics.drawable.Drawable
45
import android.net.Uri
56
import android.os.Build
67
import androidx.compose.runtime.Composable

0 commit comments

Comments
 (0)