package Ġcom . music player . a ow . ui . base Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . os . Build Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . os . Persist able Bundle Ċ import Ġandroid . support . v 7 . app . ActionBar Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . support . v 7 . widget . Toolbar Ċ import Ġandroid . view . MenuItem Ċ import Ġandroid . view . View Ċ import Ġandroid . view . WindowManager Ċ import Ġcom . music player . a ow . R Ċ import Ġcom . music player . a ow . deleg ates . player . Playback Service Ċ import Ġcom . music player . a ow . utils . View Utils Ċ import Ġcom . read yst ates o ftware . system b art int . System Bar Tint Manager Ċ import Ġorg . jetbrains . ank o . content View Ċ import Ġorg . jetbrains . ank o . with Alpha Ċ import Ġuk . co . chr is jen x . call ig raph y . Call ig raph y Context Wrapper ĊĊ Ċ abstract Ġclass ĠBase Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġattach Base Context ( new Base : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . attach Base Context ( Call ig raph y Context Wrapper . wrap ( new Base )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( item . itemId Ġ== Ġandroid . R . id . home ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Back Pressed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġset Theme ( R . style . App Theme ) ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . M ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// window . decor View . system Ui Visibility Ġ= ĠView . SYSTEM _ UI _ FLAG _ LIGHT _ STATUS _ BAR ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// window . status Bar Color Ġ= ĠColor . WHITE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// setWindow Flag ( WindowManager . LayoutParams . FLAG _ TRANSL UC ENT _ STATUS , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// window . status Bar Color Ġ= ĠColor . TRANSP ARENT ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ// GPU Ġover draw Ġoptim a ization Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ// window . setBackground Drawable ( null ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġt int Manager Ġ= ĠSystem Bar Tint Manager ( this ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġenable Ġstatus Ġbar Ġt int Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġt int Manager . is StatusBar Tint Enabled Ġ= Ġfalse Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġenable Ġnavigation Ġbar Ġt int Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġt int Manager . set NavigationBar Tint Enabled ( true ) Ċ // Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġset Ġa Ġcustom Ġt int Ġcolor Ġfor Ġall Ġsystem Ġbars Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġt int Manager . set Tint Color ( R . color . white ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġset Ġa Ġcustom Ġnavigation Ġbar Ġresource Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġt int Manager . set NavigationBar Tint Resource ( R . drawable . gradient _ warning ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġset Ġa Ġcustom Ġstatus Ġbar Ġdrawable Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġt int Manager . setStatus Bar Tint Resource ( R . color . white ) ĊĠĠĠĠĠĠĠ Ġ} Ċ Ċ // ĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġin Ġ 1 9 .. 2 0 ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġset Window Flag ( WindowManager . LayoutParams . FLAG _ TRANSL UC ENT _ STATUS , Ġtrue ) Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= Ġ 1 9 ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġwindow . decor View . system Ui Visibility Ġ= ĠView . SYSTEM _ UI _ FLAG _ LAYOUT _ ST ABLE Ġor ĠView . SYSTEM _ UI _ FLAG _ LAYOUT _ FULL SCREEN Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= Ġ 2 1 ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġset Window Flag ( WindowManager . LayoutParams . FLAG _ TRANSL UC ENT _ STATUS , Ġfalse ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġwindow . status Bar Color Ġ= ĠColor . TRANSP ARENT Ċ // ĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Window Flag ( bits : ĠInt , Ġon : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġwin Ġ= Ġwindow ĊĠĠĠĠĠĠĠ Ġval Ġwin Params Ġ= Ġwin . attributes ĊĠĠĠĠĠĠĠ Ġif Ġ( on ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwin Params . flags Ġ= Ġwin Params . flags Ġor Ġbits ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwin Params . flags Ġ= Ġwin Params . flags Ġand Ġbits . inv () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġwin . attributes Ġ= Ġwin Params ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠAn Ġeasy Ġway Ġto Ġset Ġup Ġnon - home ( no Ġback Ġbutton Ġon Ġthe Ġtoolbar ) Ġactivity Ġto Ġenable ĊĠĠĠĠ Ġ* Ġgo Ġback Ġaction . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġtoolbar ĠThe Ġtoolbar Ġwith Ġgo Ġback Ġbutton ĊĠĠĠĠ Ġ* Ġ@ return ĠAction Bar ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprotected Ġfun Ġsupport ActionBar ( toolbar : ĠToolbar ?): ĠAction Bar ? Ġ{ ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( toolbar ) ĊĠĠĠĠĠĠĠ Ġval Ġaction Bar Ġ= Ġsupport ActionBar ĊĠĠĠĠĠĠĠ Ġif Ġ( action Bar Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaction Bar . set Display Home As Up Enabled ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaction Bar . set Display Show Home Enabled ( true ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġaction Bar ĊĠĠĠ Ġ} Ċ Ċ } Ċ