@ file : Suppress (" NOTH ING _ TO _ INLINE ") Ċ Ċ package Ġuk . white cre sc ent . wa q ti . frontend Ċ Ċ import Ġandroid . content . res . Configuration Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . graphics . Point Ċ import Ġandroid . graphics . PointF Ċ import Ġandroid . graphics . Rect F Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . provider . Settings Ċ import Ġandroid . view . Motion Event Ċ import Ġandroid . view . View Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . core . view . Gravity Compat Ċ import Ġandroidx . core . view . isVisible Ċ import Ġandroidx . drawer layout . widget . Drawer Layout Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġkotlinx . android . synt hetic . main . blank _ activity .* Ċ import Ġkotlinx . android . synt hetic . main . navigation _ header . view .* Ċ import Ġorg . jetbrains . ank o . collections . forEach Re versed ByIndex Ċ import Ġorg . jetbrains . ank o . configuration Ċ import Ġorg . jetbrains . ank o . display Metrics Ċ import Ġorg . jetbrains . ank o . textColor Ċ import Ġuk . white cre sc ent . wa q ti . Build Config Ċ import Ġuk . white cre sc ent . wa q ti . R Ċ import Ġuk . white cre sc ent . wa q ti . backend . persistence . Caches Ċ import Ġuk . white cre sc ent . wa q ti . backend . persistence . Database Ċ import Ġuk . white cre sc ent . wa q ti . backend . task . ID Ċ import Ġuk . white cre sc ent . wa q ti . extensions . F Ċ import Ġuk . white cre sc ent . wa q ti . extensions . I Ċ import Ġuk . white cre sc ent . wa q ti . extensions . add On Back Pressed Callback Ċ import Ġuk . white cre sc ent . wa q ti . extensions . all Children Ċ import Ġuk . white cre sc ent . wa q ti . extensions . clear Focus And Hide Keyboard Ċ import Ġuk . white cre sc ent . wa q ti . extensions . do In Background Ċ import Ġuk . white cre sc ent . wa q ti . extensions . do In Background Delayed Ċ import Ġuk . white cre sc ent . wa q ti . extensions . get ViewModel Ċ import Ġuk . white cre sc ent . wa q ti . extensions . global Visible Rect Ċ import Ġuk . white cre sc ent . wa q ti . extensions . invoke Ċ import Ġuk . white cre sc ent . wa q ti . extensions . log Ċ import Ġuk . white cre sc ent . wa q ti . extensions . on Touch Outside Ċ import Ġuk . white cre sc ent . wa q ti . extensions . root ViewGroup Ċ import Ġuk . white cre sc ent . wa q ti . frontend . appearance . Color Scheme Ċ import Ġuk . white cre sc ent . wa q ti . frontend . appearance . W aq ti Color Ċ import Ġuk . white cre sc ent . wa q ti . frontend . custom view . AppBar Ċ import Ġuk . white cre sc ent . wa q ti . frontend . custom view . recycler views . Board Adapter Ċ import Ġuk . white cre sc ent . wa q ti . frontend . custom view . recycler views . Board ListView Ċ import Ġuk . white cre sc ent . wa q ti . frontend . fragments . other . About Fragment Ċ import Ġuk . white cre sc ent . wa q ti . frontend . fragments . other . Settings Fragment Ċ import Ġuk . white cre sc ent . wa q ti . frontend . fragments . view . View Board List Fragment Ċ import Ġkotlin . math . round ToInt Ċ Ċ const Ġval ĠD RAW ER _ DELAY _ M ILL IS Ġ= Ġ 2 5 0 L Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar ĠviewModel : ĠMainActivity ViewModel ĊĠĠĠ Ġlateinit Ġvar Ġpreferences : ĠW aq ti Preferences ĊĠĠĠ Ġval Ġtouch Point Ġ= ĠPoint F () ĊĠĠĠ Ġval Ġon Touch Out Side Listeners Ġ= ĠHashMap < View , Ġ( View ) Ġ-> ĠUnit >() ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġpreferences Ġ= ĠW aq ti Preferences ( this ) ĊĠĠĠĠĠĠĠ Ġset Theme ( preferences . app Theme ) ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . blank _ activity ) ĊĊĠĠĠĠĠĠĠ ĠviewModel Ġ= Ġget ViewModel () ĊĊĠĠĠĠĠĠĠ ĠsetUp Views () ĊĊĠĠĠĠĠĠĠ Ġif Ġ( Build Config . DEBUG Ġ&& ĠDatabase . boards . isEmpty ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog (" Database Ġis Ġempty Ġin ĠDebug Ġmode ! ĠSeed ing ĠDatabase !! !") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCache s . seed ( boards Ġ= Ġ 2 0 , Ġlists Ġ= Ġ 2 0 , Ġtasks Ġ= Ġ 1 0 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġinline Ġfun ĠsetUp Views () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġif Ġ( support FragmentManager . fragments . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠView Board List Fragment . show ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnavigation View ?. setChecked Item ( R . id . all Board s _ nav Drawer Item ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġadd On Back Pressed Callback Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( drawer Layout . is Drawer Open ( Gravity Compat . START ) Ġ|| ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrawer Layout . is Drawer Open ( Gravity Compat . END )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrawer Layout . close Draw ers () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ add On Back Pressed Callback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( support FragmentManager . back Stack Entry Count Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Fragment Navigation ( from Ġ= ĠANY _ FRAGMENT , Ġto Ġ= ĠPRE V IOUS _ FRAGMENT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsupport FragmentManager . pop Back Stack () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġthis @ MainActivity . support Finish After Transition () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠTODO : Ġ 2 0 - Nov - 1 9 ĠBelow Ġis Ġgetting Ġtoo Ġmess y ! ĠWe Ġshould Ġmake Ġan ĊĠĠĠĠĠĠĠ Ġ// Ġ Ġon Fragment Changed Listener Ġof Ġsome Ġsort Ġto Ġfix Ġthis ĊĊĠĠĠĠĠĠĠ Ġdrawer Layout Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Drawer Lock Mode ( Drawer Layout . LOCK _ MODE _ LOCK ED _ CLOSED , ĠGr avity Compat . END ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Drawer Lock Mode ( Drawer Layout . LOCK _ MODE _ LOCK ED _ CLOSED , ĠGr avity Compat . START ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuse Custom Behavior ( Gravity Compat . END ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset View S cri m Color ( Gravity Compat . END , ĠColor . TRANSP ARENT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset View Elevation ( Gravity Compat . END , Ġ 0 F ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Drawer Listener ( object Ġ: ĠDraw er Layout . Simple Drawer Listener () Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval ĠDEFAULT _ SCR IM _ COLOR Ġ= Ġ- 0 x 6 7 0 0 0 0 0 0 ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġvar Ġcurrent Color : ĠInt Ġ= ĠDEFAULT _ SCR IM _ COLOR ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset S cri m Color ( value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Drawer Opened ( drawer View : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Drawer Open ( Gravity Compat . END )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Drawer Lock Mode ( Drawer Layout . LOCK _ MODE _ UNLOCK ED , ĠGr avity Compat . END ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Drawer Open ( Gravity Compat . START )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Drawer Lock Mode ( Drawer Layout . LOCK _ MODE _ UNLOCK ED , ĠGr avity Compat . START ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Drawer Closed ( drawer View : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! is Drawer Open ( Gravity Compat . END )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Color Ġ= ĠDEFAULT _ SCR IM _ COLOR ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Drawer Lock Mode ( Drawer Layout . LOCK _ MODE _ LOCK ED _ CLOSED , ĠGr avity Compat . END ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! is Drawer Open ( Gravity Compat . START )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Drawer Lock Mode ( Drawer Layout . LOCK _ MODE _ LOCK ED _ CLOSED , ĠGr avity Compat . START ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Drawer Slide ( drawer View : ĠView , Ġslide Offset : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Drawer Visible ( Gravity Compat . END ) Ġ&& Ġcurrent Color Ġ!= ĠColor . TRANSP ARENT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Color Ġ= ĠColor . TRANSP ARENT ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġnavigation View Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Navigation ItemSelected Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdrawer Layout . close Draw ers () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( it . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . all Board s _ nav Drawer Item Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdo In Background Delayed ( DRAW ER _ DELAY _ M ILL IS ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpop All Fragments In Back Stack () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . settings _ nav Drawer Item Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdo In Background Delayed ( DRAW ER _ DELAY _ M ILL IS ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( current Fragment . tag Ġ!= ĠSET T INGS _ FRAGMENT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSettings Fragment . show ( this @ MainActivity ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . about _ nav Drawer Item Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdo In Background Delayed ( DRAW ER _ DELAY _ M ILL IS ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( current Fragment . tag Ġ!= ĠA BO UT _ FRAGMENT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAbout Fragment . show ( this @ MainActivity ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġsupport FragmentManager . add On Back Stack Changed Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( current Fragment . tag ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSET T INGS _ FRAGMENT Ġ-> Ġnavigation View . setChecked Item ( R . id . settings _ nav Drawer Item ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠA BO UT _ FRAGMENT Ġ-> Ġnavigation View . setChecked Item ( R . id . about _ nav Drawer Item ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġnavigation View . setChecked Item ( R . id . all Board s _ nav Drawer Item ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġapp Bar . edit TextView . on Touch Outside Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . clear Focus And Hide Keyboard () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdispatch Touch Event ( event : ĠMotion Event ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġspr Ġ= Ġsuper . dispatch Touch Event ( event ) ĊĠĠĠĠĠĠĠ Ġtouch Point . set ( event . raw X , Ġevent . raw Y ) ĊĠĠĠĠĠĠĠ Ġif Ġ( event . action Ġ== ĠMotion Event . ACTION _ DOWN ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Touch Out Side Listeners . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġ( view , ĠonClick ) Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( view . isVisible ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! view . global Visible Rect . contains ( event . raw X . I , Ġevent . raw Y . I )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick ( view ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġspr ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Color Scheme ( color Scheme : ĠColor Scheme ) Ġ{ ĊĠĠĠĠĠĠĠ Ġapp Bar . setColor Scheme ( color Scheme ) ĊĠĠĠĠĠĠĠ Ġwindow . status Bar Color Ġ= Ġcolor Scheme . dark . to Android Color ĊĠĠĠĠĠĠĠ Ġif Ġ( preferences . change NavBar Color ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwindow . navigation Bar Color Ġ= Ġcolor Scheme . main . to Android Color ĊĠĠĠĠĠĠĠ Ġelse Ġwindow . navigation Bar Color Ġ= ĠW aq ti Color . BLACK . to Android Color ĊĊĠĠĠĠĠĠĠ Ġ( navigation View . getHeader View ( 0 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset BackgroundColor ( color Scheme . main . to Android Color ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnavigation _ header _ title ?. textColor Ġ= Ġcolor Scheme . text . to Android Color ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Theme ( app Theme : ĠApp Theme ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( app Theme ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApp Theme . LIGHT Ġ-> Ġset Theme ( R . style . App Theme _ Light ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApp Theme . DARK Ġ-> Ġset Theme ( R . style . App Theme _ Dark ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApp Theme . BLACK Ġ-> Ġset Theme ( R . style . App Theme _ Black ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġneeds Re create Ġ= Ġapp Theme Ġ!= Ġpreferences . app Theme ĊĠĠĠĠĠĠĠ Ġpreferences . app Theme Ġ= Ġapp Theme ĊĠĠĠĠĠĠĠ Ġif Ġ( needs Re create ) Ġrecreate () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinline Ġfun Ġreset Color Scheme () Ġ{ ĊĠĠĠĠĠĠĠ Ġset Color Scheme ( Color Scheme . WA Q TI _ DEFAULT ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinline Ġfun Ġpop All Fragments In Back Stack () Ġ{ ĊĠĠĠĠĠĠĠ Ġsupport FragmentManager . do In Background Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( back Stack Entry Count Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Fragment Navigation ( from Ġ= ĠANY _ FRAGMENT , Ġto Ġ= ĠVIEW _ BOARD _ LIST _ FRAGMENT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpop Back Stack Immediate () Ġ// ĠTODO : Ġ 0 9 - Jul - 1 9 ĠLook Ġinto Ġchanging Ġthis Ġto Ġsomething Ġmore Ġefficient ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinline Ġfun Ġfind View Under ( point F : ĠPoint F ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġdrawer Layout . root ViewGroup ?. all Children ?. forEach Re versed ByIndex Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . global Visible Rect . contains ( point F . x . round ToInt (), Ġpoint F . y . round ToInt ())) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinline Ġfun Ġbottom Horizontal Rect ( y : ĠFloat ) Ġ= ĠRect F ( 0 F , Ġy , Ġreal Screen Width . F , Ġreal Screen Height . F ) ĊĊĠĠĠ Ġinline Ġfun Ġtop Horizontal Rect ( y : ĠFloat ) Ġ= ĠRect F ( 0 F , Ġ 0 F , Ġreal Screen Width . F , Ġy ) ĊĊĠĠĠ Ġinline Ġfun Ġleft Vertical Rect ( x : ĠFloat ) Ġ= ĠRect F ( 0 F , Ġ 0 F , Ġx , Ġreal Screen Height . F ) ĊĊĠĠĠ Ġinline Ġfun Ġright Vertical Rect ( x : ĠFloat ) Ġ= ĠRect F ( x , Ġ 0 F , Ġreal Screen Width . F , Ġreal Screen Height . F ) ĊĊĠĠĠ Ġinline Ġval Ġapp Bar : ĠApp Bar ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġactivity _ app Bar ĊĊĠĠĠ Ġinline Ġval Ġusable Screen Width : ĠInt Ġget () Ġ= Ġdisplay Metrics . width Pixels ĊĊĠĠĠ Ġinline Ġval Ġusable Screen Height : ĠInt Ġget () Ġ= Ġdisplay Metrics . height Pixels ĊĊĠĠĠ Ġinline Ġval Ġreal Screen Width : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠPoint (). also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwindow Manager . default Display . get Real Size ( it ) ĊĠĠĠĠĠĠĠ Ġ}. x ĊĊĠĠĠ Ġinline Ġval Ġreal Screen Height : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠPoint (). also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwindow Manager . default Display . get Real Size ( it ) ĊĠĠĠĠĠĠĠ Ġ}. y ĊĊĠĠĠ Ġinline Ġval Ġmillis Per Frame : ĠFloat Ġget () Ġ= Ġ 1 0 0 0 F Ġ/ Ġwindow Manager . default Display . refresh Rate ĊĊĠĠĠ Ġinline Ġval Ġcurrent Fragment : ĠFragment ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġsupport FragmentManager . fragments . last () ĊĊĠĠĠ Ġinline Ġval Ġis Dark Theme : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġpreferences . app Theme Ġ== ĠApp Theme . DARK Ġ|| Ġpreferences . app Theme Ġ== ĠApp Theme . BLACK ĊĊĠĠĠ Ġinline Ġval Ġis Night Mode ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ( configuration . ui Mode Ġand ĠConfiguration . UI _ MODE _ N IGHT _ MASK ) Ġ== ĠConfiguration . UI _ MODE _ N IGHT _ YES ĊĊĠĠĠ Ġinline Ġval Ġanim ator Duration Scale : ĠFloat ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠSettings . Global . get Float ( content Resolver , ĠSettings . Global . ANIM ATOR _ DURATION _ SCALE , Ġ 1 . 0 F ) Ċ Ċ } Ċ Ċ class ĠMainActivity ViewModel Ġ: ĠViewModel () Ġ{ ĊĊĠĠĠ Ġvar Ġboard ID : ĠID Ġ= Ġ 0 L ĊĠĠĠ Ġvar Ġlist ID : ĠID Ġ= Ġ 0 L ĊĠĠĠ Ġvar Ġtask ID : ĠID Ġ= Ġ 0 L ĊĠĠĠ Ġvar Ġboard List State : ĠRecyclerView . Saved State ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġon Inf late Board ListView : Ġ( Board ListView ) Ġ-> ĠUnit Ġ= Ġ{ Ġ} ĊĊĠĠĠ Ġ// ĠTODO : Ġ 2 7 - Jun - 1 9 ĠWe Ġneed Ġto Ġget Ġrid Ġof Ġthis Ġgu y Ġsome time ĊĠĠĠ Ġvar Ġboard Position Ġ= ĠChanged Position Pair () ĊĠĠĠ Ġvar Ġboard Adapter : ĠBoard Adapter ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġsettings Changed Ġ= Ġfalse Ċ Ċ } Ċ