package Ġcom . goc ash back . module _ me . adapter Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . os . Count Down Timer Ċ import Ġandroid . support . constraint . Constraint Layout Ċ import Ġandroid . widget . TextView Ċ import Ġcom . ch ad . library . adapter . base . Base Quick Adapter Ċ import Ġcom . ch ad . library . adapter . base . Base ViewHolder Ċ import Ġcom . goc ash back . lib _ common . network . model . user . User Gift Card Item Model Ċ import Ġcom . goc ash back . lib _ common . utils . money Format Ċ import Ġcom . goc ash back . module _ me . R Ċ Ċ /** Ċ Ġ* Ġ@ Author Ġ 5 5 HA IT AO Ċ Ġ* Ġ@ Date Ġ 2 0 1 9 - 0 6 - 1 5 Ġ 1 5 : 1 1 Ċ Ġ*/ Ċ class ĠMy Gift Card Adapter ( private Ġval Ġactivity : ĠActivity ?, Ġlist : ĠList < User Gift Card Item Model >) Ġ: ĠBase Quick Adapter < User Gift Card Item Model , ĠBase ViewHolder >( R . layout . item _ my _ gift _ card , Ġlist ) Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġcount List Ġ= Ġarray ListOf < Timer Count Down >() ĊĊĠĠĠ Ġoverride Ġfun Ġconvert ( helper : ĠBase ViewHolder , Ġitem : ĠUser Gift Card Item Model ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( item ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . setText ( R . id . tv _ gift _ cards _ store , Ġbrand _ name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setText ( R . id . tv _ amount _ bonus , Ġmoney Format ( amount _ bonus )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setText ( R . id . tv _ reward _ name , Ġreward _ name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setText ( R . id . tv _ add _ time , Ġactivity ?. resources ?. getString ( R . string . gift _ cards _ date ) Ġ+ Ġ" Ġ" Ġ+ Ġadd _ time ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set G one ( R . id . tv _ gift _ cards _ res end , Ġis _ available Ġ== Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setVisible ( R . id . iv _ gift _ card _ spent , Ġis _ available Ġ!= Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setText ( R . id . tv _ gift _ cards _ res end , Ġtime ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add OnClickListener ( R . id . tv _ mark _ as _ spent ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add OnClickListener ( R . id . tv _ gift _ cards _ res end ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . getView < TextView >( R . id . tv _ mark _ as _ spent ). isEnabled Ġ= Ġis _ available Ġ== Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . getView < Constraint Layout >( R . id . cl yt _ content ). isEnabled Ġ= Ġis _ available Ġ== Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . getView < TextView >( R . id . tv _ amount _ bonus ). isEnabled Ġ= Ġis _ available Ġ== Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . getView < TextView >( R . id . tv _ reward _ name ). isEnabled Ġ= Ġis _ available Ġ== Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . getView < TextView >( R . id . tv _ add _ time ). isEnabled Ġ= Ġis _ available Ġ== Ġ 0 ĊĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġstart Count ( position : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġm Count Down Timer Ġ= ĠTimer Count Down (( 6 0 Ġ* Ġ 2 0 0 0 ). to Long (), Ġ 1 0 0 0 , Ġposition ) ĊĠĠĠĠĠĠĠ Ġm Count Down Timer . start () ĊĠĠĠĠĠĠĠ Ġcount List . add ( m Count Down Timer ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġremove All Count () Ġ{ ĊĠĠĠĠĠĠĠ Ġcount List . forEach Ġ{ Ġit . cancel () Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġinner Ġclass ĠTimer Count Down ( millis In Future : ĠLong , Ġcount Down Interval : ĠLong , Ġval Ġposition : ĠInt ) Ġ: ĠCount Down Timer ( millis In Future , Ġcount Down Interval ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Tick ( millis Until Finished : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata [ position ]. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis On Count Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtime Ġ= Ġ"" Ġ+ Ġmillis Until Finished Ġ/ Ġ 1 0 0 0 Ġ+ Ġ" s " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotify Item Changed ( position ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Finish () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata [ position ]. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis On Count Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtime Ġ= Ġactivity ?. getString ( R . string . gift _ cards _ res end ) Ġ?: Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotify Item Changed ( position ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġget _ code . text Ġ= Ġresources . getString ( R . string . verify _ mail _ get _ code ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }