package Ġcom . tran sc enden soft . he db anz . presentation . game . list . holder Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . content . Context Ċ import Ġandroid . support . annotation . Drawable Res Ċ import Ġandroid . support . graphics . drawable . Vector Drawable Compat Ċ import Ġandroid . support . v 4 . content . Context Compat Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . text . TextUtils Ċ import Ġandroid . util . Typed Value Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Relative Layout Ċ import Ġcom . tran sc enden soft . he db anz . R Ċ import Ġcom . tran sc enden soft . he db anz . domain . entity . User Ċ import Ġcom . tran sc enden soft . he db anz . utils . Date Utils Ċ import Ġcom . tran sc enden soft . he db anz . utils . View Utils Ċ import Ġio . reactivex . Observable Ċ import Ġkotlinx . android . synt hetic . main . item _ ask ing _ question _ other _ user . view .* Ċ import Ġkotlinx . android . synt hetic . main . item _ message _ some _ user . view .* Ċ Ċ /** Ċ Ġ* ĠCopyright Ġ 2 0 1 7 . ĠAnd ri i ĠCh ern y sh Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ* Ċ Ġ*/ Ċ /** Ċ Ġ* Ġ{@ link Ġandroid . support . v 7 . widget . RecyclerView . ViewHolder } Ċ Ġ* Ġfor Ġview Ġthat Ġrepresents Ġasking Ġquestion Ġof Ġsome Ġother ĠUser Ċ Ġ* Ċ Ġ* Ġ@ author ĠAnd ri i ĠCh ern y sh . ĠE - mail : Ġit ch erry 9 7 @ gmail . com Ċ Ġ* ĠDevelop ed Ġby Ġ< u > Tran sc enden soft </ u > Ċ Ġ*/ Ċ class ĠAsk ing Question Other User ViewHolder ( context : ĠContext , ĠitemView : ĠView ?) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġm Cv Thumb s Up Ġ= ĠitemView ?. cv Thumb s Up ĊĠĠĠ Ġprivate Ġval Ġm Cv Thumb s Down Ġ= ĠitemView ?. cv Thumb s Down ĊĠĠĠ Ġprivate Ġval Ġm Iv Thumb s Up Ġ= ĠitemView ?. iv Thumb s Up ĊĠĠĠ Ġprivate Ġval Ġm Iv Thumb s Down Ġ= ĠitemView ?. iv Thumb s Down ĊĠĠĠ Ġprivate Ġval Ġm Cv Win Ġ= ĠitemView ?. cv Win ĊĠĠĠ Ġprivate Ġval Ġm Pb Thumb s Up Ġ= ĠitemView ?. number ProgressBar Thumb s Up ĊĠĠĠ Ġprivate Ġval Ġm Pb Thumb s Down Ġ= ĠitemView ?. number ProgressBar Thumb s Down ĊĠĠĠ Ġprivate Ġval Ġm Pb Win Ġ= ĠitemView ?. number ProgressBar Win ĊĠĠĠ Ġprivate Ġval Ġm Tv Players Thumb s Up Ġ= ĠitemView ?. tv Players Thumb s Up ĊĠĠĠ Ġprivate Ġval Ġm Tv Players Thumb s Down Ġ= ĠitemView ?. tv Players Thumb s Down ĊĠĠĠ Ġprivate Ġval Ġm Tv Players Win Ġ= ĠitemView ?. tv Players Win ĊĠĠĠ Ġprivate Ġval Ġm Thumb s Up Players Divider Ġ= ĠitemView ?. divider Thumb s Up Players ĊĠĠĠ Ġprivate Ġval Ġm Thumb s Down Players Divider Ġ= ĠitemView ?. divider Thumb s Down Players ĊĠĠĠ Ġprivate Ġval Ġm Win Players Divider Ġ= ĠitemView ?. divider Win Players ĊĠĠĠ Ġprivate Ġval Ġm Tv User Word Ġ= ĠitemView ?. tv User Word ĊĠĠĠ Ġprivate Ġval Ġm Iv Win Icon Ġ= ĠitemView ?. iv Win Icon ĊĠĠĠ Ġprivate Ġval Ġm Tv Message Ġ= ĠitemView ?. tv Message ĊĠĠĠ Ġprivate Ġval Ġm Iv User Image Ġ= ĠitemView ?. iv User Image ĊĠĠĠ Ġprivate Ġval Ġm Tv Login Ġ= ĠitemView ?. tv Login ĊĠĠĠ Ġprivate Ġval Ġm Separator Ġ= ĠitemView ?. separator ĊĠĠĠ Ġprivate Ġval Ġm Rl Container Ġ= ĠitemView ?. rl Some Message Container ĊĠĠĠ Ġprivate Ġval Ġm Tv Time Ġ= ĠitemView ?. tv Time ĊĠĠĠ Ġprivate Ġval Ġm Tv Total Ġ= ĠitemView ?. tv Total ĊĊĠĠĠ Ġprivate Ġval ĠmContext Ġ= Ġcontext ĊĊĊĠĠĠ Ġfun Ġbind User Word ( word : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Iv Win Icon ?. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġif Ġ( word . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Tv User Word ?. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Tv User Word ?. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Tv User Word ?. text Ġ= Ġword ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġbind Message ( message : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! TextUtils . isEmpty ( message )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Tv Message ?. text Ġ= Ġmessage ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Tv Message ?. text Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( m Tv User Word ?. visibility Ġ== ĠView . VISIBLE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( m Tv Message ?. layout Params Ġas ĠRelative Layout . LayoutParams ). top Margin Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView Utils . dp To Px ( mContext , Ġ 1 6 f ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( m Tv Message ?. layout Params Ġas ĠRelative Layout . LayoutParams ). top Margin Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView Utils . dp To Px ( mContext , Ġ 8 f ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġbind User Image (@ Drawable Res Ġdrawable Res : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdrawable Compat Ġ= ĠVector Drawable Compat . create ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmContext . resources , Ġdrawable Res , Ġnull ) ĊĠĠĠĠĠĠĠ Ġm Iv User Image ?. setImage Drawable ( drawable Compat ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( m Iv User Image ?. visibility Ġ== ĠView . VISIBLE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( m Iv User Image . layout Params Ġas ĠRelative Layout . LayoutParams ). top Margin Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView Utils . dp To Px ( mContext , Ġ 1 6 f ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( m Iv User Image ?. layout Params Ġas ĠRelative Layout . LayoutParams ). top Margin Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView Utils . dp To Px ( mContext , Ġ 8 f ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġbind User Login ( login : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( login . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Tv Login ?. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Tv Login ?. text Ġ= Ġlogin ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġbind Show Hide Login And Image ( is Hide : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( is Hide ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Tv Login ?. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Iv User Image ?. visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Separator ?. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Rl Container ?. minimum Height Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Tv Login ?. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Iv User Image ?. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Separator ?. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Rl Container ?. minimum Height Ġ= ĠgetList Preferred Item Height () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠgetList Preferred Item Height (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtext Size Attr Ġ= Ġint ArrayOf ( android . R . attr . list Preferred Item Height ) ĊĠĠĠĠĠĠĠ Ġval ĠindexOf Attr Text Size Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġval Ġa Ġ= ĠmContext . obtain Styled Attributes ( Typed Value (). data , Ġtext Size Attr ) ĊĠĠĠĠĠĠĠ Ġval Ġtext Size Ġ= Ġa . get Dimension Pixel Size ( indexOf Attr Text Size , Ġ- 1 ) ĊĠĠĠĠĠĠĠ Ġa . recycle () ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtext Size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġbind Time ( time : ĠLong ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġhuman Readable Time Ġ= ĠDate Utils . convert Date To Hours Minutes ( time ) ĊĠĠĠĠĠĠĠ Ġif Ġ(! TextUtils . isEmpty ( human Readable Time )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Tv Time ?. text Ġ= Ġhuman Readable Time ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Tv Time ?. text Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/* -------------------------------- ---- * ĊĠĠĠĠ Ġ* -------- ĠCard Ġview Ġbinding Ġ--------- * ĊĠĠĠĠ Ġ* -------------------------------- ---- */ ĊĠĠĠ Ġfun Ġbind Progress ( users Thumb s Up : ĠList < User >, Ġusers Thumb s Down : ĠList < User >, Ġusers Win : ĠList < User >, Ġall Users Count : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġset ProgressBar s Max ( all Users Count ) ĊĊĠĠĠĠĠĠĠ Ġset Thumb s Up Info ( users Thumb s Up ) ĊĠĠĠĠĠĠĠ Ġset Thumb s Down Info ( users Thumb s Down ) ĊĠĠĠĠĠĠĠ Ġset W ins Info ( users Win ) ĊĊĠĠĠĠĠĠĠ Ġset Total Info ( users Thumb s Up , Ġusers Thumb s Down , Ġusers Win , Ġall Users Count ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset ProgressBar s Max ( all Users Count : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Pb Thumb s Up ?. max Ġ= Ġall Users Count ĊĠĠĠĠĠĠĠ Ġm Pb Thumb s Down ?. max Ġ= Ġall Users Count ĊĠĠĠĠĠĠĠ Ġm Pb Win ?. max Ġ= Ġall Users Count ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Thumb s Up Info ( users Thumb s Up : ĠList < User >) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( users Thumb s Up . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Tv Players Thumb s Up ?. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Thumb s Up Players Divider ?. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Pb Thumb s Up ?. progress Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Tv Players Thumb s Up ?. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Thumb s Up Players Divider ?. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Tv Players Thumb s Up ?. text Ġ= Ġusers Thumb s Up . join ToString ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġseparator Ġ= Ġ", Ġ", Ġtransform Ġ= Ġ{ Ġit . login Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Pb Thumb s Up ?. progress Ġ= Ġusers Thumb s Up . size ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Thumb s Down Info ( users Thumb s Down : ĠList < User >) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( users Thumb s Down . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Tv Players Thumb s Down ?. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Thumb s Down Players Divider ?. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Pb Thumb s Down ?. progress Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Tv Players Thumb s Down ?. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Thumb s Down Players Divider ?. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Tv Players Thumb s Down ?. text Ġ= Ġusers Thumb s Down . join ToString ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġseparator Ġ= Ġ", Ġ", Ġtransform Ġ= Ġ{ Ġit . login Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Pb Thumb s Down ?. progress Ġ= Ġusers Thumb s Down . size ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset W ins Info ( users Win : ĠList < User >) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( users Win . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Tv Players Win ?. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Win Players Divider ?. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( m Tv Total ?. layout Params Ġas ĠRelative Layout . LayoutParams ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Rule ( Relative Layout . BE LOW , ĠR . id . tv Players Win ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Pb Win ?. progress Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Tv Players Win ?. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Win Players Divider ?. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Tv Players Win ?. text Ġ= Ġusers Win . join ToString ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġseparator Ġ= Ġ", Ġ", Ġtransform Ġ= Ġ{ Ġit . login Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Pb Win ?. progress Ġ= Ġusers Win . size ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( m Tv Total ?. layout Params Ġas ĠRelative Layout . LayoutParams ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Rule ( Relative Layout . BE LOW , ĠR . id . divider Win Players ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġbind Win ( is Win : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( is Win ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Cv Thumb s Up ?. isEnabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Cv Thumb s Up ?. is Clickable Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Cv Thumb s Up ?. set Card BackgroundColor ( Context Compat ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. getColor ( mContext , ĠR . color . message _ this _ user _ bg )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġthumb s Up Disabled Drawable Ġ= ĠVector Drawable Compat . create ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmContext . resources , ĠR . drawable . thumbs _ up _ disabled , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Iv Thumb s Up ?. setImage Drawable ( thumbs Up Disabled Drawable ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Cv Thumb s Down ?. isEnabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Cv Thumb s Down ?. is Clickable Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Cv Thumb s Down ?. set Card BackgroundColor ( Context Compat ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. getColor ( mContext , ĠR . color . message _ this _ user _ bg )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġthumb s Down Disabled Drawable Ġ= ĠVector Drawable Compat . create ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmContext . resources , ĠR . drawable . thumbs _ down _ disabled , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Iv Thumb s Down ?. setImage Drawable ( thumbs Down Disabled Drawable ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Cv Thumb s Up ?. isEnabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Cv Thumb s Up ?. is Clickable Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Cv Thumb s Up ?. set Card BackgroundColor ( Context Compat ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. getColor ( mContext , ĠR . color . text White )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġthumb s Up Drawable Ġ= ĠVector Drawable Compat . create ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmContext . resources , ĠR . drawable . thumbs _ up , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Iv Thumb s Up ?. setImage Drawable ( thumbs Up Drawable ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Cv Thumb s Down ?. isEnabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Cv Thumb s Down ?. is Clickable Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Cv Thumb s Down ?. set Card BackgroundColor ( Context Compat ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. getColor ( mContext , ĠR . color . text White )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġthumb s Down Drawable Ġ= ĠVector Drawable Compat . create ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmContext . resources , ĠR . drawable . thumbs _ down , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Iv Thumb s Down ?. setImage Drawable ( thumbs Down Drawable ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġbind Top Margin ( is Top Margin Needed : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( is Top Margin Needed ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparams Ġ= ĠitemView . layout Params Ġas ĠRecyclerView . LayoutParams ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparams . top Margin Ġ= ĠView Utils . dp To Px ( mContext , Ġ 8 f ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . layout Params Ġ= Ġparams ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparams Ġ= ĠitemView . layout Params Ġas ĠRecyclerView . LayoutParams ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparams . top Margin Ġ= ĠView Utils . dp To Px ( mContext , Ġ 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠitemView . layout Params Ġ= Ġparams ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress Lint (" SetText I 1 8 n ") ĊĠĠĠ Ġprivate Ġfun Ġset Total Info ( users Thumb s Up : ĠList < User >, Ġusers Thumb s Down : ĠList < User >, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġusers Win : ĠList < User >, Ġall Users Count : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Tv Total ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtotal V oted Ġ= Ġusers Thumb s Up . size Ġ+ Ġusers Thumb s Down . size Ġ+ Ġusers Win . size ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtext V oted Ġ= Ġif ( total V oted Ġ> Ġall Users Count ) Ġ"$ total V oted /$ total V oted " Ġelse Ġ"$ total V oted /$ all Users Count " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Tv Total . text Ġ= Ġ"${ mContext . getString ( R . string . game _ ask ing _ total _ votes )} Ġ" Ġ+ Ġtext V oted ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġthumb s Up Click Observable ( question Id : ĠLong , Ġis Enable Click : ĠBoolean ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠObservable . create < Long > Ġ{ Ġemitter Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Cv Thumb s Up ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Enable Click ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemitter . onNext ( question Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} !! ĊĊĠĠĠ Ġfun Ġthumb s Down Click Observable ( question Id : ĠLong , Ġis Enable Click : ĠBoolean ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠObservable . create < Long > Ġ{ Ġemitter Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Cv Thumb s Down ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Enable Click ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemitter . onNext ( question Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} !! ĊĊĠĠĠ Ġfun Ġwin Click Observable ( question Id : ĠLong , Ġis Enable Click : ĠBoolean ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠObservable . create < Long > Ġ{ Ġemitter Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Cv Win ?. setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Enable Click ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemitter . onNext ( question Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} !! Ċ }