11package com.lassi.app
22
3+ import android.app.Activity
4+ import android.content.Intent
35import android.os.Bundle
46import android.view.View
57import androidx.appcompat.app.AppCompatActivity
68import com.lassi.app.adapter.SelectedMediaAdapter
9+ import com.lassi.common.utils.KeyUtils
710import com.lassi.data.media.MiMedia
811import com.lassi.domain.media.LassiOption
912import com.lassi.domain.media.MediaType
@@ -12,8 +15,9 @@ import com.lassi.presentation.common.decoration.GridSpacingItemDecoration
1215import com.lassi.presentation.cropper.CropImageView
1316import kotlinx.android.synthetic.main.activity_main.*
1417
15- class MainActivity : AppCompatActivity (), View.OnClickListener, Lassi.SelectedMediaCallback {
18+ class MainActivity : AppCompatActivity (), View.OnClickListener {
1619
20+ private val MEDIA_REQUEST_CODE = 100
1721 private val selectedMediaAdapter by lazy { SelectedMediaAdapter () }
1822
1923 override fun onCreate (savedInstanceState : Bundle ? ) {
@@ -30,24 +34,25 @@ class MainActivity : AppCompatActivity(), View.OnClickListener, Lassi.SelectedMe
3034 R .id.btnImagePicker -> {
3135 val intent = Lassi (this )
3236 .with (LassiOption .CAMERA_AND_GALLERY )
33- .setMaxCount(5 )
37+ .setMaxCount(1 )
3438 .setGridSize(2 )
3539 .setPlaceHolder(R .drawable.ic_image_placeholder)
3640 .setErrorDrawable(R .drawable.ic_image_placeholder)
3741 .setStatusBarColor(R .color.colorPrimaryDark)
3842 .setToolbarColor(R .color.colorPrimary)
3943 .setToolbarResourceColor(android.R .color.white)
4044 .setProgressBarColor(R .color.colorAccent)
41- .setCropType(CropImageView .CropShape .RECTANGLE )
45+ .setCropType(CropImageView .CropShape .OVAL )
4246 .setCropAspectRatio(1 , 1 )
4347 .setSupportedFileTypes(" jpg" , " jpeg" , " png" , " webp" , " gif" )
4448 .build()
45- startActivity(intent)
49+ startActivityForResult(intent, MEDIA_REQUEST_CODE )
50+
4651 }
4752 R .id.btnVideoPicker -> {
4853 val intent = Lassi (this )
4954 .with (LassiOption .CAMERA_AND_GALLERY )
50- .setMaxCount(5 )
55+ .setMaxCount(1 )
5156 .setGridSize(3 )
5257 .setMinTime(15 )
5358 .setMaxTime(30 )
@@ -61,12 +66,17 @@ class MainActivity : AppCompatActivity(), View.OnClickListener, Lassi.SelectedMe
6166 .setErrorDrawable(R .drawable.ic_image_placeholder)
6267 .setSupportedFileTypes(" mp4" , " mkv" , " webm" , " avi" , " flv" , " 3gp" )
6368 .build()
64- startActivity (intent)
69+ startActivityForResult (intent, MEDIA_REQUEST_CODE )
6570 }
6671 }
6772 }
6873
69- override fun onMediaSelected (selectedMedia : ArrayList <MiMedia >? ) {
70- selectedMediaAdapter.setList(selectedMedia)
74+ override fun onActivityResult (requestCode : Int , resultCode : Int , data : Intent ? ) {
75+ super .onActivityResult(requestCode, resultCode, data)
76+ if (requestCode == MEDIA_REQUEST_CODE && resultCode == Activity .RESULT_OK ) {
77+ val selectedMedia =
78+ data?.getSerializableExtra(KeyUtils .SELECTED_MEDIA ) as ArrayList <MiMedia >
79+ selectedMediaAdapter.setList(selectedMedia)
80+ }
7181 }
7282}
0 commit comments