package Ġcom . pen n apps . labs . pen n mobile Ċ Ċ import Ġandroid . content . Broadcast Receiver Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . content . Intent Filter Ċ import Ġandroid . content . res . Configuration Ċ import Ġandroid . content . res . Resources Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . os . Build Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . preference . Preference Manager Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . local broadcast manager . content . Local Broadcast Manager Ċ import Ġandroidx . recyclerview . widget . Divider Item Decoration Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġcom . google . firebase . analytics . Firebase Analytics Ċ import Ġcom . pen n apps . labs . pen n mobile . adapters . G sr Reser v ations Adapter Ċ import Ġkotlinx . android . synt hetic . main . fragment _ gs r _ re servations .* Ċ import Ġkotlinx . android . synt hetic . main . fragment _ gs r _ re servations . view .* Ċ import Ġkotlinx . android . synt hetic . main . loading _ panel .* Ċ Ċ class ĠG sr Reser v ations Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Activity : ĠMainActivity ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġm Activity Ġ= Ġactivity Ġas ĠMainActivity ĊĊĠĠĠĠĠĠĠ ĠLocal Broadcast Manager . getInstance ( m Activity ). register Receiver ( broadcast Receiver , ĠIntent Filter (" refresh ")) ĊĊĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= ĠBundle () ĊĠĠĠĠĠĠĠ Ġbundle . putString ( Firebase Analytics . Param . ITEM _ ID , Ġ" 1 0 ") ĊĠĠĠĠĠĠĠ Ġbundle . putString ( Firebase Analytics . Param . ITEM _ NAME , Ġ" G sr Reser v ations ") ĊĠĠĠĠĠĠĠ Ġbundle . putString ( Firebase Analytics . Param . ITEM _ CATEGORY , Ġ" App ĠFeature ") ĊĠĠĠĠĠĠĠ ĠFirebase Analytics . getInstance ( m Activity ). log Event ( Firebase Analytics . Event . VIEW _ ITEM , Ġbundle ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġinflater . inflate ( R . layout . fragment _ gs r _ re servations , Ġcontainer , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġview . gs r _ re servations _ rv . layout Manager Ġ= ĠLinearLayoutManager ( context , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLinearLayoutManager . VERTICAL , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġview . gs r _ re servations _ refresh _ layout . setColor Scheme Resources ( R . color . color _ accent , ĠR . color . color _ primary ) ĊĠĠĠĠĠĠĠ Ġview . gs r _ re servations _ refresh _ layout . setOn Refresh Listener Ġ{ Ġget Reser v ations () Ġ} ĊĊĠĠĠĠĠĠĠ Ġget Reser v ations () ĊĊĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Reser v ations () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ// Ġget Ġemail Ġand Ġsession Ġid Ġfrom Ġshared Ġpreferences ĊĠĠĠĠĠĠĠ Ġval Ġsp Ġ= ĠPreference Manager . getDefault SharedPreferences ( m Activity ) ĊĠĠĠĠĠĠĠ Ġval Ġsession ID Ġ= Ġsp . getString ( getString ( R . string . h unt s man G SR _ Session ID ), Ġ"") ĊĠĠĠĠĠĠĠ Ġval Ġemail Ġ= Ġsp . getString ( getString ( R . string . email _ address ), Ġ"") ĊĊĠĠĠĠĠĠĠ Ġval Ġl abs Ġ= ĠMainActivity . labs Instance ĊĠĠĠĠĠĠĠ Ġl abs . get G sr Reser v ations ( email , Ġsession ID ). subscribe ({ Ġre servations Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Activity . run On Ui Thread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġg sr _ re servations _ rv ?. adapter Ġ= ĠG sr Reser v ations Adapter ( ArrayList ( re servations )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġloading Panel ?. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( re servations . size Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġg sr _ no _ re servations ?. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġg sr _ no _ re servations ?. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġstop Ġrefresh ing ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġg sr _ re servations _ refresh _ layout ?. is Refresh ing Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}, Ġ{ Ġthrowable Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Activity . run On Ui Thread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrowable . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġloading Panel ?. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġg sr _ no _ re servations ?. visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġg sr _ re servations _ refresh _ layout ?. is Refresh ing Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġbroadcast Receiver Ġ= Ġobject : ĠBroadcast Receiver () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Receive ( context : ĠContext ?, Ġintent : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Reser v ations () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }