/* Ċ Ġ* ĠCopyright Ġ 2 0 1 9 , ĠThe ĠAndroid ĠOpen ĠSource ĠProject Ċ Ġ* Ċ Ġ* Ġ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 . d log an . android . tv ma ze . ui Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . lifecycle . ViewModel Providers Ċ import Ġandroidx . paging . Paged List Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . d log an . android . tv ma ze . R Ċ import Ġcom . d log an . android . tv ma ze . data . ep g . Scheduled Show Ċ import Ġcom . d log an . android . tv ma ze . ui . view models . On Now Shows ViewModel Ċ import Ġkotlinx . android . synt hetic . main . fragment _ on now . view .* ĊĊ Ċ class ĠOn Now Fragment Ġ: ĠShows Fragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠviewModel Ġby Ġlazy ( Lazy Thread Safety Mode . NONE ) Ġ{ ĊĠĠĠĠĠĠĠ ĠViewModel Providers . of ( this ). get ( On Now Shows ViewModel :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġinflater . inflate ( R . layout . fragment _ on now , Ġcontainer , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠCreate Ġadapter Ġfor Ġthe ĠRecyclerView ĊĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= ĠShow Adapter () ĊĠĠĠĠĠĠĠ Ġview . findViewById < RecyclerView >( R . id . show _ list ). adapter Ġ= Ġadapter ĊĊĠĠĠĠĠĠĠ Ġ// ĠSubscribe Ġthe Ġadapter Ġto Ġthe ĠViewModel , Ġso Ġthe Ġitems Ġin Ġthe Ġadapter Ġare Ġref reshed ĊĠĠĠĠĠĠĠ Ġ// Ġwhen Ġthe Ġall _ shows Ġchanges ĊĠĠĠĠĠĠĠ Ġsubscribe Ui ( adapter ) ĊĊĠĠĠĠĠĠĠ Ġview . swipe _ container . setOn Refresh Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . refresh () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġrefresh () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġrefresh () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ensure Ġwe Ġonly Ġshow Ġthe Ġcurrent Ġshows Ġwhen Ġthe Ġuser Ġreturns Ġto Ġthis Ġfragment ĊĠĠĠĠĠĠĠ ĠviewModel . refresh () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsubscribe Ui ( adapter : ĠShow Adapter ) Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel . current Shows . observe ( view Lifecycle Owner , ĠObserver Ġ{ Ġshows Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstop Refresh Display () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( shows Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . submit List ( shows ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdisplay No Shows Available IfNeeded ( shows ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdisplay No Shows Available IfNeeded ( shows : ĠP aged List < Scheduled Show > ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( shows Ġ== Ġnull Ġ|| Ġshows . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this . context , ĠgetString ( R . string . text _ no _ on now _ shows _ msg ), ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊ Ċ } Ċ