From e07c28622471ac895da908bf8258b7c6ce180556 Mon Sep 17 00:00:00 2001 From: ChungHa136 <115482835+ChungHa136@users.noreply.github.com> Date: Sun, 1 Jan 2023 16:49:44 +0700 Subject: [PATCH 1/3] update sdk 33,update permission android sdk33 --- .idea/.gitignore | 3 + .idea/codeStyles/Project.xml | 124 ++++++++++++++++++ .idea/codeStyles/codeStyleConfig.xml | 5 + .idea/compiler.xml | 6 + .idea/gradle.xml | 23 ++++ .idea/jarRepositories.xml | 25 ++++ .idea/misc.xml | 10 ++ .idea/vcs.xml | 6 + app/src/main/AndroidManifest.xml | 9 ++ .../crazylegend/mediapicker/FragmentResult.kt | 8 +- .../crazylegend/mediapicker/MainActivity.kt | 8 +- .../MultiAudioPickerBottomSheetDialog.kt | 8 +- .../SingleAudioPickerBottomSheetDialog.kt | 8 +- .../audiopicker/pickers/MultiAudioPicker.kt | 3 +- .../audiopicker/pickers/SingleAudioPicker.kt | 2 - build.gradle | 4 +- .../MultiImagePickerBottomSheetDialog.kt | 8 +- .../SingleImagePickerBottomSheetDialog.kt | 7 +- .../imagepicker/pickers/MultiImagePicker.kt | 3 +- .../imagepicker/pickers/SingleImagePicker.kt | 3 - .../MultiVideoPickerBottomSheetDialog.kt | 8 +- .../SingleVideoPickerBottomSheetDialog.kt | 7 +- .../videopicker/pickers/MultiVideoPicker.kt | 2 - .../videopicker/pickers/SingleVideoPicker.kt | 2 - 24 files changed, 265 insertions(+), 27 deletions(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/codeStyles/Project.xml create mode 100644 .idea/codeStyles/codeStyleConfig.xml create mode 100644 .idea/compiler.xml create mode 100644 .idea/gradle.xml create mode 100644 .idea/jarRepositories.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/vcs.xml diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml new file mode 100644 index 0000000..53f9608 --- /dev/null +++ b/.idea/codeStyles/Project.xml @@ -0,0 +1,124 @@ + + + + \ No newline at end of file diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml new file mode 100644 index 0000000..79ee123 --- /dev/null +++ b/.idea/codeStyles/codeStyleConfig.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..fb7f4a8 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml new file mode 100644 index 0000000..e572e03 --- /dev/null +++ b/.idea/gradle.xml @@ -0,0 +1,23 @@ + + + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..d2ce72d --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..bdd9278 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,10 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index c732201..004cf58 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -2,6 +2,15 @@ + + + + + + + Unit = {}, audioList: (list: List) -> Unit = {}) { val manager = context.setupManager() val setupModifier = setupModifier(modifier) @@ -47,7 +47,6 @@ object MultiAudioPicker { } } - @RequiresPermission(Manifest.permission.READ_EXTERNAL_STORAGE) fun showPicker(fragmentManager: FragmentManager, modifier: MultiAudioPickerModifier.() -> Unit = {}, audioList: (list: List) -> Unit = {}) { val setupModifier = setupModifier(modifier) with(MultiAudioPickerBottomSheetDialog()) { diff --git a/audiopicker/src/main/java/com/crazylegend/audiopicker/pickers/SingleAudioPicker.kt b/audiopicker/src/main/java/com/crazylegend/audiopicker/pickers/SingleAudioPicker.kt index efbe157..da6294f 100644 --- a/audiopicker/src/main/java/com/crazylegend/audiopicker/pickers/SingleAudioPicker.kt +++ b/audiopicker/src/main/java/com/crazylegend/audiopicker/pickers/SingleAudioPicker.kt @@ -35,7 +35,6 @@ object SingleAudioPicker { } } - @RequiresPermission(Manifest.permission.READ_EXTERNAL_STORAGE) fun showPicker(context: Context, pickerModifier: SingleAudioPickerModifier.() -> Unit = {}, onPickedAudio: (audio: AudioModel) -> Unit = {}) { val modifier = setupModifier(pickerModifier) val manager = context.setupManager() @@ -46,7 +45,6 @@ object SingleAudioPicker { } } - @RequiresPermission(Manifest.permission.READ_EXTERNAL_STORAGE) fun showPicker(manager: FragmentManager, pickerModifier: SingleAudioPickerModifier.() -> Unit = {}, onPickedAudio: (audio: AudioModel) -> Unit = {}) { val modifier = setupModifier(pickerModifier) with(SingleAudioPickerBottomSheetDialog()) { diff --git a/build.gradle b/build.gradle index 5e8dc14..984e870 100644 --- a/build.gradle +++ b/build.gradle @@ -10,7 +10,7 @@ ext { coreKTX = "1.5.0" //compilation - compileVersion = 32 + compileVersion = 33 minVersion = 21 verCode = 1 verName = "1.0.0" @@ -20,7 +20,7 @@ ext { buildscript { ext.kotlin_version = '1.7.10' - ext.compiledAppVersion = 32 + ext.compiledAppVersion = 33 repositories { google() diff --git a/imagepicker/src/main/java/com/crazylegend/imagepicker/dialogs/multi/MultiImagePickerBottomSheetDialog.kt b/imagepicker/src/main/java/com/crazylegend/imagepicker/dialogs/multi/MultiImagePickerBottomSheetDialog.kt index c0eef7a..6ab8dd6 100644 --- a/imagepicker/src/main/java/com/crazylegend/imagepicker/dialogs/multi/MultiImagePickerBottomSheetDialog.kt +++ b/imagepicker/src/main/java/com/crazylegend/imagepicker/dialogs/multi/MultiImagePickerBottomSheetDialog.kt @@ -1,6 +1,7 @@ package com.crazylegend.imagepicker.dialogs.multi import android.Manifest +import android.os.Build import android.os.Bundle import android.util.Log import android.view.View @@ -56,8 +57,11 @@ internal class MultiImagePickerBottomSheetDialog : AbstractBottomSheetDialogFrag @Suppress("UNCHECKED_CAST") override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - askForStoragePermission.launch(Manifest.permission.READ_EXTERNAL_STORAGE) - + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU){ + askForStoragePermission.launch(Manifest.permission.READ_EXTERNAL_STORAGE) + } else { + askForStoragePermission.launch(Manifest.permission.READ_MEDIA_IMAGES) + } setupUIForMultiPicker( binding.gallery, multiSelectAdapter, binding.doneButton, binding.title, binding.loadingIndicator, modifier?.loadingIndicatorTint, diff --git a/imagepicker/src/main/java/com/crazylegend/imagepicker/dialogs/single/SingleImagePickerBottomSheetDialog.kt b/imagepicker/src/main/java/com/crazylegend/imagepicker/dialogs/single/SingleImagePickerBottomSheetDialog.kt index 602df6b..771450f 100644 --- a/imagepicker/src/main/java/com/crazylegend/imagepicker/dialogs/single/SingleImagePickerBottomSheetDialog.kt +++ b/imagepicker/src/main/java/com/crazylegend/imagepicker/dialogs/single/SingleImagePickerBottomSheetDialog.kt @@ -1,6 +1,7 @@ package com.crazylegend.imagepicker.dialogs.single import android.Manifest +import android.os.Build import android.os.Bundle import android.util.Log import android.view.View @@ -57,7 +58,11 @@ internal class SingleImagePickerBottomSheetDialog : AbstractBottomSheetDialogFra override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - askForStoragePermission.launch(Manifest.permission.READ_EXTERNAL_STORAGE) + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU){ + askForStoragePermission.launch(Manifest.permission.READ_EXTERNAL_STORAGE) + } else { + askForStoragePermission.launch(Manifest.permission.READ_MEDIA_IMAGES) + } setupUIForSinglePicker(binding.gallery, singleAdapter, binding.title, binding.loadingIndicator, modifier?.loadingIndicatorTint, ::applyTitleModifications) imagesVM.images.observe(viewLifecycleOwner) { setupList(singleAdapter, it, binding.noContentText, modifier?.noContentTextModifier) diff --git a/imagepicker/src/main/java/com/crazylegend/imagepicker/pickers/MultiImagePicker.kt b/imagepicker/src/main/java/com/crazylegend/imagepicker/pickers/MultiImagePicker.kt index c4e48f1..88c7ac3 100644 --- a/imagepicker/src/main/java/com/crazylegend/imagepicker/pickers/MultiImagePicker.kt +++ b/imagepicker/src/main/java/com/crazylegend/imagepicker/pickers/MultiImagePicker.kt @@ -37,7 +37,7 @@ object MultiImagePicker { } } - @RequiresPermission(READ_EXTERNAL_STORAGE) + fun showPicker( context: Context, multiImagePickerModifier: BaseMultiPickerModifier.() -> Unit = {}, imagesList: (list: List) -> Unit = {} @@ -51,7 +51,6 @@ object MultiImagePicker { } } - @RequiresPermission(READ_EXTERNAL_STORAGE) fun showPicker( fragmentManager: FragmentManager, multiImagePickerModifier: BaseMultiPickerModifier.() -> Unit = {}, imagesList: (list: List) -> Unit = {} diff --git a/imagepicker/src/main/java/com/crazylegend/imagepicker/pickers/SingleImagePicker.kt b/imagepicker/src/main/java/com/crazylegend/imagepicker/pickers/SingleImagePicker.kt index b96e3cf..bdea70f 100644 --- a/imagepicker/src/main/java/com/crazylegend/imagepicker/pickers/SingleImagePicker.kt +++ b/imagepicker/src/main/java/com/crazylegend/imagepicker/pickers/SingleImagePicker.kt @@ -36,7 +36,6 @@ object SingleImagePicker { } } - @RequiresPermission(READ_EXTERNAL_STORAGE) fun showPicker( context: Context, pickerModifier: BaseSinglePickerModifier.() -> Unit = {}, @@ -51,8 +50,6 @@ object SingleImagePicker { } } - - @RequiresPermission(READ_EXTERNAL_STORAGE) fun showPicker( fragmentManager: FragmentManager, pickerModifier: BaseSinglePickerModifier.() -> Unit = {}, diff --git a/videopicker/src/main/java/com/crazylegend/videopicker/dialogs/multi/MultiVideoPickerBottomSheetDialog.kt b/videopicker/src/main/java/com/crazylegend/videopicker/dialogs/multi/MultiVideoPickerBottomSheetDialog.kt index 28f7881..3735723 100644 --- a/videopicker/src/main/java/com/crazylegend/videopicker/dialogs/multi/MultiVideoPickerBottomSheetDialog.kt +++ b/videopicker/src/main/java/com/crazylegend/videopicker/dialogs/multi/MultiVideoPickerBottomSheetDialog.kt @@ -1,6 +1,7 @@ package com.crazylegend.videopicker.dialogs.multi import android.Manifest +import android.os.Build import android.os.Bundle import android.util.Log import android.view.View @@ -54,8 +55,11 @@ internal class MultiVideoPickerBottomSheetDialog : AbstractBottomSheetDialogFrag @Suppress("UNCHECKED_CAST") override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - askForStoragePermission.launch(Manifest.permission.READ_EXTERNAL_STORAGE) - + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU){ + askForStoragePermission.launch(Manifest.permission.READ_EXTERNAL_STORAGE) + } else { + askForStoragePermission.launch(Manifest.permission.READ_MEDIA_VIDEO) + } setupUIForMultiPicker( binding.gallery, multiSelectAdapter, binding.doneButton, binding.title, binding.loadingIndicator, modifier?.loadingIndicatorTint, ::applyDoneButtonModifications, ::applyTitleModifications) diff --git a/videopicker/src/main/java/com/crazylegend/videopicker/dialogs/single/SingleVideoPickerBottomSheetDialog.kt b/videopicker/src/main/java/com/crazylegend/videopicker/dialogs/single/SingleVideoPickerBottomSheetDialog.kt index b782977..50ca6d8 100644 --- a/videopicker/src/main/java/com/crazylegend/videopicker/dialogs/single/SingleVideoPickerBottomSheetDialog.kt +++ b/videopicker/src/main/java/com/crazylegend/videopicker/dialogs/single/SingleVideoPickerBottomSheetDialog.kt @@ -1,6 +1,7 @@ package com.crazylegend.videopicker.dialogs.single import android.Manifest +import android.os.Build import android.os.Bundle import android.util.Log import android.view.View @@ -55,7 +56,11 @@ internal class SingleVideoPickerBottomSheetDialog : AbstractBottomSheetDialogFra override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - askForStoragePermission.launch(Manifest.permission.READ_EXTERNAL_STORAGE) + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU){ + askForStoragePermission.launch(Manifest.permission.READ_EXTERNAL_STORAGE) + } else { + askForStoragePermission.launch(Manifest.permission.READ_MEDIA_VIDEO) + } setupUIForSinglePicker(binding.gallery, singleAdapter, binding.title, binding.loadingIndicator, modifier?.loadingIndicatorTint, ::applyTitleModifications) videosVM.videos.observe(viewLifecycleOwner) { setupList(singleAdapter, it, binding.noContentText, modifier?.noContentTextModifier) diff --git a/videopicker/src/main/java/com/crazylegend/videopicker/pickers/MultiVideoPicker.kt b/videopicker/src/main/java/com/crazylegend/videopicker/pickers/MultiVideoPicker.kt index 4cfb8d4..aa06a4c 100644 --- a/videopicker/src/main/java/com/crazylegend/videopicker/pickers/MultiVideoPicker.kt +++ b/videopicker/src/main/java/com/crazylegend/videopicker/pickers/MultiVideoPicker.kt @@ -37,7 +37,6 @@ object MultiVideoPicker { } } - @RequiresPermission(Manifest.permission.READ_EXTERNAL_STORAGE) fun showPicker(context: Context, modifier: BaseMultiPickerModifier.() -> Unit = {}, videoList: (list: List) -> Unit = {}) { val manager = context.setupManager() val setupModifier = setupModifier(modifier) @@ -48,7 +47,6 @@ object MultiVideoPicker { } } - @RequiresPermission(Manifest.permission.READ_EXTERNAL_STORAGE) fun showPicker(fragmentManager: FragmentManager, modifier: BaseMultiPickerModifier.() -> Unit = {}, videoList: (list: List) -> Unit = {}) { val setupModifier = setupModifier(modifier) with(MultiVideoPickerBottomSheetDialog()) { diff --git a/videopicker/src/main/java/com/crazylegend/videopicker/pickers/SingleVideoPicker.kt b/videopicker/src/main/java/com/crazylegend/videopicker/pickers/SingleVideoPicker.kt index 8d5c618..ccda170 100644 --- a/videopicker/src/main/java/com/crazylegend/videopicker/pickers/SingleVideoPicker.kt +++ b/videopicker/src/main/java/com/crazylegend/videopicker/pickers/SingleVideoPicker.kt @@ -36,7 +36,6 @@ object SingleVideoPicker { } } - @RequiresPermission(Manifest.permission.READ_EXTERNAL_STORAGE) fun showPicker(context: Context, pickerModifier: BaseSinglePickerModifier.() -> Unit = {}, onPickedVideo: (video: VideoModel) -> Unit = {}) { val modifier = setupModifier(pickerModifier) val manager = context.setupManager() @@ -47,7 +46,6 @@ object SingleVideoPicker { } } - @RequiresPermission(Manifest.permission.READ_EXTERNAL_STORAGE) fun showPicker(fragmentManager: FragmentManager, pickerModifier: BaseSinglePickerModifier.() -> Unit = {}, onPickedVideo: (video: VideoModel) -> Unit = {}) { val modifier = setupModifier(pickerModifier) with(SingleVideoPickerBottomSheetDialog()) { From 6da3b81363c1e2d8c55a0585bd96484174bbf9f6 Mon Sep 17 00:00:00 2001 From: ChungHoang Date: Tue, 3 Jan 2023 09:45:11 +0700 Subject: [PATCH 2/3] remove idea folder --- .gitignore | 1 + .idea/codeStyles/Project.xml | 4 ++-- .idea/gradle.xml | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 603b140..9a6a8b2 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ .gradle /local.properties /.idea/caches +/.idea /.idea/libraries /.idea/modules.xml /.idea/workspace.xml diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml index 53f9608..a88fc36 100644 --- a/.idea/codeStyles/Project.xml +++ b/.idea/codeStyles/Project.xml @@ -2,7 +2,7 @@ \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml index e572e03..4aedd70 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -1,5 +1,6 @@ +