/* Ċ Ġ* ĠCopyright Ġ 2 0 1 8 ĠGoogle ĠLLC Ċ Ġ* Ċ Ġ* Ġ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 Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttps :// 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 . s ree . one app . ui . info Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . View . GONE Ċ import Ġandroid . view . View . VISIBLE Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . databinding . Binding Adapter Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġcom . s ree . one app . R Ċ import Ġcom . s ree . one app . databinding . Fragment Info Event Binding Ċ import Ġcom . s ree . one app . shared . util . Time Utils Ċ import Ġcom . s ree . one app . shared . util . viewModel Provider Ċ import Ġcom . s ree . one app . ui . messages . Snackbar Message Manager Ċ import Ġcom . s ree . one app . ui . setUp Snackbar Ċ import Ġcom . s ree . one app . widget . F ading Snackbar Ċ import Ġdagger . android . support . D agger Fragment Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠEvent Fragment Ġ: ĠD agger Fragment () Ġ{ ĊĠĠĠ Ġ@ Inject Ġlateinit Ġvar ĠviewModel Factory : ĠViewModel Provider . Factory ĊĠĠĠ Ġ@ Inject Ġlateinit Ġvar Ġsn ackbar Message Manager : ĠSn ackbar Message Manager ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġevent Info ViewModel : ĠEvent Info ViewModel ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġcontext Ġ?: Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġevent Info ViewModel Ġ= ĠviewModel Provider ( viewModel Factory ) ĊĊĠĠĠĠĠĠĠ Ġval Ġbinding Ġ= ĠFragment Info Event Binding . inflate ( in flater , Ġcontainer , Ġfalse ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel Ġ= Ġevent Info ViewModel ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Lifecycle Owner ( this @ Event Fragment ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġsn ackbar Layout Ġ= Ġrequire Activity (). findViewById < F ading Snackbar >( R . id . sn ackbar ) ĊĠĠĠĠĠĠĠ ĠsetUp Snackbar ( event Info ViewModel . sn ackBar Message , Ġsn ackbar Layout , Ġsn ackbar Message Manager ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠTODO : Ġlaunch Ġfiltered Ġschedule ĊĠĠĠĠĠĠĠ Ġ// ĠTODO : Ġlaunch Ġmap ĊĠĠĠĠĠĠĠ Ġ// ĠTODO : Ġlaunch Ġc odel abs ĊĠĠĠĠĠĠĠ Ġbinding . event Sandbox . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon View Sessions Clicked Ġ= Ġ{ Ġ_, Ġ_ Ġ-> ĠUnit Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon View Map Clicked Ġ= Ġ{ Ġ_, Ġ_ Ġ-> ĠUnit Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon View C odel abs Clicked Ġ= Ġ{ Ġ_, Ġ_ Ġ-> ĠUnit Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbinding . event C odel abs . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon View Sessions Clicked Ġ= Ġ{ Ġ_, Ġ_ Ġ-> ĠUnit Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon View Map Clicked Ġ= Ġ{ Ġ_, Ġ_ Ġ-> ĠUnit Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon View C odel abs Clicked Ġ= Ġ{ Ġ_, Ġ_ Ġ-> ĠUnit Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbinding . event Office hours . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon View Sessions Clicked Ġ= Ġ{ Ġ_, Ġ_ Ġ-> ĠUnit Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon View Map Clicked Ġ= Ġ{ Ġ_, Ġ_ Ġ-> ĠUnit Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon View C odel abs Clicked Ġ= Ġ{ Ġ_, Ġ_ Ġ-> ĠUnit Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbinding . event After hours . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon View Sessions Clicked Ġ= Ġ{ Ġ_, Ġ_ Ġ-> ĠUnit Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon View Map Clicked Ġ= Ġ{ Ġ_, Ġ_ Ġ-> ĠUnit Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon View C odel abs Clicked Ġ= Ġ{ Ġ_, Ġ_ Ġ-> ĠUnit Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġbinding . root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Created ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Created ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġevent Info ViewModel . open Url Event . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġurl Ġ= Ġit ?. getContent IfNot Handled () Ġ?: Ġreturn @ Observer ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( Intent . ACTION _ VIEW , ĠUri . parse ( url ))) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Binding Adapter (" countdown Visibility ") Ċ fun Ġcount down Visibility ( countdown : ĠView , Ġignored : ĠBoolean ?) Ġ{ ĊĠĠĠ Ġcount down . visibility Ġ= Ġif Ġ( Time Utils . conference Has Started ()) ĠG ONE Ġelse ĠVIS IBLE Ċ } Ċ