package Ġcom . ct d . cy manage . fragment Ċ Ċ import Ġandroid . graphics . Bitmap Factory Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . graphics . Rect Ċ import Ġandroid . graphics . Type face Ċ import Ġandroid . text . Sp ann able String Ċ import Ġandroid . text . style . ForegroundColor Span Ċ import Ġandroid . text . style . Relative Size Span Ċ import Ġandroid . text . style . Style Span Ċ import Ġandroid . view . View Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . ct d . cy manage . App Ċ import Ġcom . ct d . cy manage . R Ċ import Ġcom . ct d . cy manage . adapter . Show Text Adapter Ċ import Ġcom . ct d . cy manage . bean . Show Data Ċ import Ġcom . ct d . cy manage . utils . Dialog Utils Ċ import Ġcom . ct d . cy manage . utils . Ui Utils Ċ import Ġcom . ct d . cy manage . utils . apply Schedulers Ċ import Ġcom . ct d . cy manage . widget . Choose Dialog Ċ import Ġcom . ct d . cy manage . widget . My Marker View Ċ import Ġcom . ct d . cy manage . widget . Pick Date Dialog Ċ import Ġcom . ct d . cy manage . widget . Select Bar View Ċ import Ġcom . github . mike phil . chart ing . animation . E asing Ċ import Ġcom . github . mike phil . chart ing . components . Legend Ċ import Ġcom . github . mike phil . chart ing . components . X Axis Ċ import Ġcom . github . mike phil . chart ing . data .* Ċ import Ġcom . github . mike phil . chart ing . formatter . I Axis Value Formatter Ċ import Ġcom . github . mike phil . chart ing . formatter . Percent Formatter Ċ import Ġcom . github . mike phil . chart ing . highlight . Highlight Ċ import Ġcom . github . mike phil . chart ing . interfaces . datasets . I Bar DataSet Ċ import Ġcom . github . mike phil . chart ing . listener . On Chart Value Selected Listener Ċ import Ġcom . github . mike phil . chart ing . utils . Color Template Ċ import Ġcom . github . mike phil . chart ing . utils . MP PointF Ċ import Ġcom . or h ano but . logger . Logger Ċ import Ġio . reactivex . Observable Ċ import Ġkotlinx . android . synt hetic . main . fragment _ payment info .* Ċ import Ġjava . text . Decimal Format Ċ import Ġjava . util . concurrent . TimeUnit Ċ import Ġkotlin . collections . ArrayList Ċ Ċ class ĠPayment Info : Base Fragment (), ĠView . OnClickListener , ĠOn Chart Value Selected Listener , ĠShow Text Adapter . Text Click Listen Ġ{ ĊĊĊĠĠĠ Ġprivate Ġvar ĠAN IM TIME Ġ= Ġanim Time [ 1 ] ĊĠĠĠ Ġprivate Ġvar Ġm Type Payment Ġ= Ġtrue ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Show Text Adapter : ĠShow Text Adapter ĊĠĠĠ Ġprivate Ġ Ġvar Ġm Show Text List Ġ= ĠArrayList < Show Data >() ĊĠĠĠ Ġoverride Ġfun Ġget Layout Resources (): ĠInt Ġ{ ĊĊĠĠĠĠĠĠĠ Ġreturn ĠR . layout . fragment _ payment info ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit View () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġif Ġ( arguments Ġ!= Ġnull ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Type Payment Ġ= Ġarguments !!. getBoolean (" payment ") ĊĊĠĠĠĠĠĠĠ Ġchart _ des _ 4 . text Ġ= ĠgetString ( if Ġ( m Type Payment ) ĠR . string . payment info _ text 1 0 Ġelse ĠR . string . payment info _ text 1 3 ) ĊĠĠĠĠĠĠĠ Ġtv _ right . text Ġ= ĠgetString ( if Ġ( m Type Payment ) ĠR . string . payment info _ text 9 Ġelse ĠR . string . payment info _ text 1 3 ) ĊĊĊĠĠĠĠĠĠĠ Ġvar Ġarray Now Ġ= ĠApp . instance App (). getTime Now () ĊĊĠĠĠĠĠĠĠ Ġselect _ year _ start . setContent ("${ array Now [ 0 ]- 1 }/${ array Now [ 1 ] }/${ array Now [ 2 ]} ") ĊĊĠĠĠĠĠĠĠ Ġselect _ year _ start . set Bar OnClickListener ( object Ġ: ĠSelect Bar View . Bar OnClickListener , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPick Date Dialog . Pick Date Dialog Listen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdata Check ( pick Date Dialog : ĠPick Date Dialog ?, Ġcontent : ĠString ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġselect _ year _ start . setContent ( content ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġbar View Click () Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDialog Utils . show Pick Date Dialog Dialog ( activity !! , select _ year _ start . getContent (), this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġselect _ year _ end . setContent ("${ array Now [ 0 ] }/${ array Now [ 1 ] }/${ array Now [ 2 ]} ") ĊĊĠĠĠĠĠĠĠ Ġselect _ year _ end . set Bar OnClickListener ( object Ġ: ĠSelect Bar View . Bar OnClickListener , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPick Date Dialog . Pick Date Dialog Listen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdata Check ( pick Date Dialog : ĠPick Date Dialog ?, Ġcontent : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġselect _ year _ end . setContent ( content ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġbar View Click () Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDialog Utils . show Pick Date Dialog Dialog ( activity !! , select _ year _ end . getContent (), this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġselect _ client . setContent ( array String 1 [ 0 ]) ĊĊĠĠĠĠĠĠĠ Ġselect _ client . set Bar OnClickListener ( object Ġ: ĠSelect Bar View . Bar OnClickListener , ĠChoose Dialog . Choose Dialog Listen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcheck ( first : ĠBoolean , Ġcontent : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( first ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġselect _ client . setContent ( content ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġbar View Click () Ġ{ ĊĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDialog Utils . show Select One Dialog ( activity !! , getString ( R . string . payment info _ text 2 ), array String 1 , select _ client . getContent (), this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġ// çĻ»å½ķ æĮīéĴ® åĪĿå§ĭåĮĸ ĊĠĠĠĠĠĠĠ Ġbt _ search . text Ġ= ĠgetString ( R . string . payments it uation _ text 3 ) ĊĊĠĠĠĠĠĠĠ Ġbt _ search . background Ġ= ĠContext Compat . get Drawable ( activity !! , ĠR . drawable . bg _ 2 0 dp _ 0 ) ĊĠĠĠĠĠĠĠ Ġbt _ search . set Final Corner Radius ( 2 0 f ) ĊĊĠĠĠĠĠĠĠ Ġbt _ search . setOnClickListener ( this ) ĊĊĠĠĠĠĠĠĠ Ġ// å¯¼åĩº æĮīéĴ® åĪĿå§ĭåĮĸ ĊĠĠĠĠĠĠĠ Ġbt _ output . text Ġ= ĠgetString ( R . string . payment info _ text 1 ) ĊĊĠĠĠĠĠĠĠ Ġbt _ output . background Ġ= ĠContext Compat . get Drawable ( activity !! , ĠR . drawable . bg _ 2 0 dp _ 1 ) ĊĠĠĠĠĠĠĠ Ġbt _ output . set Final Corner Radius ( 2 0 f ) ĊĊĠĠĠĠĠĠĠ Ġbt _ output . setOnClickListener ( this ) ĊĊĠĠĠĠĠĠĠ Ġchange Title ( getString ( R . string . payment info _ text 1 1 ), false ) ĊĊĠĠĠĠĠĠĠ Ġ// åĪĿå§ĭåĮĸ Pie ĊĠĠĠĠĠĠĠ Ġinit Pie Chart () ĊĠĠĠĠĠĠĠ Ġ// åĪĿå§ĭåĮĸ Bar ĊĠĠĠĠĠĠĠ Ġinit Bar Chart () ĊĠĠĠĠĠĠĠ Ġ// åĪĿå§ĭåĮĸ list ĊĠĠĠĠĠĠĠ Ġinit Re cycle List () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġinit Bar Chart () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġb arch art . description . isEnabled Ġ= Ġfalse ĊĊĠĠĠĠĠĠĠ Ġ// å¦Ĥæŀľ æŁ ± çĬ¶ åĽ¾ ä¸ªæķ° è¶ħè¿ĩ è¿Ļä¸ª æķ° åĪĻ , åĪĻ æŁ ± çĬ¶ åĽ¾ ä¸ĬçļĦ æķ° åĢ¼ ä¸į æĺ¾ç¤º ĊĠĠĠĠĠĠĠ Ġb arch art . setMax Visible Value Count ( 6 ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġscaling Ġcan Ġnow Ġonly Ġbe Ġdone Ġon Ġx - Ġand Ġy - axis Ġseparately ĊĠĠĠĠĠĠĠ Ġb arch art . set Pin ch Zoom ( false ) ĊĊĠĠĠĠĠĠĠ Ġb arch art . set Draw Bar Shadow ( false ) ĊĊĠĠĠĠĠĠĠ Ġb arch art . set Draw Grid Background ( false ) ĊĊĠĠĠĠĠĠĠ Ġ// ä½¿çĶ¨ æīĭ åĬ¿ æĵįä½ľ ĊĠĠĠĠĠĠĠ Ġb arch art . set Touch Enabled ( true ) ĊĊĠĠĠĠĠĠĠ Ġ// å½ĵ æķ°æį® è¢« çĤ¹åĩ» æĺ¯ æĺ¾ç¤º çļĦ è§ĨåĽ¾ ĊĠĠĠĠĠĠĠ Ġval Ġmv Ġ= ĠMy Marker View ( activity !! , ĠR . layout . custom _ marker _ view , if Ġ( m Type Payment ) Ġ 1 Ġelse Ġ 5 ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠSet Ġthe Ġmarker Ġto Ġthe Ġchart ĊĠĠĠĠĠĠĠ Ġmv . chart View Ġ= Ġb arch art ĊĊĠĠĠĠĠĠĠ Ġb arch art . marker Ġ= Ġmv ĊĊĠĠĠĠĠĠĠ Ġ// å¤ļ çĤ¹ è§¦ æİ§ ĊĠĠĠĠĠĠĠ Ġb arch art . is Drag Enabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ// ç¼© æĶ¾ ĊĠĠĠĠĠĠĠ Ġb arch art . set Scale Enabled ( false ) ĊĠĠĠĠĠĠĠ Ġval Ġx Axis Ġ= Ġb arch art . xAxis ĊĊĠĠĠĠĠĠĠ Ġx Axis . position Ġ= ĠX Axis . X Axis Position . BOTTOM ĊĊĠĠĠĠĠĠĠ Ġx Axis . set Draw Grid Lines ( false ) ĊĊĠĠĠĠĠĠĠ Ġ// x è½´ æĺ¾ç¤º æķ°ç»Ħ ĊĠĠĠĠĠĠĠ Ġvar Ġarray Ġ= Ġif Ġ( m Type Payment ) Ġarray String 2 Ġelse Ġarray String 7 ĊĊĠĠĠĠĠĠĠ Ġ// æł¼å¼ı åĮĸ x è½´ æĺ¾ç¤º ĊĠĠĠĠĠĠĠ Ġx Axis . value Formatter Ġ= ĠI Axis Value Formatter Ġ{ Ġvalue , Ġaxis Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( value . toInt ()> array . size ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarray [ value . toInt ()] ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġx Axis . label Rotation Angle Ġ= Ġ Ġ- 4 5 f ĊĊĠĠĠĠĠĠĠ Ġb arch art . axis Left . set Draw Grid Lines ( true ) ĊĊĠĠĠĠĠĠĠ Ġb arch art . axis Left . axis Minimum Ġ= Ġ 0 f ĊĊĠĠĠĠĠĠĠ Ġb arch art . axis Left . space Top Ġ= Ġ 3 0 f ĊĠĠĠĠĠĠĠ Ġ// ä¸į ç»ĺ åĪ¶ åı³ è¾¹ è½´ çº¿ ĊĠĠĠĠĠĠĠ Ġb arch art . axis Right . isEnabled Ġ= Ġfalse ĊĊĊĠĠĠĠĠĠĠ Ġset Bar Data () ĊĠĠĠĠĠĠĠ Ġ// Ġadd Ġa Ġnice Ġand Ġsmooth Ġanimation ĊĠĠĠĠĠĠĠ Ġb arch art . animate Y ( ANIM TIME ) ĊĊĠĠĠĠĠĠĠ Ġ// æķ°æį® æııè¿° ĊĠĠĠĠĠĠĠ Ġb arch art . legend . isEnabled Ġ= Ġfalse ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Bar Data (){ ĊĠĠĠĠĠĠĠ Ġval Ġvalues Ġ= Ġjava . util . ArrayList < Bar Entry >() ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġ.. Ġ 4 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmulti Ġ= Ġ( Math . random ()* 1 0 0 ). toFloat () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġ( Math . random () Ġ* Ġmulti ). toFloat () Ġ+ Ġmulti Ġ/ Ġ 3 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalues . add ( Bar Entry ( i . toFloat (), Ġvalue )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġset 1 : ĠBar DataSet ĊĊĠĠĠĠĠĠĠ Ġif Ġ( b arch art . data Ġ!= Ġnull Ġ&& Ġb arch art . data . data Set Count Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset 1 Ġ= Ġb arch art . data . getData Set ByIndex ( 0 ) Ġas ĠBar DataSet ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset 1 . values Ġ= Ġvalues ĊĠĠĠĠĠĠĠĠĠĠĠ Ġb arch art . data . notify Data Changed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġb arch art . notify DataSet Changed () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset 1 Ġ= ĠBar DataSet ( values , Ġ" Data ĠSet ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// set 1 . set Colors (* Color Template . V OR DIP LO M _ COLORS ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset 1 . set Colors ( colors [ 5 ]) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġset 1 . set Draw Values ( true ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġset 1 . setValue Formatter Ġ{ Ġvalue , Ġentry , ĠdataSet Index , Ġview Port Handler Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue . toInt (). toString () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdata Sets Ġ= Ġjava . util . ArrayList < I Bar DataSet >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Sets . add ( set 1 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdata Ġ= ĠBar Data ( data Sets ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġb arch art . data Ġ= Ġdata ĊĠĠĠĠĠĠĠĠĠĠĠ Ġb arch art . set Fit Bars ( true ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġb arch art . invalidate () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Pie Chart () Ġ{ ĊĠĠĠĠĠĠĠ Ġpie chart . set Use Percent Values ( true ) ĊĠĠĠĠĠĠĠ Ġpie chart . description . isEnabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġpie chart . set Extra Offsets ( 5 f , Ġ 1 0 f , Ġ 5 f , Ġ 5 f ) ĊĊĠĠĠĠĠĠĠ Ġpie chart . drag De cel eration F riction Coef Ġ= Ġ 0 . 9 5 f ĊĊĠĠĠĠĠĠĠ Ġ// ä¸ŃéĹ´ åŃĹ ä½ĵ ĊĠĠĠĠĠĠĠ Ġpie chart . set Center Text Type face ( tf Light ) ĊĠĠĠĠĠĠĠ Ġ// ä¸ŃéĹ´ æĸĩåŃĹ ĊĠĠĠĠĠĠĠ Ġpie chart . center Text Ġ= Ġgenerate Center Sp ann able Text () ĊĊĠĠĠĠĠĠĠ Ġ// ä¸Ń éĥ¨ çĽ¸åħ³ è®¾ç½® ĊĠĠĠĠĠĠĠ Ġpie chart . is Draw Hole Enabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġpie chart . set Hole Color ( Color . WHITE ) ĊĊĠĠĠĠĠĠĠ Ġpie chart . set Transparent Circle Color ( Color . WHITE ) ĊĠĠĠĠĠĠĠ Ġpie chart . set Transparent Circle Alpha ( 1 1 0 ) ĊĊĠĠĠĠĠĠĠ Ġ// ä¸Ń éĥ¨ åľĨ çİ¯ åĨħ å¤ĸ åįĬ å¾Ħ ĊĠĠĠĠĠĠĠ Ġpie chart . hole Radius Ġ= Ġ 5 8 f ĊĠĠĠĠĠĠĠ Ġpie chart . transparent Circle Radius Ġ= Ġ 6 1 f ĊĊĠĠĠĠĠĠĠ Ġpie chart . set Draw Center Text ( true ) ĊĊĠĠĠĠĠĠĠ Ġ// æĺ¯åĲ¦ æĹ ĭ è½¬ ĊĠĠĠĠĠĠĠ Ġpie chart . rotation Angle Ġ= Ġ 0 f ĊĠĠĠĠĠĠĠ Ġ// Ġenable Ġrotation Ġof Ġthe Ġchart Ġby Ġtouch ĊĠĠĠĠĠĠĠ Ġpie chart . is Rotation Enabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġpie chart . is Highlight Per Tap Enabled Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠ Ġ// Ġchart . set Unit (" Ġâ Ĥ¬ "); ĊĠĠĠĠĠĠĠ Ġ// Ġchart . set Draw Units In Chart ( true ); ĊĊĠĠĠĠĠĠĠ Ġ// Ġadd Ġa Ġselection Ġlistener ĊĠĠĠĠĠĠĠ Ġpie chart . setOn Chart Value Selected Listener ( this ) ĊĊĠĠĠĠĠĠĠ Ġset Pie Data ( 6 , Ġ 1 0 f ) ĊĊĠĠĠĠĠĠĠ Ġpie chart . animate Y ( ANIM TIME , ĠE asing . E ase InOut Quad ) ĊĠĠĠĠĠĠĠ Ġ// Ġchart . spin ( 2 0 0 0 , Ġ 0 , Ġ 3 6 0 ); ĊĊĠĠĠĠĠĠĠ Ġ// æķ°æį® è¯´æĺİ ĊĠĠĠĠĠĠĠ Ġval Ġl Ġ= Ġpie chart . legend ĊĠĠĠĠĠĠĠ Ġl . vertical Alignment Ġ= ĠLegend . Legend Vertical Alignment . BOTTOM ĊĠĠĠĠĠĠĠ Ġl . horizontal Alignment Ġ= ĠLegend . Legend Horizontal Alignment . CENTER ĊĠĠĠĠĠĠĠ Ġl . orientation Ġ= ĠLegend . Legend Orientation . HORIZONTAL ĊĠĠĠĠĠĠĠ Ġl . set Draw Inside ( true ) ĊĠĠĠĠĠĠĠ Ġl . x Entry Space Ġ= Ġ 5 f ĊĠĠĠĠĠĠĠ Ġl . y Entry Space Ġ= Ġ 0 f ĊĠĠĠĠĠĠĠ Ġl . y Offset Ġ= Ġ 1 0 f ĊĊĠĠĠĠĠĠĠ Ġ// æķ°æį® è¯´æĺİ é¢ľèī² ĊĠĠĠĠĠĠĠ Ġpie chart . set Entry Label Color ( Color . BLACK ) ĊĠĠĠĠĠĠĠ Ġpie chart . set Entry Label Type face ( tf Regular ) ĊĠĠĠĠĠĠĠ Ġpie chart . set Entry Label Text Size ( 1 2 f ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Pie Data ( count : ĠInt , Ġrange : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġentries Ġ= ĠArrayList < Pie Entry >() ĊĊĠĠĠĠĠĠĠ Ġ// ĠNOTE : ĠThe Ġorder Ġof Ġthe Ġentries Ġwhen Ġbeing Ġadded Ġto Ġthe Ġentries Ġarray Ġdetermines Ġtheir Ġposition Ġaround Ġthe Ġcenter Ġof ĊĠĠĠĠĠĠĠ Ġ// Ġthe Ġchart . ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġcount ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentries . add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠP ie Entry ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( Math . random () Ġ* Ġrange Ġ+ Ġrange Ġ/ Ġ 5 ). toFloat (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparties [ i Ġ% Ġparties . size ], ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresources . get Drawable ( R . mip map . star ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval ĠdataSet Ġ= ĠP ie DataSet ( entries , Ġ"") ĊĊĠĠĠĠĠĠĠ ĠdataSet . set Draw Icons ( false ) ĊĊĠĠĠĠĠĠĠ Ġ// åľĨ å¼ § ä¹ĭéĹ´çļĦ ç©º éļ Ļ ĊĠĠĠĠĠĠĠ ĠdataSet . slice Space Ġ= Ġ 3 f ĊĊĠĠĠĠĠĠĠ ĠdataSet . icons Offset Ġ= ĠMP PointF ( 0 f , Ġ 4 0 f ) ĊĠĠĠĠĠĠĠ Ġ// éĢī ä¸Ń åĲİ , å¼ § å½¢ åľĨ çİ¯ æī© å¤§çļĦ åįĬ å¾Ħ ĊĠĠĠĠĠĠĠ ĠdataSet . selection Shift Ġ= Ġ 1 0 f ĊĊĠĠĠĠĠĠĠ Ġ// Ġadd Ġa Ġlot Ġof Ġcolors ĊĊĠĠĠĠĠĠĠ ĠdataSet . colors Ġ= Ġcolors ĊĠĠĠĠĠĠĠ Ġ// data Set . setSelection Shift ( 0 f ); ĊĊĠĠĠĠĠĠĠ Ġval Ġdata Ġ= ĠP ie Data ( data Set ) ĊĠĠĠĠĠĠĠ Ġdata . setValue Formatter ( Percent Formatter ( Decimal Format ())) ĊĠĠĠĠĠĠĠ Ġdata . setValue Text Size ( 1 1 f ) ĊĠĠĠĠĠĠĠ Ġ// æķ°æį® æķ° åĢ¼ ĊĠĠĠĠĠĠĠ Ġdata . setValue TextColor ( Color . BLACK ) ĊĠĠĠĠĠĠĠ Ġdata . setValue Type face ( tf Regular ) ĊĠĠĠĠĠĠĠ Ġpie chart . data Ġ= Ġdata ĊĊĠĠĠĠĠĠĠ Ġ// Ġundo Ġall Ġhighlight s ĊĠĠĠĠĠĠĠ Ġpie chart . highlight Values ( null ) ĊĊĠĠĠĠĠĠĠ Ġpie chart . invalidate () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġgenerate Center Sp ann able Text (): ĠSp ann able String Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġs Ġ= ĠSp ann able String (" æ¥ ļ å¤© é¾Ļ \ n çīĪ æĿĥ æīĢæľī ") ĊĠĠĠĠĠĠĠ Ġs . set Span ( Relative Size Span ( 1 . 7 f ), Ġ 0 , Ġ 3 , Ġ 0 ) ĊĊĠĠĠĠĠ Ġ/* Ġ Ġs . set Span ( Style Span ( Type face . NORMAL ), Ġ 3 , Ġs . length Ġ- Ġ 3 , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġs . set Span ( ForegroundColor Span ( Color . GRAY ), Ġ 3 , Ġs . length Ġ- Ġ 3 , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġs . set Span ( Relative Size Span (. 8 f ), Ġ 3 , Ġs . length Ġ- Ġ 3 , Ġ 0 ) */ ĊĊĠĠĠĠĠĠĠ Ġs . set Span ( Style Span ( Type face . ITAL IC ), Ġs . length Ġ- Ġ 4 , Ġs . length , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġs . set Span ( ForegroundColor Span ( Color Template . get Ho lo Blue ()), Ġs . length Ġ- Ġ 4 , Ġs . length , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġreturn Ġs ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// è¡¨ æł¼ æķ°åŃĹ éĢīæĭ© ĊĠĠĠ Ġoverride Ġfun Ġon Nothing Selected () Ġ{ ĊĊĠĠĠĠĠĠĠ ĠLogger . e (" Nothing Ġselected .") ĊĊĠĠĠĠĠĠĠ Ġchange Title ( getString ( R . string . payment info _ text 1 1 )) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Value Selected ( e : ĠEntry ?, Ġh : ĠHighlight ?) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġvar Ġindex Ġ= Ġh !!. x . toInt () ĊĠĠĠĠĠĠĠ Ġ// éľĢè¦ģ è¯·æ±Ĥ æķ°æį® ĊĠĠĠĠĠĠĠ Ġvar Ġvalue Ġ= Ġ( pie chart . data . data Set . getEntry For Index ( h . x . toInt ()) Ġas ĠP ie Entry ). label ĊĊĠĠĠĠĠĠĠ ĠLogger . e (" Entry Ġselected :${ h . toString ()} Ġ$ value " Ġ) ĊĊĠĠĠĠĠĠĠ Ġchange Title ( value ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġchange Title ( plus String : ĠString , Ġinit Data : Boolean Ġ= Ġtrue ){ ĊĊĠĠĠĠĠĠĠ Ġ// åĮº åİ¿ éĢīæĭ© Ġé»ĺè®¤ éĢīæĭ© ç¬¬ä¸Ģä¸ª ĊĠĠĠĠĠĠĠ Ġchart _ des _ 2 . text Ġ= Ġplus String ĊĊĠĠĠĠĠĠĠ Ġchart _ des _ 3 . text Ġ= ĠgetString ( if Ġ( m Type Payment ) ĠR . string . payment info _ text 6 Ġelse ĠR . string . payment info _ text 1 2 ). plus (" (${ chart _ des _ 2 . text }) ") ĊĊĊĠĠĠĠĠĠĠ Ġif Ġ( init Data ){ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġinit List Data ( plus String ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Bar Data () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġadd Ġa Ġnice Ġand Ġsmooth Ġanimation ĊĠĠĠĠĠĠĠĠĠĠĠ Ġb arch art . animate Y ( ANIM TIME ) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĊĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġfun ĠonClick ( v : ĠView ?) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( v ?. id ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . bt _ search Ġ-> Ġ{ ĊĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( check Data ( select _ year _ start . getContent (), select _ year _ end . getContent ())) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbt _ search . start Animation () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠObservable . timer ( 2 , ĠTimeUnit . SECONDS ). apply Schedulers (). subscribe ({ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbt _ search . done Loading Animation ( resources . getColor ( R . color . color Accent ), ĠBitmap Factory . decode Resource ( resources , if Ġ( true ) R . mip map . ic _ done Ġelse ĠR . mip map . error Ġ)) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠObservable . timer ( 1 , ĠTimeUnit . SECONDS ). apply Schedulers (). subscribe ({ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbt _ search . revert Animation () ĊĊ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Pie Data ( 6 , Ġ 1 0 f ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpie chart . animate Y ( ANIM TIME , ĠE asing . E ase InOut Quad ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchange Title ( getString ( R . string . payment info _ text 1 1 )) ĊĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ},{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLogger . e (" æĮīéĴ® å¤į åİŁ å¼Ĥå¸¸ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ},{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLogger . e (" æĮīéĴ® å¤į åİŁ å¼Ĥå¸¸ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} else { ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUi Utils . show Toast ( getString ( R . string . payment info _ text 3 )) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . bt _ output Ġ-> Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbt _ output . start Animation () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠObservable . timer ( 2 , ĠTimeUnit . SECONDS ). apply Schedulers (). subscribe ({ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbt _ output . done Loading Animation ( resources . getColor ( R . color . payment info _ color 1 ), ĠBitmap Factory . decode Resource ( resources , if Ġ( true ) R . mip map . ic _ done Ġelse ĠR . mip map . error Ġ)) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠObservable . timer ( 1 , ĠTimeUnit . SECONDS ). apply Schedulers (). subscribe ({ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbt _ output . revert Animation () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ},{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLogger . e (" æĮīéĴ® å¤į åİŁ å¼Ĥå¸¸ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ},{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLogger . e (" æĮīéĴ® å¤į åİŁ å¼Ĥå¸¸ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġinit Re cycle List () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġlinear LayoutManager Ġ= Ġobject Ġ: ĠLinearLayoutManager ( activity , ĠLinearLayoutManager . VERTICAL , Ġfalse ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcan Scroll H orizontally (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcash info _ re cyclerView . layout Manager = linear LayoutManager ĊĊĠĠĠĠĠĠĠ Ġm Show Text Adapter Ġ= ĠShow Text Adapter ( activity !! , m Show Text List , this ) ĊĊĠĠĠĠĠĠĠ Ġcash info _ re cyclerView . adapter = Ġm Show Text Adapter ĊĊĠĠĠĠĠĠĠ Ġcash info _ re cyclerView . addItem Decoration ( object Ġ: ĠRecyclerView . Item Decoration () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetItem Offsets ( out Rect : ĠRect , Ġview : ĠView , Ġparent : ĠRecyclerView , Ġstate : ĠRecyclerView . State ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġout Rect . top Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġout Rect . bottom Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġout Rect . left Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġout Rect . right Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġinit List Data ( chart _ des _ 2 . text . toString ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit List Data ( where : String ){ ĊĊĠĠĠĠĠĠĠ Ġm Show Text List . clear () ĊĊĊĠĠĠĠĠĠĠ Ġvar Ġweight Ġ= Ġif Ġ( m Type Payment ) Ġ 1 0 0 0 0 0 0 0 0 0 Ġelse Ġ 1 0 0 0 0 0 ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 Ġ.. Ġ 8 ){ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Show Text List . add ( Show Data ( where , i . toString (), where . plus (" ç½ĳ çĤ¹ $ i "), Ġ( Math . random ()* weight ). toInt ())) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġm Show Text Adapter . notify DataSet Changed () ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// list çĤ¹åĩ» ĊĠĠĠ Ġoverride Ġfun Ġtext Click ( content : ĠShow Data , Ġposition : ĠInt ) Ġ{ ĊĊĠĠĠĠĠĠĠ ĠLogger . e ( content . toString ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠ Ġif Ġ( bt _ search Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbt _ search . dispose () ĊĊĠĠĠĠĠĠĠ Ġif Ġ( bt _ output Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbt _ output . dispose () ĊĠĠĠ Ġ} Ċ Ċ }