@@ -8,6 +8,7 @@ import android.os.Build
88import android.os.Bundle
99import android.os.Environment
1010import android.provider.Settings
11+ import android.util.Log
1112import android.view.View
1213import android.webkit.MimeTypeMap
1314import androidx.activity.result.contract.ActivityResultContracts
@@ -46,6 +47,7 @@ class MainActivity : AppCompatActivity(), View.OnClickListener {
4647 it.btnImageCapture.setOnClickListener(this )
4748 it.btnVideoCapture.setOnClickListener(this )
4849 it.btnDocumentSystemIntent.setOnClickListener(this )
50+ it.btnPhotoPicker.setOnClickListener(this )
4951 it.rvSelectedMedia.adapter = selectedMediaAdapter
5052 it.rvSelectedMedia.addItemDecoration(GridSpacingItemDecoration (2 , 10 ))
5153 }
@@ -70,13 +72,15 @@ class MainActivity : AppCompatActivity(), View.OnClickListener {
7072 setSortByDateLbl = " Trier par date"
7173 )
7274 }
75+ binding.btnPhotoPicker.visibility = View .VISIBLE
7376 }
7477
7578 override fun onClick (v : View ? ) {
7679 when (v?.id) {
7780 R .id.btnImagePicker -> {
7881 val intent = lassi.with (LassiOption .CAMERA_AND_GALLERY ).setMaxCount(1 )
7982 .setAscSort(SortingOption .ASCENDING ).setGridSize(2 )
83+ .setMediaType(MediaType .IMAGE )
8084 .setPlaceHolder(R .drawable.ic_image_placeholder)
8185 .setErrorDrawable(R .drawable.ic_image_placeholder)
8286 .setSelectionDrawable(R .drawable.ic_checked_media)
@@ -88,7 +92,7 @@ class MainActivity : AppCompatActivity(), View.OnClickListener {
8892 .setProgressBarColor(R .color.colorAccent)
8993 .setGalleryBackgroundColor(R .color.colorGrey)
9094 .setCropType(CropImageView .CropShape .OVAL ).setCropAspectRatio(1 , 1 )
91- .setCompressionRatio(10 ).setMinFileSize(0 ).setMaxFileSize(10000 )
95+ .setCompressionRatio(10 ).setMinFileSize(0 ).setMaxFileSize(Int . MAX_VALUE .toLong() )
9296 .enableActualCircleCrop()
9397 .setSupportedFileTypes(" jpg" , " jpeg" , " png" , " webp" , " gif" ).enableFlip()
9498 .enableRotate().build()
@@ -98,7 +102,10 @@ class MainActivity : AppCompatActivity(), View.OnClickListener {
98102 R .id.btnVideoPicker -> {
99103 val intent =
100104 lassi.with (LassiOption .CAMERA_AND_GALLERY ).setMaxCount(4 ).setGridSize(3 )
101- .setMinTime(5 ).setMaxTime(30 ).setMinFileSize(0 ).setMaxFileSize(20000 )
105+ .setMinTime(5 )
106+ .setMaxTime(Int .MAX_VALUE .toLong()) // Set time larger to let file be visible
107+ .setMinFileSize(0 )
108+ .setMaxFileSize(Integer .MAX_VALUE .toLong()) // For setting file size
102109 .setMediaType(MediaType .VIDEO ).setStatusBarColor(R .color.colorPrimaryDark)
103110 .setToolbarColor(R .color.colorPrimary)
104111 .setToolbarResourceColor(android.R .color.white)
@@ -114,7 +121,7 @@ class MainActivity : AppCompatActivity(), View.OnClickListener {
114121 }
115122
116123 R .id.btnAudioPicker -> {
117- val intent = lassi.setMediaType(MediaType .AUDIO ).setMaxCount(4 ).setGridSize(2 )
124+ val intent = lassi.with ( LassiOption . CAMERA_AND_GALLERY ). setMediaType(MediaType .AUDIO ).setMaxCount(4 ).setGridSize(2 )
118125 .setPlaceHolder(R .drawable.ic_audio_placeholder)
119126 .setErrorDrawable(R .drawable.ic_audio_placeholder)
120127 .setSelectionDrawable(R .drawable.ic_checked_media)
@@ -156,7 +163,12 @@ class MainActivity : AppCompatActivity(), View.OnClickListener {
156163 " xlsx" ,
157164 " xls"
158165 ).setMaxCount(3 )
159- .setCustomLimitExceedingErrorMessage(MultiLangConfig .getConfig().errorExceedMsg)
166+ .setStatusBarColor(R .color.colorPrimaryDark)
167+ .setToolbarColor(R .color.colorPrimary)
168+ .setToolbarResourceColor(android.R .color.white)
169+ .setProgressBarColor(R .color.colorAccent)
170+ .setGalleryBackgroundColor(R .color.colorGrey)
171+ .setCustomLimitExceedingErrorMessage(" Selected item exceeded the limit!!!" )
160172 .build()
161173 receiveData.launch(intent)
162174 }
@@ -175,7 +187,7 @@ class MainActivity : AppCompatActivity(), View.OnClickListener {
175187 .setAlertDialogPositiveButtonColor(R .color.emerald_green)
176188 .setMediaType(MediaType .IMAGE ).setCropType(CropImageView .CropShape .OVAL )
177189 .setCropAspectRatio(1 , 1 ).setCompressionRatio(0 ).setMinFileSize(0 )
178- .setMaxFileSize(1000000 ).enableActualCircleCrop()
190+ .setMaxFileSize(Int . MAX_VALUE .toLong() ).enableActualCircleCrop()
179191 .setSupportedFileTypes(" jpg" , " jpeg" , " png" , " webp" , " gif" ).enableFlip()
180192 .enableRotate().build()
181193 receiveData.launch(intent)
@@ -195,17 +207,52 @@ class MainActivity : AppCompatActivity(), View.OnClickListener {
195207 .setProgressBarColor(R .color.colorAccent)
196208 .setGalleryBackgroundColor(R .color.colorGrey)
197209 .setCropType(CropImageView .CropShape .OVAL ).setCropAspectRatio(1 , 1 )
198- .setCompressionRatio(0 ).setMinFileSize(0 ).setMaxFileSize(10000 )
210+ .setCompressionRatio(0 ).setMinFileSize(0 ).setMaxFileSize(Int . MAX_VALUE .toLong() )
199211 .enableActualCircleCrop()
200212 .setSupportedFileTypes(" jpg" , " jpeg" , " png" , " webp" , " gif" ).enableFlip()
201213 .enableRotate().build()
202214 receiveData.launch(intent)
203215 }
216+
217+ R .id.btnPhotoPicker -> {
218+ val intent = lassi.with (LassiOption .CAMERA_AND_GALLERY ).setMaxCount(4 )
219+ .setAscSort(SortingOption .ASCENDING ).setGridSize(2 )
220+ .setMediaType(MediaType .PHOTO_PICKER )
221+ .setPlaceHolder(R .drawable.ic_image_placeholder)
222+ .setErrorDrawable(R .drawable.ic_image_placeholder)
223+ .setSelectionDrawable(R .drawable.ic_checked_media)
224+ .setStatusBarColor(R .color.colorPrimaryDark)
225+ .setToolbarColor(R .color.colorPrimary)
226+ .setToolbarResourceColor(android.R .color.white)
227+ .setAlertDialogNegativeButtonColor(R .color.cherry_red)
228+ .setAlertDialogPositiveButtonColor(R .color.emerald_green)
229+ .setProgressBarColor(R .color.colorAccent)
230+ .setGalleryBackgroundColor(R .color.colorGrey)
231+ .setCropType(CropImageView .CropShape .OVAL ).setCropAspectRatio(1 , 1 )
232+ .setCompressionRatio(10 ).setMinFileSize(0 ).setMaxFileSize(Int .MAX_VALUE .toLong())
233+ .enableActualCircleCrop()
234+ .setCustomLimitExceedingErrorMessage(" Selected item exceeded the limit!" )
235+ .setSupportedFileTypes(
236+ " jpg" ,
237+ " jpeg" ,
238+ " png" ,
239+ " webp" ,
240+ " gif" ,
241+ " mp4" ,
242+ " mkv" ,
243+ " webm" ,
244+ " avi" ,
245+ " flv" ,
246+ " 3gp"
247+ ).enableFlip()
248+ .enableRotate().build()
249+ receiveData.launch(intent)
250+ }
204251 }
205252 }
206253
207254 private fun launchDocPicker () {
208- val intent = lassi.setMediaType(MediaType .DOC ).setMaxCount(4 ).setGridSize(2 )
255+ val intent = lassi.with ( LassiOption . CAMERA_AND_GALLERY ). setMediaType(MediaType .DOC ).setMaxCount(4 ).setGridSize(2 )
209256 .setPlaceHolder(R .drawable.ic_document_placeholder)
210257 .setErrorDrawable(R .drawable.ic_document_placeholder)
211258 .setSelectionDrawable(R .drawable.ic_checked_media)
@@ -224,7 +271,6 @@ class MainActivity : AppCompatActivity(), View.OnClickListener {
224271 if (it.resultCode == Activity .RESULT_OK ) {
225272 val selectedMedia =
226273 it.data?.getSerializableExtra(KeyUtils .SELECTED_MEDIA ) as ArrayList <MiMedia >
227-
228274 if (selectedMedia.isNotEmpty()) {
229275 binding.ivEmpty.isVisible = selectedMedia.isEmpty()
230276 selectedMediaAdapter.setList(selectedMedia)
0 commit comments