package Ġk orea . se oul . pick ple . ui . navigation Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġk orea . se oul . pick ple . common . util . Linear Item Decoration Ċ import Ġk orea . se oul . pick ple . common . widget . observe Once Ċ import Ġk orea . se oul . pick ple . data . entity . Course Ċ import Ġk orea . se oul . pick ple . databinding . Activity Navigation Binding Ċ import Ġk orea . se oul . pick ple . ui . Navigation Args Ċ import Ġk orea . se oul . pick ple . ui . navigate Ċ import Ġk orea . se oul . pick ple . ui . navigation . pick place . Navigation Pick Place Activity Ċ import Ġk orea . se oul . pick ple . ui . navigation . review . Navigation Review Activity Ċ import Ġk orea . se oul . pick ple . ui . setting . Setting Activity Ċ import Ġorg . k oin . android x . view model . ext . android . viewModel Ċ Ċ class ĠNavigation Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Binding Ġ: ĠActivity Navigation Binding ĊĊĠĠĠ Ġprivate Ġval Ġm ViewModel Ġ: ĠNavigation ViewModel Ġby ĠviewModel () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġm Binding Ġ= ĠActivity Navigation Binding . inflate ( LayoutInflater . from ( this )) ĊĠĠĠĠĠĠĠ ĠsetContentView ( m Binding . root ) ĊĊĠĠĠĠĠĠĠ Ġm Binding . lifecycle Owner Ġ= Ġthis ĊĠĠĠĠĠĠĠ Ġm Binding . vm Ġ= Ġm ViewModel ĊĊĠĠĠĠĠĠĠ Ġinit Views () ĊĠĠĠĠĠĠĠ Ġinit Recycler Views () ĊĠĠĠĠĠĠĠ Ġobserve ViewModel () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Views () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Binding . act Nav I btn Close . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Back Pressed () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġm Binding . act Nav Relative I btn Setting . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIntent ( this @ Navigation Activity , Setting Activity :: class . java ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġm Binding . image view 8 . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIntent ( this @ Navigation Activity , Navigation Review Activity :: class . java ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġm Binding . image view 4 . setOnClickListener Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġnavigate ( this , Navigation Args . Navigation Course Arg ( Course . Type . CUSTOM )) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġm Binding . image view 6 . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIntent ( this @ Navigation Activity , Navigation Pick Place Activity :: class . java ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Recycler Views () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Binding . re cyclerView Se oul News . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Ġ= ĠSe oul News Adapter ( m ViewModel ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Item Decoration ( Linear Item Decoration ( this @ Navigation Activity , 1 6 )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġm Binding . re cyclerView My Course . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Ġ= ĠNavigation Course Adapter ( m ViewModel ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Item Decoration ( Linear Item Decoration ( this @ Navigation Activity , 1 6 )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġm Binding . re cyclerView Pick Place . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Ġ= ĠNavigation Pick Place Adapter ( m ViewModel ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Item Decoration ( Linear Item Decoration ( this @ Navigation Activity , 1 6 )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġm Binding . re cyclerView Review . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Ġ= ĠNavigation Review Adapter ( m ViewModel ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Item Decoration ( Linear Item Decoration ( this @ Navigation Activity , 1 6 )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġobserve ViewModel () Ġ{ ĊĠĠĠĠĠĠĠ Ġm ViewModel . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclick Se oul News . observe Once ( this @ Navigation Activity ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIntent ( Intent . ACTION _ VIEW ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsetData ( Uri . parse ( it . o R GL INK )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclick Course . observe Once ( this @ Navigation Activity ) Ġ{ course -> ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnavigate ( this @ Navigation Activity , Navigation Args . Course Intro Arg ( course . course Idx )) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclick Place . observe Once ( this @ Navigation Activity ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclick Review . observe Once ( this @ Navigation Activity ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }