package Ġde . ht w dd . ht wd res den . ui . views . fragments Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . navigation . fragment . find Nav Controller Ċ import Ġde . ht w dd . ht wd res den . R Ċ import Ġde . ht w dd . ht wd res den . adapter . Overview Item Adapter Ċ import Ġde . ht w dd . ht wd res den . adapter . Over views Ċ import Ġde . ht w dd . ht wd res den . ui . models .* Ċ import Ġde . ht w dd . ht wd res den . ui . view models . fragments . Overview ViewModel Ċ import Ġde . ht w dd . ht wd res den . utils . extensions .* Ċ import Ġkotlinx . android . synt hetic . main . fragment _ overview .* Ċ import Ġkotlin . properties . Deleg ates Ċ Ċ class ĠOverview Fragment : ĠFragment ( R . layout . fragment _ overview ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠviewModel Ġby Ġlazy Ġ{ Ġget ViewModel < Overview ViewModel >() Ġ} ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġadapter : ĠOverview Item Adapter ĊĠĠĠ Ġprivate Ġval Ġitems : ĠOver views Ġ= ĠArrayList () ĊĠĠĠ Ġprivate Ġvar Ġis Refresh ing : ĠBoolean Ġby ĠDeleg ates . observable ( true ) Ġ{ Ġ_, Ġ_, Ġnew Ġ-> ĊĠĠĠĠĠĠĠ Ġweak Ġ{ Ġself Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġswipe Refresh Layout ?. let Ġ{ Ġself . swipe Refresh Layout . is Refresh ing Ġ= Ġnew Ġ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġsetup () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsetup () Ġ{ ĊĠĠĠĠĠĠĠ Ġswipe Refresh Layout . setOn Refresh Listener Ġ{ Ġrequest () Ġ} ĊĠĠĠĠĠĠĠ Ġadapter Ġ= ĠOverview Item Adapter ( items ) ĊĠĠĠĠĠĠĠ Ġoverview Recycler . adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠ Ġadapter . on Item Click Ġ{ Ġitem Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( item ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠOverview Mens a Item ĠĠĠĠĠĠĠ Ġ-> Ġfind Nav Controller (). navigate ( R . id . action _ can teen _ page _ fragment _ to _ me als _ pager _ page _ fragment ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠOverview Study Group Item ĠĠ Ġ-> Ġfind Nav Controller (). navigate ( R . id . action _ to _ study _ group _ page _ fragment ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠOverview Free Day Item , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠOverview Schedule Item ĠĠĠĠ Ġ-> Ġfind Nav Controller (). navigate ( R . id . timetable _ page _ fragment ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠOverview Login Item ĠĠĠĠĠĠĠ Ġ-> Ġfind Nav Controller (). navigate ( R . id . action _ to _ login _ page _ fragment ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠOverview Grade Item ĠĠĠĠĠĠĠ Ġ-> Ġfind Nav Controller (). navigate ( R . id . grade s _ page _ fragment ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġrequest () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġrequest () Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. request () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. run In Ui Thread () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. do On Subscribe Ġ{ Ġis Refresh ing Ġ= Ġtrue Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. do On Dispose Ġ{ Ġis Refresh ing Ġ= Ġfalse Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. do On Terminate Ġ{ Ġis Refresh ing Ġ= Ġfalse Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. do On Complete Ġ{ Ġis Refresh ing Ġ= Ġfalse Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ({ Ġover views Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġweak Ġ{ Ġself Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġself . adapter . update ( over views ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerror ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. addTo ( dispose Bag ) ĊĠĠĠ Ġ} Ċ }