package Ġcom . v itan ov . multi image picker . Fish B un Mod . java . com . s ang com z . fish bun . ui . detail . mvp Ċ Ċ import Ġandroid . net . Uri Ċ import Ġandroidx . annotation . Visible ForTesting Ċ import Ġcom . v itan ov . multi image picker . Fish B un Mod . java . com . s ang com z . fish bun . ui . detail . Detail Image Contract Ċ import Ġcom . v itan ov . multi image picker . Fish B un Mod . java . com . s ang com z . fish bun . ui . detail . model . Detail Image Repository Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġs ang com z Ġon Ġ 1 1 / 0 6 / 2 0 1 7 . Ċ Ġ*/ Ċ class ĠDetail Image Presenter ( ĊĠĠĠ Ġprivate Ġval Ġdetail View : ĠDetail Image Contract . View , ĊĠĠĠ Ġprivate Ġval Ġdetail Image Repository : ĠDetail Image Repository Ċ ) Ġ: ĠDetail Image Contract . Presenter Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġchange Button Status ( position : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdetail Image Repository . get Picker Image ( position )?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchange Button Status Internal ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhandle On Create ( init Position : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġget Design ViewData () ĊĠĠĠĠĠĠĠ Ġinit ViewPager Adapter () ĊĠĠĠĠĠĠĠ Ġinit Pager Position ( init Position ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Count Click ( position : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġimage Uri Ġ= Ġdetail Image Repository . get Picker Image ( position ) Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġval Ġis Selected Ġ= Ġdetail Image Repository . isSelected ( image Uri ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( isSelected ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdetail Image Repository . un select Image ( image Uri ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( detail Image Repository . is Full Selected ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdetail View . show Snackbar ( detail Image Repository . getMessage Limit Reached ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdetail Image Repository . select Image ( image Uri ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( detail Image Repository . check For Finish ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdetail View . finish Activity () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġchange Button Status Internal ( image Uri ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Design ViewData () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdetail ImageView Data Ġ= Ġdetail Image Repository . get Detail Picker ViewData () ĊĠĠĠĠĠĠĠ Ġwith ( detail View ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset ToolBar ( detail ImageView Data ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Count Button ( detail ImageView Data ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Back Button () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Pager Position ( position : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpicker Images Ġ= Ġdetail Image Repository . get Picker Images () ĊĊĠĠĠĠĠĠĠ Ġif Ġ( picker Images . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchange Button Status ( position ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdetail View . show Images ( position , Ġpicker Images ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdetail View . finish And Show Error Toast () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit ViewPager Adapter () Ġ{ ĊĠĠĠĠĠĠĠ Ġdetail View . init ViewPager Adapter ( detail Image Repository . getImage Adapter ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġchange Button Status Internal ( image Uri : ĠUri ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( val Ġimage Index Ġ= Ġdetail Image Repository . getImage Index ( image Uri )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ- 1 Ġ-> Ġdetail View . un select Image () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( detail Image Repository . getMax Count () Ġ== Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdetail View . update RadioButton With Drawable () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdetail View . update RadioButton With Text ("${ image Index Ġ+ Ġ 1 }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }