/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 1 . ĠAd vent ech Ġ< info @ ad vent ech . io > Ċ Ġ* Ċ Ġ* ĠPermission Ġis Ġhereby Ġgranted , Ġfree Ġof Ġcharge , Ġto Ġany Ġperson Ġobtaining Ġa Ġcopy Ċ Ġ* Ġof Ġthis Ġsoftware Ġand Ġassociated Ġdocumentation Ġfiles Ġ( the Ġ" Software "), Ġto Ġdeal Ċ Ġ* Ġin Ġthe ĠSoftware Ġwithout Ġrestriction , Ġincluding Ġwithout Ġlimitation Ġthe Ġrights Ċ Ġ* Ġto Ġuse , Ġcopy , Ġmodify , Ġmerge , Ġpublish , Ġdistribute , Ġsublicense , Ġand / or Ġsell Ċ Ġ* Ġcopies Ġof Ġthe ĠSoftware , Ġand Ġto Ġpermit Ġpersons Ġto Ġwhom Ġthe ĠSoftware Ġis Ċ Ġ* Ġfurnished Ġto Ġdo Ġso , Ġsubject Ġto Ġthe Ġfollowing Ġconditions : Ċ Ġ* Ċ Ġ* ĠThe Ġabove Ġcopyright Ġnotice Ġand Ġthis Ġpermission Ġnotice Ġshall Ġbe Ġincluded Ġin Ċ Ġ* Ġall Ġcopies Ġor Ġsubstantial Ġportions Ġof Ġthe ĠSoftware . Ċ Ġ* Ċ Ġ* ĠTHE ĠSOFTWARE ĠIS ĠPROVIDED Ġ" AS ĠIS ", ĠWITHOUT ĠWARRANTY ĠOF ĠANY ĠKIND , ĠEXPRESS ĠOR Ċ Ġ* ĠIMPLIED , ĠINCLUDING ĠBUT ĠNOT ĠLIMITED ĠTO ĠTHE ĠWARRANTIES ĠOF ĠMERCHANTABILITY , Ċ Ġ* ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠAND ĠNONINFRINGEMENT . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE Ċ Ġ* ĠAUTHORS ĠOR ĠCOPYRIGHT ĠHOLDERS ĠBE ĠLIABLE ĠFOR ĠANY ĠCLAIM , ĠDAMAGES ĠOR ĠOTHER Ċ Ġ* ĠLIABILITY , ĠWHETHER ĠIN ĠAN ĠACTION ĠOF ĠCONTRACT , ĠTORT ĠOR ĠOTHERWISE , ĠARISING ĠFROM , Ċ Ġ* ĠOUT ĠOF ĠOR ĠIN ĠCONNECTION ĠWITH ĠTHE ĠSOFTWARE ĠOR ĠTHE ĠUSE ĠOR ĠOTHER ĠDEALINGS ĠIN Ċ Ġ* ĠTHE ĠSOFTWARE . Ċ Ġ*/ Ċ Ċ package Ġcom . cry art . s abb ath school . lessons . ui . quarter lies . list Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . MenuItem Ċ import Ġandroidx . activity . view Models Ċ import Ġandroidx . core . view . isVisible Ċ import Ġapp . ss . lessons . data . model . Qu arter ly Group Ċ import Ġcom . cry art . s abb ath school . core . extensions . coroutines . flow . collect In Ċ import Ġcom . cry art . s abb ath school . core . extensions . view . view Binding Ċ import Ġcom . cry art . s abb ath school . core . misc . SS Constants Ċ import Ġcom . cry art . s abb ath school . core . model . Status Ċ import Ġcom . cry art . s abb ath school . core . ui . Sl iding Activity Ċ import Ġcom . cry art . s abb ath school . lessons . databinding . Ss Activity Qu arter lies Binding Ċ import Ġcom . cry art . s abb ath school . lessons . ui . lessons . SSL ess ons Activity Ċ import Ġcom . cry art . s abb ath school . lessons . ui . quarter lies . Qu arter lies ViewModel Ċ import Ġcom . cry art . s abb ath school . lessons . ui . quarter lies . components . Group ed Qu arter lies Ċ import Ġcom . cry art . s abb ath school . lessons . ui . quarter lies . components . Qu arter lies App bar Component Ċ import Ġcom . cry art . s abb ath school . lessons . ui . quarter lies . components . Qu arter ly List Callbacks Ċ import Ġcom . cry art . s abb ath school . lessons . ui . quarter lies . components . Qu arter ly List Component Ċ import Ġdagger . h ilt . android . Android EntryPoint Ċ import Ġkotlinx . coroutines . flow . map Ċ Ċ @ Android EntryPoint Ċ class ĠQu arter lies List Activity Ġ: ĠSl iding Activity (), ĠQu arter ly List Callbacks Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠviewModel Ġby Ġview Models < Qu arter lies ViewModel >() ĊĊĠĠĠ Ġprivate Ġval Ġbinding Ġby Ġview Binding ( Ss Activity Qu arter lies Binding :: inflate ) ĊĊĠĠĠ Ġprivate Ġval Ġapp bar Component : ĠQu arter lies App bar Component Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠQu arter lies App bar Component ( this , Ġbinding . app Bar ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( binding . root ) ĊĊĠĠĠĠĠĠĠ Ġcollect Data () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcollect Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstate Flow Ġ= ĠviewModel . quarter lies Flow . map Ġ{ Ġit . status Ġ} ĊĠĠĠĠĠĠĠ Ġstate Flow . collect In ( this ) Ġ{ Ġstatus Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġss Qu arter lies Error State . isVisible Ġ= Ġstatus Ġ== ĠStatus . ERROR ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġapp bar Component . collect ( viewModel . group Title Flow ) ĊĊĠĠĠĠĠĠĠ ĠQu arter ly List Component ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding Ġ= Ġbinding . ss Qu arter lies List , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Flow Ġ= ĠviewModel . quarter lies Flow . map Ġ{ Ġit . data Ġ?: ĠGroup ed Qu arter lies . Empty Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcallbacks Ġ= Ġthis ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġandroid . R . id . home Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish After Transition () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Read Click ( index : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġless ons Intent Ġ= ĠSSL ess ons Activity . launch Intent ( this , Ġindex ) ĊĠĠĠĠĠĠĠ ĠstartActivity ( lessons Intent ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon See All Click ( group : ĠQu arter ly Group ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠNo Ġop ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġlaunch Intent ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext : ĠContext , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgroup : ĠQu arter ly Group ĊĠĠĠĠĠĠĠ Ġ): ĠIntent Ġ= ĠIntent ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , ĠQu arter lies List Activity :: class . java ĊĠĠĠĠĠĠĠ Ġ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( SS Constants . SS _ QU AR TER LY _ GROUP , Ġgroup ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ