package Ġcom . h jq . demo . app Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view .* Ċ import Ġandroidx . annotation . String Res Ċ import Ġcom . gy f . imm ersion bar . Imm ersion Bar Ċ import Ġcom . h jq . bar . Title Bar Ċ import Ġcom . h jq . base . Base Activity Ċ import Ġcom . h jq . base . Base Dialog Ċ import Ġcom . h jq . demo . R Ċ import Ġcom . h jq . demo . action . Title Bar Action Ċ import Ġcom . h jq . demo . action . Toast Action Ċ import Ġcom . h jq . demo . http . model . Http Data Ċ import Ġcom . h jq . demo . ui . dialog . Wait Dialog Ċ import Ġcom . h jq . http . listener . On Http Listener Ċ import Ġokhttp 3 . Call Ċ Ċ /** Ċ Ġ* ĠĠĠ Ġauthor Ġ: ĠAndroid Ġ è½® åŃĲ åĵ ¥ Ċ Ġ* ĠĠĠ Ġgithub Ġ: Ġhttps :// github . com / getActivity / Android Project - Kotlin Ċ Ġ* ĠĠĠ Ġtime ĠĠ Ġ: Ġ 2 0 1 8 / 1 0 / 1 8 Ċ Ġ* ĠĠĠ Ġdesc ĠĠ Ġ: ĠActivity Ġ ä¸ļåĬ¡ åŁº ç±» Ċ Ġ*/ Ċ abstract Ġclass ĠApp Activity Ġ: ĠBase Activity (), ĊĠĠĠ ĠToast Action , ĠTitle Bar Action , ĠOn Http Listener < Any > Ġ{ ĊĊĠĠĠ Ġ/** Ġ æłĩé¢ĺ æłı å¯¹è±¡ Ġ*/ ĊĠĠĠ Ġprivate Ġvar Ġtitle Bar : ĠTitle Bar ? Ġ= Ġnull ĊĊĠĠĠ Ġ/** Ġ çĬ¶æĢģ æłı æ² ī æµ ¸ Ġ*/ ĊĠĠĠ Ġprivate Ġvar Ġimm ersion Bar : ĠImm ersion Bar ? Ġ= Ġnull ĊĊĠĠĠ Ġ/** Ġ åĬłè½½ å¯¹ è¯Ŀ æ¡Ĩ Ġ*/ ĊĠĠĠ Ġprivate Ġvar Ġdialog : ĠBase Dialog ? Ġ= Ġnull ĊĊĠĠĠ Ġ/** Ġå¯¹ è¯Ŀ æ¡Ĩ æķ°éĩı Ġ*/ ĊĠĠĠ Ġprivate Ġvar Ġdialog Count : ĠInt Ġ= Ġ 0 ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġå½ĵåīį åĬłè½½ å¯¹ è¯Ŀ æ¡Ĩ æĺ¯åĲ¦ åľ¨ æĺ¾ç¤º ä¸Ń ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġfun Ġis ShowDialog (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdialog Ġ!= Ġnull Ġ&& Ġdialog !!. is Showing ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ æĺ¾ç¤º åĬłè½½ å¯¹ è¯Ŀ æ¡Ĩ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġfun Ġshow Dialog () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( is Finish ing Ġ|| Ġis Destroyed ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġdialog Count ++ ĊĠĠĠĠĠĠĠ Ġpost Delayed ( Runnable Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(( dialog Count Ġ<= Ġ 0 ) Ġ|| Ġis Finish ing Ġ|| Ġis Destroyed ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ Runnable ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( dialog Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog Ġ= ĠWait Dialog . Builder ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Cancel able ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. create () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! dialog !!. is Showing ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog !!. show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}, Ġ 3 0 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ éļĲèĹı åĬłè½½ å¯¹ è¯Ŀ æ¡Ĩ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġfun Ġhide Dialog () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( is Finish ing Ġ|| Ġis Destroyed ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( dialog Count Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog Count -- ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ(( dialog Count Ġ!= Ġ 0 ) Ġ|| Ġ( dialog Ġ== Ġnull ) Ġ|| Ġ! dialog !!. is Showing ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġdialog ?. dismiss () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit Layout () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . init Layout () ĊĊĠĠĠĠĠĠĠ Ġval Ġtitle Bar Ġ= Ġget Title Bar () ĊĠĠĠĠĠĠĠ Ġtitle Bar ?. setOn Title Bar Listener ( this ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠåĪĿå§ĭåĮĸ æ² ī æµ ¸ å¼ı çĬ¶æĢģ æłı ĊĠĠĠĠĠĠĠ Ġif Ġ( is StatusBar Enabled ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget StatusBar Config (). init () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġè®¾ç½® æłĩé¢ĺ æłı æ² ī æµ ¸ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( title Bar Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠImm ersion Bar . setTitle Bar ( this , Ġtitle Bar ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæĺ¯åĲ¦ ä½¿çĶ¨ æ² ī æµ ¸ å¼ı çĬ¶æĢģ æłı ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġopen Ġfun Ġis StatusBar Enabled (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ çĬ¶æĢģ æłı åŃĹ ä½ĵ æ·± èī² æ¨¡å¼ı ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġfun Ġis StatusBar Dark Font (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġèİ·åıĸ çĬ¶æĢģ æłı æ² ī æµ ¸ çļĦ éħįç½® å¯¹è±¡ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġopen Ġfun Ġget StatusBar Config (): ĠImm ersion Bar Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( imm ersion Bar Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimm ersion Bar Ġ= Ġcreate StatusBar Config () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġimm ersion Bar !! ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠåĪĿå§ĭåĮĸ æ² ī æµ ¸ å¼ı çĬ¶æĢģ æłı ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġopen Ġfun Ġcreate StatusBar Config (): ĠImm ersion Bar Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠImm ersion Bar . with ( this ) Ġ// Ġé»ĺè®¤ çĬ¶æĢģ æłı åŃĹ ä½ĵ é¢ľèī² ä¸º é»ĳ èī² ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. status Bar Dark Font ( is StatusBar Dark Font ()) Ġ// ĠæĮĩå®ļ å¯¼èĪª æłı èĥĮæĻ¯ é¢ľèī² ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. navigation Bar Color ( R . color . white ) Ġ// Ġ çĬ¶æĢģ æłı åŃĹ ä½ĵ åĴĮ å¯¼èĪª æłı åĨħå®¹ èĩªåĬ¨ åıĺ èī² ï¼Į å¿ħé¡» æĮĩå®ļ çĬ¶æĢģ æłı é¢ľèī² åĴĮ å¯¼èĪª æłı é¢ľèī² æīį åı¯ä»¥ èĩªåĬ¨ åıĺ èī² ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. auto Dark Mode Enable ( true , Ġ 0 . 2 f ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè®¾ç½® æłĩé¢ĺ æłı çļĦ æłĩé¢ĺ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun ĠsetTitle (@ String Res Ġid : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtitle Ġ= ĠgetString ( id ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè®¾ç½® æłĩé¢ĺ æłı çļĦ æłĩé¢ĺ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun ĠsetTitle ( title : ĠCharSequence ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper < Base Activity >. setTitle ( title ) ĊĠĠĠĠĠĠĠ Ġget Title Bar ()?. title Ġ= Ġtitle ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Title Bar (): ĠTitle Bar ? Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( title Bar Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Bar Ġ= Ġobtain Title Bar ( getContent View ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġtitle Bar ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Left Click ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġon Back Pressed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠstartActivity For Result ( intent : ĠIntent , Ġrequest Code : ĠInt , Ġoptions : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . startActivity For Result ( intent , Ġrequest Code , Ġoptions ) ĊĠĠĠĠĠĠĠ Ġoverride Pending Transition ( R . anim . right _ in _ activity , ĠR . anim . right _ out _ activity ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġfinish () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . finish () ĊĠĠĠĠĠĠĠ Ġoverride Pending Transition ( R . anim . left _ in _ activity , ĠR . anim . left _ out _ activity ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ[ On Http Listener ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun ĠonStart ( call : ĠCall ) Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Dialog () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Suc ceed ( result : ĠAny ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( result Ġis ĠHttp Data <* >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoast ( result . getMessage ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Fail ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtoast ( e . message ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon End ( call : ĠCall ) Ġ{ ĊĠĠĠĠĠĠĠ Ġhide Dialog () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠ Ġif Ġ( is ShowDialog ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhide Dialog () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġdialog Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġimm ersion Bar ?. remove Support All View () ĊĠĠĠĠĠĠĠ Ġimm ersion Bar Ġ= Ġnull ĊĠĠĠ Ġ} Ċ }