package Ġcom . anc ient . country . view . fragment Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Intent Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġcom . anc ient . country . ext ention . auto Cle ared Ċ import Ġcom . anc ient . country . utils . RequestParam Ċ import Ġcom . anc ient . country . view . adapter . Country ListAdapter Ċ import Ġcom . anc ient . country . view . view model . Country List ViewModel Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġanc ient inc Ġon Ġ 2 0 1 9 - 0 7 - 0 6 . Ċ Ġ**/ Ċ open Ġclass ĠCountry List Fragment Ġ: ĠBase List Fragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar ĠviewModel Ġby Ġauto Cle ared < Country List ViewModel >() ĊĊĠĠĠ Ġprivate Ġvar Ġadapter Ġby Ġauto Cle ared < Country ListAdapter >() ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Request ( is Start : ĠBoolean ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġif Ġ( is Start ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel Ġ= ĠViewModel Provider ( this ). get ( Country List ViewModel :: class . java ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Ġ= ĠCountry ListAdapter Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( RequestParam . SELECTED _ VALUE , Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity ?. set Result ( Activity . RESULT _ OK , Ġintent ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity ?. finish () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Adapter ( adapter ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . country List . observe ( this , ĠObserver Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġ!= Ġnull Ġ&& Ġit . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . submit List ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Result () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . submit List ( mutable ListOf ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset No Result () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġstart Loading Request () ĊĊĠĠĠĠĠĠĠ ĠviewModel . load Country List () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdo Search ( a Search Value : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel . load Country List ( a Search Value ) ĊĠĠĠ Ġ} Ċ }