/* Ċ Ġ* ĠCopyright Ġ 2 0 1 9 ĠNow fal ĠSal ah ude en Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . now fal . kd roi dex t . k ex Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Intent Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . graphics . Type face Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroid . os . Build Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . annotation .* Ċ import Ġandroidx . core . app . Activity Compat Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . fragment . app . Fragment Activity Ċ import Ġandroid . view . View Ċ import Ġandroid . view . WindowManager Ċ Ċ fun ĠFragment . color (@ Color Res Ġcl r : ĠInt ): ĠInt Ġ{ ĊĠĠĠ Ġreturn Ġcontext !!. color ( clr ) Ċ } Ċ Ċ fun ĠFragment . string (@ String Res Ġstr : ĠInt ): ĠString Ġ{ ĊĠĠĠ Ġreturn ĠgetString ( str ) Ċ } Ċ Ċ fun ĠFragment . drawable (@ Drawable Res Ġd rw : ĠInt ): ĠDrawable ? Ġ{ ĊĠĠĠ Ġreturn Ġcontext !!. drawable ( dr w ) Ċ } Ċ Ċ fun ĠFragment . dim en (@ Dim en Res Ġd mn : ĠInt ): ĠFloat Ġ{ ĊĠĠĠ Ġreturn Ġcontext !!. dim en ( dm n ) Ċ } Ċ Ċ fun ĠFragment . dim en Int (@ Dim en Res Ġd mn : ĠInt ): ĠInt Ġ{ ĊĠĠĠ Ġreturn Ġcontext !!. dim en Int ( dm n ) Ċ } Ċ Ċ fun ĠFragment . int (@ Integer Res Ġint : ĠInt ): ĠInt Ġ{ ĊĠĠĠ Ġreturn Ġcontext !!. int ( int ) Ċ } Ċ Ċ fun ĠFragment . font (@ Font Res Ġfont : ĠInt ): ĠType face ? Ġ{ ĊĠĠĠ Ġreturn Ġcontext !!. font ( font ) Ċ } Ċ Ċ fun ĠFragment . string Array ( array : ĠInt ): ĠArray < String > Ġ{ ĊĠĠĠ Ġreturn Ġcontext !!. string Array ( array ) Ċ } Ċ Ċ fun ĠFragment . int Array ( array : ĠInt ): ĠInt Array Ġ{ ĊĠĠĠ Ġreturn Ġcontext !!. int Array ( array ) Ċ } Ċ Ċ fun Ġ< T > ĠFragment . startActivity For Result ( activity To : ĠClass < T >, Ġrequest Code : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġextras : ĠBundle Ġ= ĠBundle (), Ġoverride Transitions : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenter Anim : ĠInt Ġ= Ġ 0 , Ġexit Anim : ĠInt Ġ= Ġ 0 ) Ġ{ ĊĠĠĠ Ġval Ġstarter Ġ= ĠIntent ( activity , Ġactivity To ) ĊĠĠĠ Ġif Ġ(! extras . isEmpty ) Ġ{ ĊĠĠĠĠĠĠĠ Ġstarter . put Extras ( extras ) ĊĠĠĠ Ġ} ĊĠĠĠ ĠstartActivity For Result ( starter , Ġrequest Code ) ĊĠĠĠ Ġif Ġ( override Transitions ) Ġ{ ĊĠĠĠĠĠĠĠ Ġactivity !!. override Pending Transition ( enter Anim , Ġexit Anim ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġ< T > ĠFragment . startActivity From Fragment With Result ( activity To : ĠClass < T >, Ġrequest Code : ĠInt Ġ= Ġ 0 , Ġextras : ĠBundle Ġ= ĠBundle ()) Ġ{ ĊĠĠĠ Ġval Ġstarter Ġ= ĠIntent ( activity , Ġactivity To ) ĊĠĠĠ Ġif Ġ(! extras . isEmpty ) Ġ{ ĊĠĠĠĠĠĠĠ Ġstarter . put Extras ( extras ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġactivity !!. startActivity From Fragment ( this , Ġstarter , Ġrequest Code ) Ċ } Ċ Ċ fun ĠFragment . pop Fragment () Ġ{ ĊĠĠĠ Ġval Ġfm Ġ= Ġrequire FragmentManager () ĊĠĠĠ Ġif Ġ( fm . back Stack Entry Count Ġ== Ġ 1 ) Ġreturn ĊĠĠĠ Ġfm . pop Back Stack () Ċ } Ċ Ċ fun ĠFragment . pop Fragment ( name : ĠString , Ġflags : ĠInt ) Ġ{ ĊĠĠĠ Ġval Ġfm Ġ= Ġrequire FragmentManager () ĊĠĠĠ Ġif Ġ( fm . back Stack Entry Count Ġ== Ġ 1 ) Ġreturn ĊĠĠĠ Ġfm . pop Back Stack ( name , Ġflags ) Ċ } Ċ Ċ fun ĠFragment . pop Fragment ( id : ĠInt , Ġflags : ĠInt ) Ġ{ ĊĠĠĠ Ġval Ġfm Ġ= Ġrequire FragmentManager () ĊĠĠĠ Ġif Ġ( fm . back Stack Entry Count Ġ== Ġ 1 ) Ġreturn ĊĠĠĠ Ġfm . pop Back Stack ( id , Ġflags ) Ċ } Ċ Ċ fun ĠFragment . remove Fragment ( fragment : ĠFragment ) Ġ{ ĊĠĠĠ Ġval Ġft Ġ= Ġrequire FragmentManager (). beginTransaction () ĊĠĠĠ Ġft . remove ( fragment ) ĊĠĠĠ Ġft . commit Now () Ċ } Ċ Ċ fun ĠFragment . remove Fragment By Tag ( tag : ĠString ) Ġ{ ĊĠĠĠ Ġval Ġft Ġ= Ġrequire FragmentManager (). beginTransaction () ĊĠĠĠ Ġval Ġfragment Ġ= Ġrequire FragmentManager (). find Fragment By Tag ( tag ) Ġ?: Ġreturn ĊĠĠĠ Ġft . remove ( fragment ) ĊĠĠĠ Ġft . commit Now () Ċ } Ċ Ċ fun ĠFragment . remove Fragment ById ( id : ĠInt ) Ġ{ ĊĠĠĠ Ġval Ġft Ġ= Ġrequire FragmentManager (). beginTransaction () ĊĠĠĠ Ġval Ġfragment Ġ= Ġrequire FragmentManager (). find Fragment ById ( id ) Ġ?: Ġreturn ĊĠĠĠ Ġft . remove ( fragment ) ĊĠĠĠ Ġft . commit Now () Ċ } Ċ Ċ fun ĠFragment Activity . replace Fragment ( fragment : ĠFragment , Ġ@ Id Res Ġcontainer : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠaddTo Back Stack : ĠBoolean Ġ= Ġfalse , Ġback Stack Name : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Anim Res Ġin Animation Res : ĠInt Ġ= Ġ 0 , Ġ@ Anim Res Ġout Animation Res : ĠInt Ġ= Ġ 0 ) Ġ{ ĊĠĠĠ Ġval Ġft Ġ= Ġsupport FragmentManager . beginTransaction () ĊĠĠĠ Ġif Ġ( in Animation Res Ġ!= Ġ 0 Ġ&& Ġout Animation Res Ġ!= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġft . set Custom Animations ( in Animation Res , Ġout Animation Res ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġft . replace ( container , Ġfragment ) ĊĊĠĠĠ Ġif Ġ( addTo Back Stack ) Ġ{ ĊĠĠĠĠĠĠĠ Ġft . addTo Back Stack ( back Stack Name ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġft . commit () Ċ } Ċ Ċ fun ĠFragment Activity . add Fragment ( fragment : ĠFragment , Ġ@ Id Res Ġcontainer : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠaddTo Back Stack : ĠBoolean Ġ= Ġfalse , Ġback Stack Name : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Anim Res Ġin Animation Res : ĠInt Ġ= Ġ 0 , Ġ@ Anim Res Ġout Animation Res : ĠInt Ġ= Ġ 0 ) Ġ{ ĊĠĠĠ Ġval Ġft Ġ= Ġsupport FragmentManager . beginTransaction () ĊĠĠĠ Ġif Ġ( in Animation Res Ġ!= Ġ 0 Ġ&& Ġout Animation Res Ġ!= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġft . set Custom Animations ( in Animation Res , Ġout Animation Res ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġft . add ( container , Ġfragment ) ĊĊĠĠĠ Ġif Ġ( addTo Back Stack ) Ġ{ ĊĠĠĠĠĠĠĠ Ġft . addTo Back Stack ( back Stack Name ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġft . commit () Ċ } Ċ Ċ fun ĠFragment Activity . pop Fragment () Ġ{ ĊĠĠĠ Ġval Ġfm Ġ= Ġsupport FragmentManager ĊĠĠĠ Ġif Ġ( fm . back Stack Entry Count Ġ== Ġ 0 ) Ġreturn ĊĠĠĠ Ġfm . pop Back Stack () Ċ } Ċ Ċ fun ĠFragment Activity . pop Fragment ( name : ĠString , Ġflags : ĠInt ) Ġ{ ĊĠĠĠ Ġval Ġfm Ġ= Ġsupport FragmentManager ĊĠĠĠ Ġif Ġ( fm . back Stack Entry Count Ġ== Ġ 0 ) Ġreturn ĊĠĠĠ Ġfm . pop Back Stack ( name , Ġflags ) Ċ } Ċ Ċ fun ĠFragment Activity . pop Fragment ( id : ĠInt , Ġflags : ĠInt ) Ġ{ ĊĠĠĠ Ġval Ġfm Ġ= Ġsupport FragmentManager ĊĠĠĠ Ġif Ġ( fm . back Stack Entry Count Ġ== Ġ 0 ) Ġreturn ĊĠĠĠ Ġfm . pop Back Stack ( id , Ġflags ) Ċ } Ċ Ċ fun ĠFragment Activity . remove Fragment ( fragment : ĠFragment ) Ġ{ ĊĠĠĠ Ġval Ġft Ġ= Ġsupport FragmentManager . beginTransaction () ĊĠĠĠ Ġft . remove ( fragment ) ĊĠĠĠ Ġft . commit Now () Ċ } Ċ Ċ fun ĠFragment Activity . remove Fragment By Tag ( tag : ĠString ) Ġ{ ĊĠĠĠ Ġval Ġft Ġ= Ġsupport FragmentManager . beginTransaction () ĊĠĠĠ Ġval Ġfragment Ġ= Ġsupport FragmentManager . find Fragment By Tag ( tag ) Ġ?: Ġreturn ĊĠĠĠ Ġft . remove ( fragment ) ĊĠĠĠ Ġft . commit Now () Ċ } Ċ Ċ fun ĠFragment Activity . remove Fragment ById ( id : ĠInt ) Ġ{ ĊĠĠĠ Ġval Ġft Ġ= Ġsupport FragmentManager . beginTransaction () ĊĠĠĠ Ġval Ġfragment Ġ= Ġsupport FragmentManager . find Fragment ById ( id ) Ġ?: Ġreturn ĊĠĠĠ Ġft . remove ( fragment ) ĊĠĠĠ Ġft . commit Now () Ċ } Ċ Ċ fun Ġ< T > ĠActivity . startActivity ( activity To : ĠClass < T >, Ġextras : ĠBundle Ġ= ĠBundle (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Transitions : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenter Anim : ĠInt Ġ= Ġ 0 , Ġexit Anim : ĠInt Ġ= Ġ 0 ) Ġ{ ĊĠĠĠ Ġval Ġstarter Ġ= ĠIntent ( this , Ġactivity To ) ĊĠĠĠ Ġif Ġ(! extras . isEmpty ) Ġ{ ĊĠĠĠĠĠĠĠ Ġstarter . put Extras ( extras ) ĊĠĠĠ Ġ} ĊĠĠĠ ĠstartActivity ( starter ) ĊĠĠĠ Ġif Ġ( override Transitions ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Pending Transition ( enter Anim , Ġexit Anim ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġ< T > ĠActivity . startActivity For Result ( activity To : ĠClass < T >, Ġrequest Code : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġextras : ĠBundle Ġ= ĠBundle (), Ġoverride Transitions : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenter Anim : ĠInt Ġ= Ġ 0 , Ġexit Anim : ĠInt Ġ= Ġ 0 ) Ġ{ ĊĠĠĠ Ġval Ġstarter Ġ= ĠIntent ( this , Ġactivity To ) ĊĠĠĠ Ġif Ġ(! extras . isEmpty ) Ġ{ ĊĠĠĠĠĠĠĠ Ġstarter . put Extras ( extras ) ĊĠĠĠ Ġ} ĊĠĠĠ ĠstartActivity For Result ( starter , Ġrequest Code ) ĊĠĠĠ Ġif Ġ( override Transitions ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Pending Transition ( enter Anim , Ġexit Anim ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġ< T > ĠActivity . startActivity With Transitions ( activity To : ĠClass < T >, Ġoptions : ĠBundle , Ġextras : ĠBundle Ġ= ĠBundle ()) Ġ{ ĊĠĠĠ Ġval Ġstarter Ġ= ĠIntent ( this , Ġactivity To ) ĊĠĠĠ Ġif Ġ(! extras . isEmpty ) Ġ{ ĊĠĠĠĠĠĠĠ Ġstarter . put Extras ( extras ) ĊĠĠĠ Ġ} ĊĠĠĠ ĠActivity Compat . startActivity ( this , Ġstarter , Ġoptions ) Ċ } Ċ Ċ fun Ġ< T > ĠActivity . startActivity For Result With Transitions ( activity To : ĠClass < T >, Ġrequest Code : ĠInt , Ġoptions : ĠBundle , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġextras : ĠBundle Ġ= ĠBundle ()) Ġ{ ĊĠĠĠ Ġval Ġstarter Ġ= ĠIntent ( this , Ġactivity To ) ĊĠĠĠ Ġif Ġ(! extras . isEmpty ) Ġ{ ĊĠĠĠĠĠĠĠ Ġstarter . put Extras ( extras ) ĊĠĠĠ Ġ} ĊĠĠĠ ĠActivity Compat . startActivity For Result ( this , Ġstarter , Ġrequest Code , Ġoptions ) Ċ } Ċ Ċ @ Requires Api ( Build . VERSION _ CODES . J EL LY _ BE AN ) Ċ fun Ġ< T > ĠActivity . startActivity From Fragment With Transitions ( activity To : ĠClass < T >, Ġfragment From : Ġandroid . app . Fragment , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoptions : ĠBundle , Ġrequest Code : ĠInt Ġ= Ġ 0 , Ġextras : ĠBundle Ġ= ĠBundle ()) Ġ{ ĊĠĠĠ Ġval Ġstarter Ġ= ĠIntent ( this , Ġactivity To ) ĊĠĠĠ Ġif Ġ(! extras . isEmpty ) Ġ{ ĊĠĠĠĠĠĠĠ Ġstarter . put Extras ( extras ) ĊĠĠĠ Ġ} ĊĠĠĠ ĠstartActivity From Fragment ( fragment From , Ġstarter , Ġrequest Code , Ġoptions ) Ċ } Ċ Ċ fun Ġ< T > ĠActivity . startActivity From Fragment With Result ( activity To : ĠClass < T >, Ġfragment From : Ġandroid . app . Fragment , Ġrequest Code : ĠInt , Ġextras : ĠBundle Ġ= ĠBundle ()) Ġ{ ĊĠĠĠ Ġval Ġstarter Ġ= ĠIntent ( this , Ġactivity To ) ĊĠĠĠ Ġif Ġ(! extras . isEmpty ) Ġ{ ĊĠĠĠĠĠĠĠ Ġstarter . put Extras ( extras ) ĊĠĠĠ Ġ} ĊĊĠĠĠ ĠstartActivity From Fragment ( fragment From , Ġstarter , Ġrequest Code ) Ċ } Ċ Ċ @ Requires Api ( Build . VERSION _ CODES . KIT K AT ) Ċ fun ĠActivity . make Trans luc ent StatusBar () Ġ{ ĊĠĠĠ Ġwindow . set Flags ( WindowManager . LayoutParams . FLAG _ TRANSL UC ENT _ STATUS , ĊĠĠĠĠĠĠĠ ĠWindow Manager . LayoutParams . FLAG _ TRANSL UC ENT _ STATUS ) Ċ } Ċ Ċ @ Requires Api ( Build . VERSION _ CODES . KIT K AT ) Ċ fun ĠActivity . make Normal StatusBar ( status Bar Color : ĠInt Ġ= Ġ- 1 ) Ġ{ ĊĠĠĠ Ġwindow . clear Flags ( WindowManager . LayoutParams . FLAG _ TRANSL UC ENT _ STATUS ) ĊĠĠĠ Ġwindow . decor View . root View . system Ui Visibility Ġ= Ġ 0 ĊĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . LO L LI POP ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwindow . status Bar Color Ġ= Ġif Ġ( status Bar Color Ġ== Ġ- 1 ) ĠColor . BLACK Ġelse Ġstatus Bar Color ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Requires Api ( Build . VERSION _ CODES . KIT K AT ) Ċ fun ĠActivity . make Trans luc ent NavigationBar () Ġ{ ĊĠĠĠ Ġwindow . set Flags ( WindowManager . LayoutParams . FLAG _ TRANSL UC ENT _ NAV IG ATION , ĊĠĠĠĠĠĠĠ ĠWindow Manager . LayoutParams . FLAG _ TRANSL UC ENT _ NAV IG ATION ) Ċ } Ċ Ċ @ Requires Api ( Build . VERSION _ CODES . KIT K AT ) Ċ fun ĠActivity . make Normal NavigationBar ( navigation Bar Color : ĠInt Ġ= Ġ- 1 ) Ġ{ ĊĠĠĠ Ġwindow . clear Flags ( WindowManager . LayoutParams . FLAG _ TRANSL UC ENT _ NAV IG ATION ) ĊĠĠĠ Ġwindow . decor View . root View . system Ui Visibility Ġ= Ġ 0 ĊĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . LO L LI POP ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwindow . navigation Bar Color Ġ= Ġif Ġ( navigation Bar Color Ġ== Ġ- 1 ) ĠColor . BLACK Ġelse Ġnavigation Bar Color ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Requires Api ( Build . VERSION _ CODES . M ) Ċ fun ĠActivity . light StatusBar ( status Bar Color : ĠInt Ġ= Ġ- 1 ) Ġ{ ĊĠĠĠ Ġwhen Ġ( window . decor View . root View . system Ui Visibility ) Ġ{ ĊĠĠĠĠĠĠĠĠ 0 Ġ-> Ġwindow . decor View . root View . system Ui Visibility Ġ= ĠView . SYSTEM _ UI _ FLAG _ LIGHT _ STATUS _ BAR ĊĠĠĠĠĠĠĠ ĠView . SYSTEM _ UI _ FLAG _ LIGHT _ NAV IG ATION _ BAR Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . O ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwindow . decor View . root View . system Ui Visibility Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView . SYSTEM _ UI _ FLAG _ LIGHT _ STATUS _ BAR Ġ+ ĠView . SYSTEM _ UI _ FLAG _ LIGHT _ NAV IG ATION _ BAR ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwindow . decor View . root View . system Ui Visibility Ġ= ĠView . SYSTEM _ UI _ FLAG _ LIGHT _ STATUS _ BAR ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġwindow . status Bar Color Ġ= Ġif Ġ( status Bar Color Ġ== Ġ- 1 ) ĠColor . WHITE Ġelse Ġstatus Bar Color Ċ } Ċ Ċ @ Requires Api ( Build . VERSION _ CODES . O ) Ċ fun ĠActivity . light Navigation ( navigation Bar Color : ĠInt Ġ= Ġ- 1 ) Ġ{ ĊĠĠĠ Ġwhen Ġ( window . decor View . root View . system Ui Visibility ) Ġ{ ĊĠĠĠĠĠĠĠĠ 0 Ġ-> Ġwindow . decor View . root View . system Ui Visibility Ġ= ĠView . SYSTEM _ UI _ FLAG _ LIGHT _ NAV IG ATION _ BAR ĊĠĠĠĠĠĠĠ ĠView . SYSTEM _ UI _ FLAG _ LIGHT _ STATUS _ BAR Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwindow . decor View . root View . system Ui Visibility Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView . SYSTEM _ UI _ FLAG _ LIGHT _ STATUS _ BAR Ġ+ ĠView . SYSTEM _ UI _ FLAG _ LIGHT _ NAV IG ATION _ BAR ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġwindow . navigation Bar Color Ġ= Ġif Ġ( navigation Bar Color Ġ== Ġ- 1 ) ĠColor . WHITE Ġelse Ġnavigation Bar Color Ċ }