package Ġio . horizontal systems . bank wallet . modules . send . sub modules . fee Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . DialogInterface Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view .* Ċ import Ġandroid . view . input method . Input Method Manager Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . fragment . app . Dialog Fragment Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġio . horizontal systems . bank wallet . R Ċ import Ġio . horizontal systems . bank wallet . core . Fee Rate Priority Ċ import Ġio . horizontal systems . bank wallet . entities . Fee Rate Info Ċ import Ġio . horizontal systems . bank wallet . modules . send . sub modules . fee . Send Fee Module . Fee Rate Info View Item Ċ import Ġio . horizontal systems . bank wallet . view Helpers . Date Helper Ċ import Ġio . horizontal systems . bank wallet . view Helpers . Text Helper Ċ import Ġkotlinx . android . extensions . Layout Container Ċ import Ġkotlinx . android . synt hetic . main . view _ holder _ item _ selector .* ĊĊ Ċ class ĠF ee Rate Priority Selector Ġ: ĠDialog Fragment (), ĠF ee Rates Adapter . Listener Ġ{ ĊĊĠĠĠ Ġinterface ĠListener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun ĠonSelect Fee Rate ( fee Rate : ĠF ee Rate Info ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġlistener : ĠListener ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġfee Rates : ĠList < Fee Rate Info View Item >? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġdialog ?. window ?. request Feature ( Window . FEATURE _ NO _ TITLE ) ĊĠĠĠĠĠĠĠ Ġdialog ?. window ?. setBackground Drawable Resource ( R . drawable . alert _ background _ the med ) ĊĠĠĠĠĠĠĠ Ġdialog ?. window ?. set Soft Input Mode ( WindowManager . LayoutParams . SOFT _ INPUT _ STATE _ UN CHANGED ) ĊĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġinflater . inflate ( R . layout . fragment _ alert _ dialog _ single _ select , Ġcontainer , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġval Ġre cyclerView Ġ= Ġview . findViewById < RecyclerView >( R . id . dialog RecyclerView ) ĊĠĠĠĠĠĠĠ Ġval Ġdialog Title Ġ= Ġview . findViewById < TextView >( R . id . dialog Title ) ĊĊĠĠĠĠĠĠĠ Ġval Ġfee Rates Ġ= Ġthis . fee Rates ĊĊĠĠĠĠĠĠĠ Ġif Ġ( fee Rates Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġre cyclerView . adapter Ġ= ĠF ee Rates Adapter ( fee Rates , Ġthis ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġre cyclerView . layout Manager Ġ= ĠLinearLayoutManager ( context ) ĊĊĠĠĠĠĠĠĠ Ġdialog Title . setText ( R . string . Send _ Dialog Speed ) ĊĊĠĠĠĠĠĠĠ Ġhide Key Board () ĊĊĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Dismiss ( dialog : ĠDialog Interface ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Dismiss ( dialog ) ĊĠĠĠĠĠĠĠ Ġshow Key Board () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Fee Rates Adapter . Listener ĊĠĠĠ Ġoverride Ġfun ĠonClick ( fee Rate : ĠF ee Rate Info ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlistener ?. on Select Fee Rate ( fee Rate ) ĊĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Key Board () Ġ{ ĊĠĠĠĠĠĠĠ Ġ( context ?. getSystem Service ( Context . INPUT _ METHOD _ SERVICE ) Ġas ? ĠInput Method Manager )?. toggle Soft Input ( 0 , ĠInput Method Manager . SHOW _ IMP LICIT ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġhide Key Board () Ġ{ ĊĠĠĠĠĠĠĠ Ġ( context ?. getSystem Service ( Context . INPUT _ METHOD _ SERVICE ) Ġas ? ĠInput Method Manager )?. toggle Soft Input ( 0 , ĠInput Method Manager . HIDE _ NOT _ ALWAYS ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance ( listener : ĠListener ? Ġ= Ġnull , Ġfee Rates : ĠList < Fee Rate Info View Item >): ĠF ee Rate Priority Selector Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdialog Ġ= ĠF ee Rate Priority Selector () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . listener Ġ= Ġlistener ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . fee Rates Ġ= Ġfee Rates ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġdialog ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ class ĠF ee Rates Adapter ( private Ġval Ġlist : ĠList < Fee Rate Info View Item >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġlistener : ĠListener ) Ġ: ĠRecyclerView . Adapter < ViewHolder Fee Rate Priority >(), ĠViewHolder Fee Rate Priority . ClickListener Ġ{ ĊĊĠĠĠ Ġinterface ĠListener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun ĠonClick ( fee Rate : ĠF ee Rate Info ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠViewHolder Fee Rate Priority ( LayoutInflater . from ( parent . context ). inflate ( R . layout . view _ holder _ item _ selector , Ġparent , Ġfalse ), Ġthis ) ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder Fee Rate Priority , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġlist [ position ]. fee Rate Info ĊĠĠĠĠĠĠĠ Ġval Ġis Selected Ġ= Ġlist [ position ]. selected ĊĠĠĠĠĠĠĠ Ġholder . bind ( item . priority , Ġitem . duration , Ġis Selected ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count () Ġ= Ġlist . size ĊĊĠĠĠ Ġoverride Ġfun ĠonClick ( position : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlistener . onClick ( list [ position ]. fee Rate Info ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ class ĠViewHolder Fee Rate Priority ( override Ġval Ġcontainer View : ĠView , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġlistener : ĠClick Listener ) Ġ: ĠRecyclerView . ViewHolder ( container View ), ĠLayout Container Ġ{ ĊĊĠĠĠ Ġinterface ĠClick Listener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun ĠonClick ( position : ĠInt ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġcontainer View . setOnClickListener Ġ{ Ġlistener . onClick ( adapter Position ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġbind ( priority : ĠF ee Rate Priority , Ġduration : ĠLong , Ġis Selected : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpriority String Ġ= ĠText Helper . get Fee Rate Priority String ( item View . context , Ġpriority ) ĊĠĠĠĠĠĠĠ Ġval Ġduration String Ġ= ĠDate Helper . get Tx Duration String ( item View . context , Ġduration ) ĊĊĠĠĠĠĠĠĠ Ġitem Title . text Ġ= Ġ"$ priority String Ġ(~ $ duration String )" ĊĠĠĠĠĠĠĠ Ġitem Title . isSelected Ġ= Ġis Selected ĊĠĠĠ Ġ} Ċ Ċ } Ċ