From 0b4e1f50cc0009497bb8183316165662c1ccbab0 Mon Sep 17 00:00:00 2001 From: Parth Date: Tue, 19 Dec 2023 15:54:49 +0530 Subject: [PATCH 1/7] - add aspect ration option --- .../imagepickerlibrary/ui/activity/ImagePickerActivity.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/ui/activity/ImagePickerActivity.kt b/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/ui/activity/ImagePickerActivity.kt index 6927dfb..a22b0e6 100644 --- a/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/ui/activity/ImagePickerActivity.kt +++ b/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/ui/activity/ImagePickerActivity.kt @@ -40,6 +40,7 @@ import com.app.imagepickerlibrary.ui.fragment.ImageFragment import com.app.imagepickerlibrary.util.isAtLeast13 import com.app.imagepickerlibrary.viewmodel.ImagePickerViewModel import com.yalantis.ucrop.UCrop +import com.yalantis.ucrop.model.AspectRatio import kotlinx.coroutines.launch import java.text.SimpleDateFormat import java.util.Date @@ -268,12 +269,13 @@ class ImagePickerActivity : AppCompatActivity(), View.OnClickListener { */ private fun getUCropOptions(): UCrop.Options { return UCrop.Options().apply { - setFreeStyleCropEnabled(pickerConfig.openCropOptions) - setHideBottomControls(!pickerConfig.openCropOptions) + setFreeStyleCropEnabled(false) + setHideBottomControls(true) setToolbarColor(getColorAttribute(R.attr.ssUCropToolbarColor)) setStatusBarColor(getColorAttribute(R.attr.ssUCropStatusBarColor)) setToolbarWidgetColor(getColorAttribute(R.attr.ssUCropToolbarWidgetColor)) setActiveControlsWidgetColor(getColorAttribute(R.attr.ssUCropActiveControlWidgetColor)) + withAspectRatio(1f, 1F) if (pickerConfig.compressImage) { setCompressionQuality(pickerConfig.compressQuality) } From 42c41a94f28b10b7214d477c2cbaa2b0adfbdf53 Mon Sep 17 00:00:00 2001 From: Parth Date: Tue, 19 Dec 2023 16:49:03 +0530 Subject: [PATCH 2/7] - add bottom border --- .../app/imagepickerlibrary/ui/activity/ImagePickerActivity.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/ui/activity/ImagePickerActivity.kt b/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/ui/activity/ImagePickerActivity.kt index a22b0e6..318359c 100644 --- a/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/ui/activity/ImagePickerActivity.kt +++ b/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/ui/activity/ImagePickerActivity.kt @@ -269,7 +269,7 @@ class ImagePickerActivity : AppCompatActivity(), View.OnClickListener { */ private fun getUCropOptions(): UCrop.Options { return UCrop.Options().apply { - setFreeStyleCropEnabled(false) + setFreeStyleCropEnabled(pickerConfig.openCropOptions) setHideBottomControls(true) setToolbarColor(getColorAttribute(R.attr.ssUCropToolbarColor)) setStatusBarColor(getColorAttribute(R.attr.ssUCropStatusBarColor)) From d887047296cf4a0d3128791dc5e58558d689323b Mon Sep 17 00:00:00 2001 From: Parth Date: Tue, 19 Dec 2023 17:21:58 +0530 Subject: [PATCH 3/7] - disable free crop size option --- .../app/imagepickerlibrary/ui/activity/ImagePickerActivity.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/ui/activity/ImagePickerActivity.kt b/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/ui/activity/ImagePickerActivity.kt index 318359c..a22b0e6 100644 --- a/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/ui/activity/ImagePickerActivity.kt +++ b/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/ui/activity/ImagePickerActivity.kt @@ -269,7 +269,7 @@ class ImagePickerActivity : AppCompatActivity(), View.OnClickListener { */ private fun getUCropOptions(): UCrop.Options { return UCrop.Options().apply { - setFreeStyleCropEnabled(pickerConfig.openCropOptions) + setFreeStyleCropEnabled(false) setHideBottomControls(true) setToolbarColor(getColorAttribute(R.attr.ssUCropToolbarColor)) setStatusBarColor(getColorAttribute(R.attr.ssUCropStatusBarColor)) From ad8194cc810a9feeb6e6af497be1f79d28ff7b5d Mon Sep 17 00:00:00 2001 From: Parth Date: Wed, 3 Apr 2024 19:04:05 +0530 Subject: [PATCH 4/7] - enable free size crop --- .../imagepickerlibrary/ui/activity/ImagePickerActivity.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/ui/activity/ImagePickerActivity.kt b/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/ui/activity/ImagePickerActivity.kt index a22b0e6..08e7967 100644 --- a/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/ui/activity/ImagePickerActivity.kt +++ b/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/ui/activity/ImagePickerActivity.kt @@ -269,13 +269,15 @@ class ImagePickerActivity : AppCompatActivity(), View.OnClickListener { */ private fun getUCropOptions(): UCrop.Options { return UCrop.Options().apply { - setFreeStyleCropEnabled(false) + setFreeStyleCropEnabled(pickerConfig.openCropOptions) setHideBottomControls(true) setToolbarColor(getColorAttribute(R.attr.ssUCropToolbarColor)) setStatusBarColor(getColorAttribute(R.attr.ssUCropStatusBarColor)) setToolbarWidgetColor(getColorAttribute(R.attr.ssUCropToolbarWidgetColor)) setActiveControlsWidgetColor(getColorAttribute(R.attr.ssUCropActiveControlWidgetColor)) - withAspectRatio(1f, 1F) + if (pickerConfig.openCropOptions.not()) { + withAspectRatio(1f, 1f) + } if (pickerConfig.compressImage) { setCompressionQuality(pickerConfig.compressQuality) } From e89ac84ae817b488f8b60cf064dcd577bdfc50bd Mon Sep 17 00:00:00 2001 From: Parth Date: Wed, 3 Apr 2024 20:00:10 +0530 Subject: [PATCH 5/7] - free style croping --- app/src/main/java/com/ssimagepicker/app/PickerOptions.kt | 6 ++++-- .../com/ssimagepicker/app/ui/PickerOptionsBottomSheet.kt | 3 ++- .../main/java/com/app/imagepickerlibrary/ImagePicker.kt | 9 +++++++++ .../java/com/app/imagepickerlibrary/model/DataModels.kt | 3 ++- .../ui/activity/ImagePickerActivity.kt | 4 ++-- 5 files changed, 19 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/ssimagepicker/app/PickerOptions.kt b/app/src/main/java/com/ssimagepicker/app/PickerOptions.kt index b2c135e..cbc3b5a 100644 --- a/app/src/main/java/com/ssimagepicker/app/PickerOptions.kt +++ b/app/src/main/java/com/ssimagepicker/app/PickerOptions.kt @@ -21,7 +21,8 @@ data class PickerOptions( val isDoneIcon: Boolean, val openCropOptions: Boolean, val openSystemPicker: Boolean, - val compressImage: Boolean + val compressImage: Boolean, + val freeSizeCrop: Boolean ) : Parcelable { companion object { fun default(): PickerOptions { @@ -37,7 +38,8 @@ data class PickerOptions( isDoneIcon = true, openCropOptions = false, openSystemPicker = false, - compressImage = false + compressImage = false, + freeSizeCrop = false ) } } diff --git a/app/src/main/java/com/ssimagepicker/app/ui/PickerOptionsBottomSheet.kt b/app/src/main/java/com/ssimagepicker/app/ui/PickerOptionsBottomSheet.kt index ca2e03a..e1ca96d 100644 --- a/app/src/main/java/com/ssimagepicker/app/ui/PickerOptionsBottomSheet.kt +++ b/app/src/main/java/com/ssimagepicker/app/ui/PickerOptionsBottomSheet.kt @@ -150,7 +150,8 @@ class PickerOptionsBottomSheet : BottomSheetDialogFragment(), View.OnClickListen isDoneIcon = binding.doneSwitch.isChecked, openCropOptions = binding.openCropSwitch.isChecked, openSystemPicker = binding.systemPickerSwitch.isChecked, - compressImage = binding.compressImageSwitch.isChecked + compressImage = binding.compressImageSwitch.isChecked, + freeSizeCrop = false ) dismiss() mListener?.onPickerOptions(pickerOptions) diff --git a/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/ImagePicker.kt b/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/ImagePicker.kt index c07043f..bee0fe2 100644 --- a/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/ImagePicker.kt +++ b/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/ImagePicker.kt @@ -133,6 +133,15 @@ class ImagePicker private constructor( return this } + /** + * Whether to free size crop option or not. + * The cropping option are only available if the single selection is set or the picture is picked via camera. + */ + fun allowFreeSizeCropping(enable: Boolean): ImagePicker { + pickerConfigManager.getPickerConfig().freeStyleCrop = enable + return this + } + /** * Whether to open new photo picker for android 11+ or not. * If the system picker is set to open the all other options except multi selection, max count and pick extension are ignored. diff --git a/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/model/DataModels.kt b/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/model/DataModels.kt index a18f21a..43c57e3 100644 --- a/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/model/DataModels.kt +++ b/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/model/DataModels.kt @@ -26,7 +26,8 @@ internal data class PickerConfig( var openCropOptions: Boolean = false, var openSystemPicker: Boolean = false, var compressImage: Boolean = false, - var compressQuality: Int = 75 + var compressQuality: Int = 75, + var freeStyleCrop: Boolean = false ) : Parcelable { companion object { diff --git a/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/ui/activity/ImagePickerActivity.kt b/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/ui/activity/ImagePickerActivity.kt index 08e7967..208c994 100644 --- a/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/ui/activity/ImagePickerActivity.kt +++ b/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/ui/activity/ImagePickerActivity.kt @@ -40,7 +40,6 @@ import com.app.imagepickerlibrary.ui.fragment.ImageFragment import com.app.imagepickerlibrary.util.isAtLeast13 import com.app.imagepickerlibrary.viewmodel.ImagePickerViewModel import com.yalantis.ucrop.UCrop -import com.yalantis.ucrop.model.AspectRatio import kotlinx.coroutines.launch import java.text.SimpleDateFormat import java.util.Date @@ -270,12 +269,13 @@ class ImagePickerActivity : AppCompatActivity(), View.OnClickListener { private fun getUCropOptions(): UCrop.Options { return UCrop.Options().apply { setFreeStyleCropEnabled(pickerConfig.openCropOptions) + setFreeStyleCropEnabled(pickerConfig.freeStyleCrop) setHideBottomControls(true) setToolbarColor(getColorAttribute(R.attr.ssUCropToolbarColor)) setStatusBarColor(getColorAttribute(R.attr.ssUCropStatusBarColor)) setToolbarWidgetColor(getColorAttribute(R.attr.ssUCropToolbarWidgetColor)) setActiveControlsWidgetColor(getColorAttribute(R.attr.ssUCropActiveControlWidgetColor)) - if (pickerConfig.openCropOptions.not()) { + if (pickerConfig.freeStyleCrop.not()) { withAspectRatio(1f, 1f) } if (pickerConfig.compressImage) { From ff8d1a396424ba56f23336e6f44c6d4587bd212a Mon Sep 17 00:00:00 2001 From: Parth Date: Tue, 19 Dec 2023 15:54:49 +0530 Subject: [PATCH 6/7] update android 14 image selection --- .../com/ssimagepicker/app/ui/DemoFragment.kt | 3 +-- app/src/main/res/xml/file_path.xml | 12 --------- .../com/app/imagepickerlibrary/Extensions.kt | 4 +++ .../ui/activity/ImagePickerActivity.kt | 27 +++++++++++++++++-- .../com/app/imagepickerlibrary/util/Util.kt | 5 ++++ .../viewmodel/ImagePickerViewModel.kt | 13 ++++++--- 6 files changed, 45 insertions(+), 19 deletions(-) delete mode 100644 app/src/main/res/xml/file_path.xml diff --git a/app/src/main/java/com/ssimagepicker/app/ui/DemoFragment.kt b/app/src/main/java/com/ssimagepicker/app/ui/DemoFragment.kt index 23eda90..e9fbde9 100644 --- a/app/src/main/java/com/ssimagepicker/app/ui/DemoFragment.kt +++ b/app/src/main/java/com/ssimagepicker/app/ui/DemoFragment.kt @@ -118,8 +118,7 @@ class DemoFragment : Fragment(), View.OnClickListener, private fun openImagePicker() { imagePicker .title("My Picker") - .multipleSelection(pickerOptions.allowMultipleSelection, pickerOptions.maxPickCount) - .showCountInToolBar(pickerOptions.showCountInToolBar) + .showCountInToolBar(pickerOptions.showCountInToolBar) .showFolder(pickerOptions.showFolders) .cameraIcon(pickerOptions.showCameraIconInGallery) .doneIcon(pickerOptions.isDoneIcon) diff --git a/app/src/main/res/xml/file_path.xml b/app/src/main/res/xml/file_path.xml deleted file mode 100644 index c3d31c8..0000000 --- a/app/src/main/res/xml/file_path.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/Extensions.kt b/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/Extensions.kt index 22b830c..2538daf 100644 --- a/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/Extensions.kt +++ b/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/Extensions.kt @@ -266,6 +266,10 @@ internal suspend fun Context.getImagesList( } } + + + + /** * Extension function to convert Megabyte to Byte */ diff --git a/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/ui/activity/ImagePickerActivity.kt b/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/ui/activity/ImagePickerActivity.kt index 208c994..d684a87 100644 --- a/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/ui/activity/ImagePickerActivity.kt +++ b/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/ui/activity/ImagePickerActivity.kt @@ -6,9 +6,12 @@ import android.content.Intent import android.content.pm.PackageManager import android.net.Uri import android.os.Bundle +import android.util.Log import android.view.View import androidx.activity.OnBackPressedCallback +import androidx.activity.result.PickVisualMediaRequest import androidx.activity.result.contract.ActivityResultContracts +import androidx.activity.result.contract.ActivityResultContracts.PickVisualMedia import androidx.activity.viewModels import androidx.appcompat.app.AppCompatActivity import androidx.core.content.ContextCompat @@ -38,6 +41,7 @@ import com.app.imagepickerlibrary.replaceFragment import com.app.imagepickerlibrary.ui.fragment.FolderFragment import com.app.imagepickerlibrary.ui.fragment.ImageFragment import com.app.imagepickerlibrary.util.isAtLeast13 +import com.app.imagepickerlibrary.util.isAtLeast14 import com.app.imagepickerlibrary.viewmodel.ImagePickerViewModel import com.yalantis.ucrop.UCrop import kotlinx.coroutines.launch @@ -132,9 +136,11 @@ class ImagePickerActivity : AppCompatActivity(), View.OnClickListener { R.id.image_back_button -> { onBackPressedDispatcher.onBackPressed() } + R.id.image_camera_button -> { showCamera() } + R.id.image_done_button, R.id.text_done -> { selectImages() } @@ -186,8 +192,13 @@ class ImagePickerActivity : AppCompatActivity(), View.OnClickListener { Manifest.permission.READ_EXTERNAL_STORAGE } if (checkForPermission(permission)) { - replaceFragment(getInitialFragment()) - viewModel.fetchImagesFromMediaStore() + if (isAtLeast14()) { + pickMedia.launch(PickVisualMediaRequest(PickVisualMedia.ImageOnly)) + } else { + replaceFragment(getInitialFragment()) + viewModel.fetchImagesFromMediaStore() + } + } else { openCameraAfterPermission = false askPermission(permission) @@ -209,6 +220,18 @@ class ImagePickerActivity : AppCompatActivity(), View.OnClickListener { ) == PackageManager.PERMISSION_GRANTED } + val pickMedia = registerForActivityResult(PickVisualMedia()) { uri -> + // Callback is invoked after the user selects a media item or closes the + // photo picker. + if (uri != null) { + checkForCropping(uri) + viewModel.fetchImagesFromMediaStore() + Log.d("PhotoPicker", "Selected URI: $uri") + } else { + Log.d("PhotoPicker", "No media selected") + } + } + private fun askPermission(vararg permission: String) { permissionResult.launch(arrayOf(*permission)) } diff --git a/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/util/Util.kt b/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/util/Util.kt index 5a7c43a..7aa867f 100644 --- a/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/util/Util.kt +++ b/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/util/Util.kt @@ -28,6 +28,11 @@ internal fun isAtLeast13(): Boolean { return Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU } +@ChecksSdkIntAtLeast(api = Build.VERSION_CODES.UPSIDE_DOWN_CAKE) +internal fun isAtLeast14(): Boolean { + return Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE +} + /** * Utility function to check if system picker is available or not on Android 11+. * The function is provided by google to check whether the photo picker is available or not diff --git a/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/viewmodel/ImagePickerViewModel.kt b/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/viewmodel/ImagePickerViewModel.kt index 840c363..da14079 100644 --- a/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/viewmodel/ImagePickerViewModel.kt +++ b/imagepickerlibrary/src/main/java/com/app/imagepickerlibrary/viewmodel/ImagePickerViewModel.kt @@ -1,6 +1,7 @@ package com.app.imagepickerlibrary.viewmodel import android.app.Application +import android.net.Uri import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.viewModelScope import com.app.imagepickerlibrary.getFileUri @@ -11,6 +12,7 @@ import com.app.imagepickerlibrary.model.Image import com.app.imagepickerlibrary.model.PickerConfig import com.app.imagepickerlibrary.model.Result import com.app.imagepickerlibrary.util.compress +import com.app.imagepickerlibrary.util.isAtLeast14 import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.MutableSharedFlow import kotlinx.coroutines.flow.MutableStateFlow @@ -57,10 +59,15 @@ internal class ImagePickerViewModel(application: Application) : AndroidViewModel } private suspend fun fetchImageList(): List { - val config = pickerConfig.value - val (selection, selectionArgs) = config.generateSelectionArguments() val context = (getApplication() as Application).applicationContext - return context.getImagesList(selection, selectionArgs) + if (isAtLeast14()) { + return context.getImagesList(null, null) + } else { + val config = pickerConfig.value + val (selection, selectionArgs) = config.generateSelectionArguments() + return context.getImagesList(selection, selectionArgs) + } + } fun getFoldersFromImages(images: List) { From 71753c4bb6293181dc0367732deb8ffdc907c1da Mon Sep 17 00:00:00 2001 From: Bansi Mamtora Date: Tue, 24 Dec 2024 13:57:57 +0530 Subject: [PATCH 7/7] - fix android 15 edgeToEdge issue --- .idea/deploymentTargetSelector.xml | 10 +++++++++ .idea/migrations.xml | 10 +++++++++ .idea/runConfigurations.xml | 17 ++++++++++++++ .../ssimagepicker/app/ui/LaunchActivity.kt | 1 + .../com/ssimagepicker/app/ui/MainActivity.kt | 5 +++-- app/src/main/res/layout/activity_launch.xml | 2 +- app/src/main/res/layout/activity_main.xml | 2 +- app/src/main/res/values-v35/themes.xml | 22 +++++++++++++++++++ gradle/libs.versions.toml | 4 ++-- .../src/main/AndroidManifest.xml | 2 +- .../src/main/res/values-v35/themes.xml | 5 +++++ .../src/main/res/values/themes.xml | 4 ++++ 12 files changed, 77 insertions(+), 7 deletions(-) create mode 100644 .idea/deploymentTargetSelector.xml create mode 100644 .idea/migrations.xml create mode 100644 .idea/runConfigurations.xml create mode 100644 app/src/main/res/values-v35/themes.xml create mode 100644 imagepickerlibrary/src/main/res/values-v35/themes.xml diff --git a/.idea/deploymentTargetSelector.xml b/.idea/deploymentTargetSelector.xml new file mode 100644 index 0000000..b268ef3 --- /dev/null +++ b/.idea/deploymentTargetSelector.xml @@ -0,0 +1,10 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/migrations.xml b/.idea/migrations.xml new file mode 100644 index 0000000..f8051a6 --- /dev/null +++ b/.idea/migrations.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml new file mode 100644 index 0000000..16660f1 --- /dev/null +++ b/.idea/runConfigurations.xml @@ -0,0 +1,17 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/ssimagepicker/app/ui/LaunchActivity.kt b/app/src/main/java/com/ssimagepicker/app/ui/LaunchActivity.kt index 566c58e..8cb6d46 100644 --- a/app/src/main/java/com/ssimagepicker/app/ui/LaunchActivity.kt +++ b/app/src/main/java/com/ssimagepicker/app/ui/LaunchActivity.kt @@ -3,6 +3,7 @@ package com.ssimagepicker.app.ui import android.content.Intent import android.os.Bundle import android.view.View +import androidx.activity.enableEdgeToEdge import androidx.appcompat.app.AppCompatActivity import androidx.databinding.DataBindingUtil import com.ssimagepicker.app.R diff --git a/app/src/main/java/com/ssimagepicker/app/ui/MainActivity.kt b/app/src/main/java/com/ssimagepicker/app/ui/MainActivity.kt index a2a1e4b..c16a4ba 100644 --- a/app/src/main/java/com/ssimagepicker/app/ui/MainActivity.kt +++ b/app/src/main/java/com/ssimagepicker/app/ui/MainActivity.kt @@ -58,6 +58,7 @@ class MainActivity : AppCompatActivity(), View.OnClickListener, openPickerOptions() } R.id.open_picker_button -> { + pickerOptions = pickerOptions.copy(compressImage = true) openImagePicker() } R.id.open_sheet_button -> { @@ -117,8 +118,8 @@ class MainActivity : AppCompatActivity(), View.OnClickListener, .showFolder(pickerOptions.showFolders) .cameraIcon(pickerOptions.showCameraIconInGallery) .doneIcon(pickerOptions.isDoneIcon) - .allowCropping(pickerOptions.openCropOptions) - .compressImage(pickerOptions.compressImage) + .compressImage(true) + .allowCropping(false) .maxImageSize(pickerOptions.maxPickSizeMB) .extension(pickerOptions.pickExtension) if (isAtLeast11()) { diff --git a/app/src/main/res/layout/activity_launch.xml b/app/src/main/res/layout/activity_launch.xml index d26428d..5a890a8 100644 --- a/app/src/main/res/layout/activity_launch.xml +++ b/app/src/main/res/layout/activity_launch.xml @@ -19,7 +19,7 @@ + + + + + + \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 1860bf4..25f548d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,7 +1,7 @@ [versions] -compile-sdk = "34" +compile-sdk = "35" min-sdk = "21" -target-sdk = "34" +target-sdk = "35" version-code = "1" version-name = "1.8" diff --git a/imagepickerlibrary/src/main/AndroidManifest.xml b/imagepickerlibrary/src/main/AndroidManifest.xml index 0834cd2..a25ea6b 100644 --- a/imagepickerlibrary/src/main/AndroidManifest.xml +++ b/imagepickerlibrary/src/main/AndroidManifest.xml @@ -20,7 +20,7 @@ + android:theme="@style/CustomUCrop" /> diff --git a/imagepickerlibrary/src/main/res/values-v35/themes.xml b/imagepickerlibrary/src/main/res/values-v35/themes.xml new file mode 100644 index 0000000..8cc8000 --- /dev/null +++ b/imagepickerlibrary/src/main/res/values-v35/themes.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/imagepickerlibrary/src/main/res/values/themes.xml b/imagepickerlibrary/src/main/res/values/themes.xml index 3d3fffc..6e43937 100644 --- a/imagepickerlibrary/src/main/res/values/themes.xml +++ b/imagepickerlibrary/src/main/res/values/themes.xml @@ -104,4 +104,8 @@ center @dimen/_14sdp + + \ No newline at end of file