package Ġcom . example . grad uation project kotlin . ui . courses . created Ċ Ċ import Ġandroid . content . Broadcast Receiver Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . content . Intent Filter Ċ import Ġandroidx . lifecycle . ViewModel Providers Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Array Adapter Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġcom . example . grad uation project kotlin . Grad uation Project Kotlin Application Ċ Ċ import Ġcom . example . grad uation project kotlin . R Ċ import Ġcom . example . grad uation project kotlin . logic . Repository Ċ import Ġcom . example . grad uation project kotlin . ui . search . Course Adapter Ċ import Ġkotlinx . android . synt hetic . main . courses _ created _ fragment .* Ċ import Ġkotlinx . android . synt hetic . main . courses _ created _ fragment . linear Layout Ċ import Ġkotlinx . android . synt hetic . main . courses _ created _ fragment . list View Ċ import Ġkotlinx . android . synt hetic . main . courses _ created _ fragment . re cyclerView Ċ import Ġkotlinx . android . synt hetic . main . courses _ created _ fragment . tv _ no _ course Ċ import Ġkotlinx . android . synt hetic . main . courses _ of _ study _ fragment .* Ċ Ċ class ĠCour ses Created Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance () Ġ= ĠCour ses Created Fragment () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠviewModel : ĠCour ses Created ViewModel ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . courses _ created _ fragment , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Created ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Created ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠviewModel Ġ= ĠViewModel Provider ( this ). get ( Courses Created ViewModel :: class . java ) ĊĠĠĠĠĠĠĠ Ġ// ĠTODO : ĠUse Ġthe ĠViewModel ĊĊĠĠĠĠĠĠĠ Ġval Ġlist Adapter Ġ= ĠArray Adapter < String >( Grad uation Project Kotlin Application . context , android . R . layout . simple _ list _ item _ 1 , viewModel . sort List ) ĊĠĠĠĠĠĠĠ ĠlistView . adapter Ġ= Ġlist Adapter ĊĠĠĠĠĠĠĠ ĠlistView . set Selector ( R . color . color Accent ) ĊĠĠĠĠĠĠĠ ĠlistView . setOn ItemClickListener Ġ{ parent , view , position , id -> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . sort = viewModel . sort List [ position ] ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . search Courses ( Repository . get Saved User (). id . toString ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġlayout Manager Ġ= ĠLinearLayoutManager ( activity ) ĊĠĠĠĠĠĠĠ Ġre cyclerView . layout Manager Ġ= Ġlayout Manager ĊĊĊĠĠĠĠĠĠĠ Ġval Ġre cycler Adapter Ġ= ĠCourse Adapter ( viewModel . course List ) ĊĠĠĠĠĠĠĠ Ġre cyclerView . adapter = recycler Adapter ĊĊĠĠĠĠĠĠĠ ĠviewModel . search Courses ( Repository . get Saved User (). id . toString ()) ĊĠĠĠĠĠĠĠ ĠviewModel . course LiveData . observe ( view Lifecycle Owner , ĠObserver Ġ{ Ġresult Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcourses Ġ= Ġresult . get OrNull () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( courses Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( courses . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// è¯¾ç¨ĭ çļĦ æĽ´æĸ° ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . course List . clear () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen ( viewModel . sort ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" åħ¨éĥ¨ " -> viewModel . course List . addAll ( courses ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ->{ for Ġ( course Ġin Ġcourses ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( course . sort == viewModel . sort ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . course List . add ( course ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġre cycler Adapter . notify DataSet Changed () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// è¯¾ç¨ĭ åĪĨç±» çļĦ æĽ´æĸ° ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . sort List . clear () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . sort List . add (" åħ¨éĥ¨ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( course Ġin Ġcourses ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif (! viewModel . sort List . contains ( course . sort )){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . sort List . add ( course . sort ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist Adapter . notify DataSet Changed () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ no _ course . visibility = View . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlinear Layout . visibility = View . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlinear Layout . visibility = View . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ no _ course . visibility = View . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠToast . makeText ( activity , Ġ" æľª èĥ½ æŁ¥è¯¢ åĪ° ä»»ä½ķ è¯¾ç¨ĭ ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . exception OrNull ()?. printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ ĠviewModel . search Courses ( Repository . get Saved User (). id . toString ()) ĊĠĠĠ Ġ} Ċ Ċ } Ċ