package Ġcom . l ion parcel . common android . modal Ċ Ċ import Ġandroid . view . Gravity Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget .* Ċ import Ġandroidx . core . os . bundle Of Ċ import Ġandroidx . core . view . isVisible Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . l ion parcel . common android . R Ċ import Ġcom . l ion parcel . common android . modal . base . Base Sheet Dialog Fragment ĊĊ Ċ class ĠLP Modal Dialog Fragment ( private Ġval Ġtype Modal : ĠType Modal ) Ġ: ĠBase Sheet Dialog Fragment () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠgetContent Resource () Ġ= ĠR . layout . lp _ custom _ modal _ dialog _ fragment ĊĊĠĠĠ Ġprivate Ġvar Ġprimary Listener : ĠView . OnClickListener ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġsecond Listener : ĠView . OnClickListener ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġreset Listener : ĠView . OnClickListener ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġback Listener : ĠView . OnClickListener ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġcustom List : ĠViewGroup ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġlist Item : ĠList < String > Ġ= ĠlistOf () ĊĠĠĠ Ġprivate Ġvar Ġselected Item : ĠInt Ġ= Ġ 0 ĊĊĠĠĠ Ġprivate Ġval Ġadapter Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠExample Modal ListAdapter () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠBAS IC _ TITLE _ GENERAL Ġ= Ġ" BASIC _ TITLE _ GENERAL " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠBAS IC _ SUB _ TITLE _ GENERAL Ġ= Ġ" BASIC _ SUB _ TITLE _ GENERAL " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠI LLU STR ATION _ IMAGE Ġ= Ġ" IL LU STR ATION _ IMAGE " ĊĊĠĠĠĠĠĠĠ Ġfun Ġlp Modal Basic Text Only ( title : ĠString , Ġcontent : ĠString ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLP Modal Dialog Fragment ( Type Modal . BASIC _ TEXT _ ONLY ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarguments Ġ= Ġbundle Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBAS IC _ TITLE _ GENERAL Ġto Ġtitle , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBAS IC _ SUB _ TITLE _ GENERAL Ġto Ġcontent ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġlp Modal Basic 1 Button ( title : ĠString , Ġcontent : ĠString , Ġbtn Primary Listener : ĠView . OnClickListener ? Ġ= Ġnull ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLP Modal Dialog Fragment ( Type Modal . BASIC _ 1 _ BUTTON ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprimary Listener Ġ= Ġbtn Primary Listener ?: ĠView . OnClickListener { Ġdialog ?. dismiss () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarguments Ġ= Ġbundle Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBAS IC _ TITLE _ GENERAL Ġto Ġtitle , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBAS IC _ SUB _ TITLE _ GENERAL Ġto Ġcontent ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġlp Modal Basic 2 Button ( title : ĠString , Ġcontent : ĠString , Ġbtn Primary Listener : ĠView . OnClickListener ? Ġ= Ġnull , Ġbtn Second Listener : ĠView . OnClickListener ? Ġ= Ġnull ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLP Modal Dialog Fragment ( Type Modal . BASIC _ 2 _ BUTTON ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprimary Listener Ġ= Ġbtn Primary Listener ?: ĠView . OnClickListener { Ġdialog ?. dismiss () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsecond Listener Ġ= Ġbtn Second Listener ?: ĠView . OnClickListener { Ġdialog ?. dismiss () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarguments Ġ= Ġbundle Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBAS IC _ TITLE _ GENERAL Ġto Ġtitle , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBAS IC _ SUB _ TITLE _ GENERAL Ġto Ġcontent ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġlp Modal Basic 2 Button Alt ( title : ĠString , Ġcontent : ĠString , Ġbtn Primary Listener : ĠView . OnClickListener ? Ġ= Ġnull , Ġbtn Second Listener : ĠView . OnClickListener ? Ġ= Ġnull ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLP Modal Dialog Fragment ( Type Modal . BASIC _ 2 _ BUTTON _ ALT ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprimary Listener Ġ= Ġbtn Primary Listener ?: ĠView . OnClickListener { Ġdialog ?. dismiss () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsecond Listener Ġ= Ġbtn Second Listener ?: ĠView . OnClickListener { Ġdialog ?. dismiss () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarguments Ġ= Ġbundle Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBAS IC _ TITLE _ GENERAL Ġto Ġtitle , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBAS IC _ SUB _ TITLE _ GENERAL Ġto Ġcontent ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġlp Modal Basic Back Icon ( title : ĠString , Ġcontent : ĠString , Ġbtn Primary Listener : ĠView . OnClickListener ? Ġ= Ġnull , Ġback Listener : ĠView . OnClickListener ? Ġ= Ġnull ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLP Modal Dialog Fragment ( Type Modal . BASIC _ BACK _ ICON ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . back Listener Ġ= Ġback Listener ?: ĠView . OnClickListener { Ġdialog ?. dismiss () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprimary Listener Ġ= Ġbtn Primary Listener ?: ĠView . OnClickListener Ġ{ Ġdialog ?. dismiss () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarguments Ġ= Ġbundle Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBAS IC _ TITLE _ GENERAL Ġto Ġtitle , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBAS IC _ SUB _ TITLE _ GENERAL Ġto Ġcontent ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġlp Modal Basic Filter ( title : ĠString , Ġcontent : ĠString , Ġbtn Primary Listener : ĠView . OnClickListener ? Ġ= Ġnull , Ġreset Listener : ĠView . OnClickListener ? Ġ= Ġnull , Ġlist Item : ĠList < String >, Ġselected Item : ĠInt ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLP Modal Dialog Fragment ( Type Modal . BASIC _ FILTER _ MOD AL ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . reset Listener Ġ= Ġreset Listener ?: ĠView . OnClickListener { Ġdialog ?. dismiss () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprimary Listener Ġ= Ġbtn Primary Listener ?: ĠView . OnClickListener Ġ{ Ġdialog ?. dismiss () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . list Item Ġ= Ġlist Item ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . selected Item Ġ= Ġselected Item ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarguments Ġ= Ġbundle Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBAS IC _ TITLE _ GENERAL Ġto Ġtitle , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBAS IC _ SUB _ TITLE _ GENERAL Ġto Ġcontent , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġlp Modal Ill ustration 1 Button ( title : ĠString , Ġcontent : ĠString , Ġbtn Primary Listener : ĠView . OnClickListener ? Ġ= Ġnull , Ġimage : ĠInt ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLP Modal Dialog Fragment ( Type Modal . IL LU STR ATION _ 1 _ BUTTON ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprimary Listener Ġ= Ġbtn Primary Listener ?: ĠView . OnClickListener { Ġdialog ?. dismiss () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarguments Ġ= Ġbundle Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBAS IC _ TITLE _ GENERAL Ġto Ġtitle , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBAS IC _ SUB _ TITLE _ GENERAL Ġto Ġcontent , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠI LLU STR ATION _ IMAGE Ġto Ġimage ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġlp Modal Ill ustration 2 Button ( title : ĠString , Ġcontent : ĠString , Ġbtn Primary Listener : ĠView . OnClickListener ? Ġ= Ġnull , Ġbtn Second Listener : ĠView . OnClickListener ? Ġ= Ġnull , Ġimage : ĠInt ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLP Modal Dialog Fragment ( Type Modal . IL LU STR ATION _ 2 _ BUTTON ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprimary Listener Ġ= Ġbtn Primary Listener ?: ĠView . OnClickListener { Ġdialog ?. dismiss () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsecond Listener Ġ= Ġbtn Second Listener ?: ĠView . OnClickListener { Ġdialog ?. dismiss () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarguments Ġ= Ġbundle Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBAS IC _ TITLE _ GENERAL Ġto Ġtitle , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBAS IC _ SUB _ TITLE _ GENERAL Ġto Ġcontent , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠI LLU STR ATION _ IMAGE Ġto Ġimage ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġlp Modal Ill ustration 2 Button Alt ( title : ĠString , Ġcontent : ĠString , Ġbtn Primary Listener : ĠView . OnClickListener ? Ġ= Ġnull , Ġbtn Second Listener : ĠView . OnClickListener ? Ġ= Ġnull , Ġimage : ĠInt ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLP Modal Dialog Fragment ( Type Modal . IL LU STR ATION _ 2 _ BUTTON _ ALT ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprimary Listener Ġ= Ġbtn Primary Listener ?: ĠView . OnClickListener { Ġdialog ?. dismiss () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsecond Listener Ġ= Ġbtn Second Listener ?: ĠView . OnClickListener { Ġdialog ?. dismiss () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarguments Ġ= Ġbundle Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBAS IC _ TITLE _ GENERAL Ġto Ġtitle , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBAS IC _ SUB _ TITLE _ GENERAL Ġto Ġcontent , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠI LLU STR ATION _ IMAGE Ġto Ġimage ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit Views () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . init Views () ĊĠĠĠĠĠĠĠ Ġget Layout Behaviour (). peek Height Ġ= Ġset Max Default Height ( require Context ()) ĊĠĠĠĠĠĠĠ Ġwhen Ġ( this . type Modal ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠType Modal . BASIC _ TEXT _ ONLY Ġ-> Ġprepare View Basic Text Only () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠType Modal . BASIC _ 1 _ BUTTON Ġ-> Ġprepare View Basic 1 Button () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠType Modal . BASIC _ 2 _ BUTTON Ġ-> Ġprepare View Basic 2 Button () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠType Modal . BASIC _ 2 _ BUTTON _ ALT Ġ-> Ġprepare View Basic 2 Button Alt () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠType Modal . BASIC _ BACK _ ICON Ġ-> Ġprepare View Basic Back Icon () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠType Modal . BASIC _ FILTER _ MOD AL Ġ-> Ġprepare View Basic Filter () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠType Modal . IL LU STR ATION _ 1 _ BUTTON Ġ-> Ġprepare View Ill ustration 1 Button () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠType Modal . IL LU STR ATION _ 2 _ BUTTON Ġ-> Ġprepare View Ill ustration 2 Button () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠType Modal . IL LU STR ATION _ 2 _ BUTTON _ ALT Ġ-> Ġprepare View Ill ustration 2 Button Alt () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġprepare View Basic Text Only () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtitle Ġ= Ġview ?. findViewById < TextView >( R . id . tv Basic Title General ) ĊĠĠĠĠĠĠĠ Ġval Ġcontent Ġ= Ġview ?. findViewById < TextView >( R . id . tv Subtitle General ) ĊĠĠĠĠĠĠĠ Ġval Ġclose Ġ= Ġview ?. findViewById < ImageView >( R . id . iv Close Modal ) ĊĠĠĠĠĠĠĠ Ġtitle ?. isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġcontent ?. isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġclose ?. isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġcontent ?. gravity Ġ= ĠGr avity . START ĊĠĠĠĠĠĠĠ Ġclose ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġarguments ?. getString ( BASIC _ TITLE _ GENERAL )?. let Ġ{ Ġdata Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle ?. text Ġ= Ġdata ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġarguments ?. getString ( BASIC _ SUB _ TITLE _ GENERAL )?. let Ġ{ Ġdata Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent ?. text Ġ= Ġdata ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġprepare View Basic 1 Button () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtitle Ġ= Ġview ?. findViewById < TextView >( R . id . tv Basic Title General ) ĊĠĠĠĠĠĠĠ Ġval Ġcontent Ġ= Ġview ?. findViewById < TextView >( R . id . tv Subtitle General ) ĊĠĠĠĠĠĠĠ Ġval Ġclose Ġ= Ġview ?. findViewById < ImageView >( R . id . iv Close Modal ) ĊĠĠĠĠĠĠĠ Ġval Ġprimary Button Ġ= Ġview ?. findViewById < Button >( R . id . btn Single Primary ) ĊĠĠĠĠĠĠĠ Ġtitle ?. isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġcontent ?. isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġclose ?. isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġprimary Button ?. isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġcontent ?. gravity Ġ= ĠGr avity . START ĊĠĠĠĠĠĠĠ Ġprimary Button ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprimary Listener ?. onClick ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġclose ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġarguments ?. getString ( BASIC _ TITLE _ GENERAL )?. let Ġ{ Ġdata Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle ?. text Ġ= Ġdata ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġarguments ?. getString ( BASIC _ SUB _ TITLE _ GENERAL )?. let Ġ{ Ġdata Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent ?. text Ġ= Ġdata ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġprepare View Basic 2 Button () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtitle Ġ= Ġview ?. findViewById < TextView >( R . id . tv Basic Title General ) ĊĠĠĠĠĠĠĠ Ġval Ġcontent Ġ= Ġview ?. findViewById < TextView >( R . id . tv Subtitle General ) ĊĠĠĠĠĠĠĠ Ġval Ġclose Ġ= Ġview ?. findViewById < ImageView >( R . id . iv Close Modal ) ĊĠĠĠĠĠĠĠ Ġval Ġlayout 2 Button Horizontal Ġ= Ġview ?. findViewById < LinearLayout >( R . id . ll 2 Button Horizontal ) ĊĠĠĠĠĠĠĠ Ġval Ġprimary Button Ġ= Ġview ?. findViewById < Button >( R . id . btn Primary Horizontal ) ĊĠĠĠĠĠĠĠ Ġval Ġsecond Button Ġ= Ġview ?. findViewById < Button >( R . id . btn Sec Horizontal ) ĊĠĠĠĠĠĠĠ Ġtitle ?. isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġcontent ?. isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġclose ?. isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġlayout 2 Button Horizontal ?. isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġcontent ?. gravity Ġ= ĠGr avity . START ĊĠĠĠĠĠĠĠ Ġprimary Button ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprimary Listener ?. onClick ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsecond Button ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprimary Listener ?. onClick ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġclose ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġarguments ?. getString ( BASIC _ TITLE _ GENERAL )?. let Ġ{ Ġdata Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle ?. text Ġ= Ġdata ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġarguments ?. getString ( BASIC _ SUB _ TITLE _ GENERAL )?. let Ġ{ Ġdata Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent ?. text Ġ= Ġdata ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġprepare View Basic 2 Button Alt () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtitle Ġ= Ġview ?. findViewById < TextView >( R . id . tv Basic Title General ) ĊĠĠĠĠĠĠĠ Ġval Ġcontent Ġ= Ġview ?. findViewById < TextView >( R . id . tv Subtitle General ) ĊĠĠĠĠĠĠĠ Ġval Ġclose Ġ= Ġview ?. findViewById < ImageView >( R . id . iv Close Modal ) ĊĠĠĠĠĠĠĠ Ġval Ġlayout 2 Button Vertical Ġ= Ġview ?. findViewById < LinearLayout >( R . id . ll 2 Button Vertical ) ĊĠĠĠĠĠĠĠ Ġval Ġprimary Button Ġ= Ġview ?. findViewById < Button >( R . id . btn Primary Vertical ) ĊĠĠĠĠĠĠĠ Ġval Ġsecond Button Ġ= Ġview ?. findViewById < Button >( R . id . btn Sec Vertical ) ĊĠĠĠĠĠĠĠ Ġtitle ?. isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġcontent ?. isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġclose ?. isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġlayout 2 Button Vertical ?. isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġcontent ?. gravity Ġ= ĠGr avity . START ĊĠĠĠĠĠĠĠ Ġprimary Button ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprimary Listener ?. onClick ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsecond Button ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprimary Listener ?. onClick ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġclose ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġarguments ?. getString ( BASIC _ TITLE _ GENERAL )?. let Ġ{ Ġdata Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle ?. text Ġ= Ġdata ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġarguments ?. getString ( BASIC _ SUB _ TITLE _ GENERAL )?. let Ġ{ Ġdata Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent ?. text Ġ= Ġdata ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġprepare View Basic Back Icon () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtitle Ġ= Ġview ?. findViewById < TextView >( R . id . tv Basic Title General ) ĊĠĠĠĠĠĠĠ Ġval Ġcontent Ġ= Ġview ?. findViewById < TextView >( R . id . tv Subtitle General ) ĊĠĠĠĠĠĠĠ Ġval Ġback Ġ= Ġview ?. findViewById < ImageView >( R . id . iv Basic Back Icon ) ĊĠĠĠĠĠĠĠ Ġval Ġprimary Button Ġ= Ġview ?. findViewById < Button >( R . id . btn Single Primary ) ĊĠĠĠĠĠĠĠ Ġtitle ?. isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġcontent ?. isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġback ?. isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġprimary Button ?. isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġcontent ?. gravity Ġ= ĠGr avity . START ĊĠĠĠĠĠĠĠ Ġprimary Button ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprimary Listener ?. onClick ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġback ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġback Listener ?. onClick ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġarguments ?. getString ( BASIC _ TITLE _ GENERAL )?. let Ġ{ Ġdata Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle ?. text Ġ= Ġdata ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġarguments ?. getString ( BASIC _ SUB _ TITLE _ GENERAL )?. let Ġ{ Ġdata Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent ?. text Ġ= Ġdata ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġprepare View Basic Filter () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtitle Ġ= Ġview ?. findViewById < TextView >( R . id . tv Basic Title General ) ĊĠĠĠĠĠĠĠ Ġval Ġreset Ġ= Ġview ?. findViewById < TextView >( R . id . tv Basic Filter Reset ) ĊĠĠĠĠĠĠĠ Ġval Ġprimary Button Ġ= Ġview ?. findViewById < Button >( R . id . btn Single Primary ) ĊĠĠĠĠĠĠĠ Ġval Ġlist Ġ= Ġview ?. findViewById < RecyclerView >( R . id . rv Basic Filter List ) ĊĠĠĠĠĠĠĠ Ġtitle ?. isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġreset ?. isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġprimary Button ?. isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġlist ?. isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġlist ?. adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠ Ġadapter . setData ( list Item , Ġselected Item ) ĊĠĠĠĠĠĠĠ Ġreset ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreset Listener ?. onClick ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġprimary Button ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprimary Listener ?. onClick ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġarguments ?. getString ( BASIC _ TITLE _ GENERAL )?. let Ġ{ Ġdata Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle ?. text Ġ= Ġdata ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġprepare View Ill ustration 1 Button () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtitle Ġ= Ġview ?. findViewById < TextView >( R . id . tv Ill ustration Title General ) ĊĠĠĠĠĠĠĠ Ġval Ġsubtitle Ġ= Ġview ?. findViewById < TextView >( R . id . tv Subtitle General ) ĊĠĠĠĠĠĠĠ Ġval Ġprimary Button Ġ= Ġview ?. findViewById < Button >( R . id . btn Single Primary ) ĊĠĠĠĠĠĠĠ Ġval Ġimage Ġ= Ġview ?. findViewById < ImageView >( R . id . iv Ill ustration General ) ĊĠĠĠĠĠĠĠ Ġtitle ?. isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġsubtitle ?. isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġimage ?. isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġsubtitle ?. gravity Ġ= ĠGr avity . CENTER ĊĠĠĠĠĠĠĠ Ġprimary Button ?. isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġprimary Button ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprimary Listener ?. onClick ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġarguments ?. getString ( BASIC _ TITLE _ GENERAL )?. let Ġ{ Ġdata Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle ?. text Ġ= Ġdata ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġarguments ?. getInt ( IL LU STR ATION _ IMAGE , Ġ- 1 ). take If Ġ{ Ġvalue Ġ-> Ġvalue Ġ!= Ġ- 1 Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ? . let Ġ{ Ġvalue Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimage ?. setImage Resource ( value ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġprepare View Ill ustration 2 Button () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtitle Ġ= Ġview ?. findViewById < TextView >( R . id . tv Ill ustration Title General ) ĊĠĠĠĠĠĠĠ Ġval Ġsubtitle Ġ= Ġview ?. findViewById < TextView >( R . id . tv Subtitle General ) ĊĠĠĠĠĠĠĠ Ġval Ġclose Ġ= Ġview ?. findViewById < ImageView >( R . id . iv Close Modal ) ĊĠĠĠĠĠĠĠ Ġval Ġlayout 2 Button Horizontal Ġ= Ġview ?. findViewById < LinearLayout >( R . id . ll 2 Button Horizontal ) ĊĠĠĠĠĠĠĠ Ġval Ġprimary Button Ġ= Ġview ?. findViewById < Button >( R . id . btn Primary Horizontal ) ĊĠĠĠĠĠĠĠ Ġval Ġsecond Button Ġ= Ġview ?. findViewById < Button >( R . id . btn Sec Horizontal ) ĊĠĠĠĠĠĠĠ Ġval Ġimage Ġ= Ġview ?. findViewById < ImageView >( R . id . iv Ill ustration General ) ĊĠĠĠĠĠĠĠ Ġsubtitle ?. gravity Ġ= ĠGr avity . CENTER ĊĠĠĠĠĠĠĠ Ġtitle ?. isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġsubtitle ?. isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġclose ?. isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġlayout 2 Button Horizontal ?. isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġimage ?. isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġprimary Button ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprimary Listener ?. onClick ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsecond Button ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprimary Listener ?. onClick ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġclose ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġarguments ?. getString ( BASIC _ TITLE _ GENERAL )?. let Ġ{ Ġdata Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle ?. text Ġ= Ġdata ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġarguments ?. getString ( BASIC _ SUB _ TITLE _ GENERAL )?. let Ġ{ Ġdata Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsubtitle ?. text Ġ= Ġdata ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġarguments ?. getInt ( IL LU STR ATION _ IMAGE , Ġ- 1 ). take If Ġ{ Ġvalue Ġ-> Ġvalue Ġ!= Ġ- 1 Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ? . let Ġ{ Ġvalue Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimage ?. setImage Resource ( value ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġprepare View Ill ustration 2 Button Alt () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtitle Ġ= Ġview ?. findViewById < TextView >( R . id . tv Ill ustration Title General ) ĊĠĠĠĠĠĠĠ Ġval Ġsubtitle Ġ= Ġview ?. findViewById < TextView >( R . id . tv Subtitle General ) ĊĠĠĠĠĠĠĠ Ġval Ġclose Ġ= Ġview ?. findViewById < ImageView >( R . id . iv Close Modal ) ĊĠĠĠĠĠĠĠ Ġval Ġlayout 2 Button Vertical Ġ= Ġview ?. findViewById < LinearLayout >( R . id . ll 2 Button Vertical ) ĊĠĠĠĠĠĠĠ Ġval Ġprimary Button Ġ= Ġview ?. findViewById < Button >( R . id . btn Primary Vertical ) ĊĠĠĠĠĠĠĠ Ġval Ġsecond Button Ġ= Ġview ?. findViewById < Button >( R . id . btn Sec Vertical ) ĊĠĠĠĠĠĠĠ Ġval Ġimage Ġ= Ġview ?. findViewById < ImageView >( R . id . iv Ill ustration General ) ĊĠĠĠĠĠĠĠ Ġtitle ?. isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġsubtitle ?. isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġclose ?. isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġlayout 2 Button Vertical ?. isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġimage ?. isVisible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġsubtitle ?. gravity Ġ= ĠGr avity . CENTER ĊĠĠĠĠĠĠĠ Ġprimary Button ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprimary Listener ?. onClick ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsecond Button ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprimary Listener ?. onClick ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġclose ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġarguments ?. getString ( BASIC _ TITLE _ GENERAL )?. let Ġ{ Ġdata Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle ?. text Ġ= Ġdata ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġarguments ?. getString ( BASIC _ SUB _ TITLE _ GENERAL )?. let Ġ{ Ġdata Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsubtitle ?. text Ġ= Ġdata ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġarguments ?. getInt ( IL LU STR ATION _ IMAGE , Ġ- 1 ). take If Ġ{ Ġvalue Ġ-> Ġvalue Ġ!= Ġ- 1 Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ? . let Ġ{ Ġvalue Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimage ?. setImage Resource ( value ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ enum Ġclass ĠType Modal { ĊĠĠĠ ĠBAS IC _ TEXT _ ONLY , ĊĠĠĠ ĠBAS IC _ 1 _ BUTTON , ĊĠĠĠ ĠBAS IC _ 2 _ BUTTON , ĊĠĠĠ ĠBAS IC _ 2 _ BUTTON _ ALT , ĊĠĠĠ ĠBAS IC _ BACK _ ICON , ĊĠĠĠ ĠBAS IC _ FILTER _ MOD AL , ĊĠĠĠ ĠI LLU STR ATION _ 1 _ BUTTON , ĊĠĠĠ ĠI LLU STR ATION _ 2 _ BUTTON , ĊĠĠĠ ĠI LLU STR ATION _ 2 _ BUTTON _ ALT Ċ } Ċ