package Ġcom . lo dz . android . agile dev kt . modules . drawer Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Seek Bar Ċ import Ġandroidx . core . view . Gravity Compat Ċ import Ġcom . lo dz . android . agile dev kt . R Ċ import Ġcom . lo dz . android . agile dev kt . databinding . Activity Drawer Test Binding Ċ import Ġcom . lo dz . android . agile dev kt . modules . main . MainActivity Ċ import Ġcom . lo dz . android . core kt . ank o . toast Short Ċ import Ġcom . lo dz . android . core kt . utils . StatusBar Util Ċ import Ġcom . lo dz . android . image loader kt . Image Loader Ċ import Ġcom . lo dz . android . pand ora . base . activity . Abs Activity Ċ import Ġcom . lo dz . android . pand ora . rx . subscribe . observer . Progress Observer Ċ import Ġcom . lo dz . android . pand ora . rx . utils . Rx Utils Ċ import Ġcom . lo dz . android . pand ora . utils . view binding . binding Layout Ċ import Ġcom . trello . rx lifecycle 4 . android . Activity Event Ċ import Ġio . reactivex . rx java 3 . core . Observable Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* Ġ ä¾§ æ»ĳ æłı æµĭè¯ķ ç±» Ċ Ġ* ĠCreated Ġby Ġz hou L Ġon Ġ 2 0 1 8 / 9 / 3 . Ċ Ġ*/ Ċ class ĠDraw er Test Activity Ġ: ĠAbs Activity () Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġstart ( context : ĠContext , Ġtitle : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( context , ĠDraw er Test Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( MainActivity . EXTRA _ TITLE _ NAME , Ġtitle ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . startActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval ĠT IT LES Ġ= ĠarrayOf (" æĹł åĲį çļĦ æĹ ħ äºº ", Ġ" è·¯ æĹ ģ çļĦ èĲ½ åı ¶ ", Ġ" æ°´ éĿ¢ ä¸ĬçļĦ å°ı èį ī ", Ġ" åĳ¢ åĸ ĥ çļĦ æŃĮ å£° ", Ġ" åľ° ä¸ĬçļĦ æľĪ å½± ", Ġ" å¥ Ķ è· ĳ çļĦ æĺ ¥ é£İ ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" èĭ į ä¹ĭ é£İ äºĳ ", Ġ" æĳ ĩ æĽ ³ çļĦ éĩĳ æĺŁ ", Ġ" æ¬¢ åĸľ çļĦ æħ Ī éĽ ¨ ", Ġ" è ķ ´ åĲ« çļĦ å¤ª éĺ³ ", Ġ" æķ ¬ çķ ı çļĦ å¯ Ĥ éĿĻ ", Ġ" æĹł å°½ æĺŁ ç©º ") ĊĊĠĠĠ Ġprivate Ġval Ġm Binding : ĠActivity Drawer Test Binding Ġby Ġbinding Layout ( Activity Drawer Test Binding :: inflate ) ĊĊĠĠĠ Ġoverride Ġfun Ġget Abs View Binding Layout (): ĠView Ġ= Ġm Binding . root ĊĊĠĠĠ Ġoverride Ġfun Ġfind Views ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Binding . title Bar Layout . setTitle Name ( intent . getString Extra ( MainActivity . EXTRA _ TITLE _ NAME ) Ġ?: Ġ"") ĊĠĠĠĠĠĠĠ Ġm Binding . drawer Left View . title Tv . text Ġ= ĠgetString ( R . string . drawer _ title , ĠT IT LES [ Random (). nextInt ( TIT LES . size )]) ĊĠĠĠĠĠĠĠ ĠStatus Bar Util . set Transparent For Drawer Layout ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Drawer Test Activity , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Binding . drawer Layout , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Binding . content Layout , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Binding . alpha Sb . progress Ġ/ Ġ 1 0 0 . 0 f ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonPress Back (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( m Binding . drawer Layout . is Drawer Open ( Gravity Compat . START )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Binding . drawer Layout . close Drawer ( Gravity Compat . START ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . on Press Back () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Listeners () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . set Listeners () ĊĊĠĠĠĠĠĠĠ Ġ// Ġ æłĩé¢ĺ æłı è¿ĶåĽŀ æĮīéĴ® ĊĠĠĠĠĠĠĠ Ġm Binding . title Bar Layout . setOn Back Btn ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! m Binding . drawer Layout . is Drawer Open ( Gravity Compat . START )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Binding . drawer Layout . open Drawer ( Gravity Compat . START ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġ éĢı æĺİ åº¦ æ»ļ åĬ¨ æĿ¡ ĊĠĠĠĠĠĠĠ Ġm Binding . alpha Sb . setOn Seek Bar ChangeListener ( object Ġ: ĠSeek Bar . On Seek Bar ChangeListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Progress Changed ( seek Bar : ĠSeek Bar ?, Ġprogress : ĠInt , Ġfrom User : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! from User ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStatus Bar Util . set Transparent For Drawer Layout ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Drawer Test Activity , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Binding . drawer Layout , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Binding . content Layout , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprogress Ġ/ Ġ 1 0 0 . 0 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Alpha Value () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonStart Tracking Touch ( seek Bar : ĠSeek Bar ?) Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Stop Tracking Touch ( seek Bar : ĠSeek Bar ?) Ġ{} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġ// Ġæ Ĳ ľç´¢ ĊĠĠĠĠĠĠĠ Ġm Binding . drawer Left View . search Btn . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Binding . result Tv . text Ġ= ĠgetString ( R . string . drawer _ search ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Binding . drawer Layout . close Drawer ( Gravity Compat . START ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġ åĪ·æĸ° ĊĠĠĠĠĠĠĠ Ġm Binding . drawer Left View . refresh Btn . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrefresh Title () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġ åħ³æ³¨ ĊĠĠĠĠĠĠĠ Ġm Binding . drawer Left View . collect Btn . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Binding . result Tv . text Ġ= ĠgetString ( R . string . drawer _ collect ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Binding . drawer Layout . close Drawer ( Gravity Compat . START ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġ éĴ± åĮħ ĊĠĠĠĠĠĠĠ Ġm Binding . drawer Left View . wallet Btn . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Binding . result Tv . text Ġ= ĠgetString ( R . string . drawer _ wallet ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Binding . drawer Layout . close Drawer ( Gravity Compat . START ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġè®¾ç½® ĊĠĠĠĠĠĠĠ Ġm Binding . drawer Left View . setting Btn . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Binding . result Tv . text Ġ= ĠgetString ( R . string . drawer _ setting ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Binding . drawer Layout . close Drawer ( Gravity Compat . START ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . init Data () ĊĠĠĠĠĠĠĠ Ġ// Ġè®¾ç½® çĶ¨æĪ· å¤´ åĥı ĊĠĠĠĠĠĠĠ ĠImage Loader . create ( getContext ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load Res Id ( R . drawable . bg _ pokemon ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. use Circle () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( m Binding . drawer Left View . user Logo Img ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** Ġ åĪ·æĸ° ç§° åı· Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġrefresh Title () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrandom Ġ= ĠRandom (). nextInt ( TIT LES . size ) ĊĠĠĠĠĠĠĠ ĠObservable . just ( TIT LES [ random ]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġtitle Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠThread . sleep ( 1 0 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( Rx Utils . io To Main Observable ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( bind Until Event ( Activity Event . DESTROY )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProgress Observer . action ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetContext (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetString ( R . string . drawer _ refresh ing ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnext Ġ= Ġ{ Ġtitle Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Binding . drawer Left View . title Tv . text Ġ= ĠgetString ( R . string . drawer _ title , Ġtitle ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast Short ( R . string . drawer _ refresh _ complete ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerror Ġ= Ġ{ Ġe , Ġis Network Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast Short ( R . string . drawer _ refresh _ fail ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĠæĽ´æĸ° éĢı æĺİ åº¦ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġupdate Alpha Value () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Binding . alpha Value Tv . text Ġ= Ġm Binding . alpha Sb . progress . toString () ĊĠĠĠ Ġ} Ċ }