@@ -7,7 +7,9 @@ import android.provider.OpenableColumns
7
7
import android.widget.Toast
8
8
import androidx.activity.ComponentActivity
9
9
import androidx.activity.compose.setContent
10
+ import androidx.activity.result.PickVisualMediaRequest
10
11
import androidx.activity.result.contract.ActivityResultContracts
12
+ import androidx.activity.result.contract.ActivityResultContracts.PickVisualMedia
11
13
import androidx.activity.viewModels
12
14
import androidx.compose.foundation.layout.fillMaxSize
13
15
import androidx.compose.material3.Surface
@@ -29,9 +31,7 @@ class MainActivity : ComponentActivity() {
29
31
30
32
private val viewModel: SubsampleScreenViewModel by viewModels()
31
33
32
- private var mGetContent = registerForActivityResult<String , Uri >(
33
- ActivityResultContracts .GetContent ()
34
- ) { uri: Uri ? ->
34
+ private var mGetContent = registerForActivityResult(PickVisualMedia ()) { uri: Uri ? ->
35
35
if (uri == null ) return @registerForActivityResult
36
36
viewModel.imageUri = uri
37
37
val cursor: Cursor =
@@ -77,7 +77,9 @@ class MainActivity : ComponentActivity() {
77
77
fun ScreenContent () {
78
78
SubsamplerTheme {
79
79
Surface (modifier = Modifier .fillMaxSize()) {
80
- MainScreen (viewModel, selectImageClick = { mGetContent.launch(" image/*" ) }) {
80
+ MainScreen (viewModel, selectImageClick = {
81
+ mGetContent.launch(PickVisualMediaRequest (PickVisualMedia .ImageOnly ))
82
+ }) {
81
83
mSaveContent.launch(getSaveFileName(viewModel.fileName, viewModel.reqSize))
82
84
}
83
85
}
0 commit comments