Skip to content

Commit 685f697

Browse files
committed
auto pick after take permission in android 11
1 parent 3b386a8 commit 685f697

File tree

6 files changed

+32
-25
lines changed

6 files changed

+32
-25
lines changed

EasyMediaPicker/src/main/java/com/bn/easypicker/EasyPicker.kt

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,13 @@ class EasyPicker(
3333
builder: Builder,
3434
) : OnAttachmentTypeSelected {
3535

36+
companion object{
37+
const val IMAGE_CHOSE_TYPE = 1
38+
const val MULTI_IMAGES_TYPE = 2
39+
const val VIDEO_TYPE = 3
40+
const val FILE_TYPE = 4
41+
}
42+
3643
private val request: Int = builder.request
3744
private val mContext: Context = builder.act
3845
private val act: FragmentActivity = builder.act
@@ -43,12 +50,27 @@ class EasyPicker(
4350
private val backgroundColor: Int = builder.sheetBackgroundColor
4451
private val btnBackground: Int = builder.btnBackground
4552
private val maximumSelectionLimit: Int = builder.maximumSelectionLimit
53+
private var currentChoseType:Int = 1
4654

4755

4856
private val resultLauncher =
4957
act.registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
5058
if (result.resultCode == -1) {
51-
chooseImage()
59+
when(currentChoseType){
60+
IMAGE_CHOSE_TYPE->{
61+
chooseImage()
62+
}
63+
MULTI_IMAGES_TYPE->{
64+
chooseMultipleImages()
65+
}
66+
VIDEO_TYPE->{
67+
chooseVideo()
68+
}
69+
FILE_TYPE->{
70+
chooseFile()
71+
}
72+
73+
}
5274
}
5375
}
5476

@@ -411,6 +433,7 @@ class EasyPicker(
411433
}
412434

413435
fun chooseImage() {
436+
currentChoseType = IMAGE_CHOSE_TYPE
414437
if (checkPermission()) {
415438
mSelectImageSheet.show()
416439
} else {
@@ -419,6 +442,7 @@ class EasyPicker(
419442
}
420443

421444
fun chooseMultipleImages() {
445+
currentChoseType = MULTI_IMAGES_TYPE
422446
if (checkPermission()) {
423447
act.lifecycleScope.launchWhenStarted {
424448
multiImageLauncher
@@ -462,6 +486,8 @@ class EasyPicker(
462486
}
463487

464488
fun chooseVideo() {
489+
currentChoseType = VIDEO_TYPE
490+
465491
if (checkPermission()) {
466492
val intent = Intent(
467493
Intent.ACTION_GET_CONTENT,
@@ -478,6 +504,7 @@ class EasyPicker(
478504
}
479505

480506
fun chooseFile() {
507+
currentChoseType = FILE_TYPE
481508
if (checkPermission()) {
482509
val mRequestFileIntent = Intent(Intent.ACTION_GET_CONTENT)
483510
mRequestFileIntent.type = "*/*"

EasyMediaPicker/src/main/java/com/bn/easypicker/FileResponse.kt

Lines changed: 0 additions & 18 deletions
This file was deleted.

EasyMediaPicker/src/main/java/com/bn/easypicker/mutils/PermissionUtils.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ object PermissionUtils {
1818

1919
val IMAGE_PERMISSIONS = arrayOf(permission.READ_EXTERNAL_STORAGE,permission.WRITE_EXTERNAL_STORAGE,
2020
permission.CAMERA)
21-
val MEDIA_LOCATION_PERMISSIONS = arrayOf(permission.READ_EXTERNAL_STORAGE, permission.WRITE_EXTERNAL_STORAGE, permission.ACCESS_MEDIA_LOCATION)
2221

2322
val GPS_PERMISSION = arrayOf(permission.ACCESS_FINE_LOCATION, permission.ACCESS_COARSE_LOCATION)
2423
const val BACKGROUND_LOCATION = permission.ACCESS_BACKGROUND_LOCATION

EasyMediaPicker/src/main/java/com/bn/easypicker/mutils/request_permission/RequestStoragePermissionActivity.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,12 @@ class RequestStoragePermissionActivity : AppCompatActivity(), OnPermissionDialog
6262
if (!mPermission.isAdded) mPermission.show(supportFragmentManager, "tag")
6363
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q && !PermissionUtils.hasPermissions(
6464
this,
65-
PermissionUtils.MEDIA_LOCATION_PERMISSIONS
65+
PermissionUtils.IMAGE_PERMISSIONS
6666
)
6767
) {
68-
if (!mPermission.isAdded) mPermission.show(supportFragmentManager, "tag")
68+
if (!mPermission.isAdded) {
69+
mPermission.show(supportFragmentManager, "tag")
70+
}
6971
} else {
7072
val returnIntent = Intent()
7173
returnIntent.putExtra("result", Constants.MEDIA_PERMISSION_DONE);

app/src/main/java/com/bn/easypicker/MainActivity.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import java.io.File
1515
class MainActivity : AppCompatActivity(), OnCaptureMedia {
1616

1717
private lateinit var easyPicker: EasyPicker
18-
private lateinit var multiplePicker: EasyPicker
1918
var mProfileImagePath = ""
2019

2120

app/src/main/java/com/bn/easypicker/navCompFragments/SecondFragment.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,6 @@ class SecondFragment : Fragment(), OnCaptureMedia {
7272
.setRequestCode(MainActivity.PICK_PROFILE_IMAGE)
7373
.setListener(this@SecondFragment)
7474
.build()
75-
76-
7775
}
7876
private fun setUpMultiImagesPicker() {
7977
multiImagesEasyPicker =

0 commit comments

Comments
 (0)