File tree Expand file tree Collapse file tree 3 files changed +36
-8
lines changed
androidTest/java/com/github/drjacky/imagepicker
main/kotlin/com/github/drjacky/imagepicker Expand file tree Collapse file tree 3 files changed +36
-8
lines changed Original file line number Diff line number Diff line change 1+ package com.github.drjacky.imagepicker
2+
3+ import android.net.Uri
4+ import androidx.test.platform.app.InstrumentationRegistry
5+ import com.github.drjacky.imagepicker.util.FileUriUtils
6+ import org.junit.Assert.assertEquals
7+ import org.junit.Test
8+
9+ class FileUriUtilsTests {
10+ @Test
11+ fun getImageExtension_AndroidPhotoPickerPath_returnsJpg () {
12+ val uri =
13+ Uri .parse(" content://media/picker/0/com.android.providers.media.photopicker/media/1000000033" )
14+ val appContext = InstrumentationRegistry .getInstrumentation().targetContext
15+
16+ val extension = FileUriUtils .getImageExtension(appContext, uri)
17+
18+ assertEquals(" .jpg" , extension)
19+ }
20+ }
Original file line number Diff line number Diff line change @@ -6,6 +6,7 @@ import android.content.Intent
66import android.net.Uri
77import android.os.Bundle
88import android.util.Log
9+ import androidx.activity.addCallback
910import androidx.activity.result.contract.ActivityResultContracts
1011import androidx.appcompat.app.AppCompatActivity
1112import com.github.drjacky.imagepicker.constant.ImageProvider
@@ -72,6 +73,11 @@ class ImagePickerActivity : AppCompatActivity() {
7273 super .onCreate(savedInstanceState)
7374 restoreInstanceState(savedInstanceState)
7475 loadBundle(savedInstanceState)
76+
77+ onBackPressedDispatcher.addCallback(this ) {
78+ // Back is pressed... Finishing the activity
79+ setResultCancel()
80+ }
7581 }
7682
7783 /* *
@@ -146,13 +152,6 @@ class ImagePickerActivity : AppCompatActivity() {
146152 mGalleryProvider?.onRequestPermissionsResult(requestCode)
147153 }
148154
149- /* *
150- * Handle Activity Back Press
151- */
152- override fun onBackPressed () {
153- setResultCancel()
154- }
155-
156155 /* *
157156 * {@link CameraProvider} and {@link GalleryProvider} Result will be available here.
158157 *
Original file line number Diff line number Diff line change @@ -168,7 +168,16 @@ class GalleryProvider(
168168 fileList!! .add(uri)
169169 }
170170 activity.selectedNumberOfImages = fileList!! .size
171- activity.setMultipleImage(fileList!! )
171+
172+ try {
173+ if (activity.selectedNumberOfImages == 1 ) {
174+ activity.setImage(fileList!! .single(), isCamera = false )
175+ } else {
176+ activity.setMultipleImage(fileList!! )
177+ }
178+ } catch (ex: IOException ) {
179+ setError(R .string.error_failed_pick_gallery_image)
180+ }
172181 } ? : run {
173182 val uri = data?.data
174183 if (uri != null ) {
You can’t perform that action at this time.
0 commit comments