package Ġcom . a ibb . android . demo . sun flower . ui Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . fragment . app . view Models Ċ import Ġandroidx . lifecycle . lifecycle Scope Ċ import Ġandroidx . navigation . fragment . nav Args Ċ import Ġcom . a ibb . android . demo . sun flower . adapter . Gallery Adapter Ċ import Ġcom . a ibb . android . demo . sun flower . databinding . Fragment Gallery Binding Ċ import Ġcom . a ibb . android . demo . sun flower . utilities . Injector Utils Ċ import Ġcom . a ibb . android . demo . sun flower . view model . Gallery ViewModel Ċ import Ġkotlinx . coroutines . Job Ċ import Ġkotlinx . coroutines . flow . collect Latest Ċ import Ġkotlinx . coroutines . launch Ċ Ċ class ĠGallery Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġadapter Ġ= ĠGallery Adapter () ĊĠĠĠ Ġprivate Ġval Ġargs : ĠGallery Fragment Args Ġby Ġnav Args () ĊĠĠĠ Ġprivate Ġvar Ġsearch Job : ĠJob ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġval ĠviewModel : ĠGallery ViewModel Ġby Ġview Models Ġ{ ĊĠĠĠĠĠĠĠ ĠInject or Utils . provide Gallery ViewModel Factory () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbinding Ġ= ĠFragment Gallery Binding . inflate ( in flater , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġcontext Ġ?: Ġreturn Ġbinding . root ĊĊĠĠĠĠĠĠĠ Ġbinding . photo List . adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠ Ġsearch ( args . plant Name ) ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . onCreate View ( in flater , Ġcontainer , ĠsavedInstanceState ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsearch ( query : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsearch Job ?. cancel () ĊĠĠĠĠĠĠĠ Ġsearch Job Ġ= Ġlifecycle Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . search P ictures ( query ). collect Latest Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . submit Data ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }