package Ġcom . cri st ian v ill amil . merc ado app . search Ċ Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . viewModel Scope Ċ import Ġcom . cri st ian v ill amil . merc ado app . network . Api Helper Ċ import Ġcom . cri st ian v ill amil . merc ado app . network . Main Repository Ċ import Ġcom . cri st ian v ill amil . merc ado app . search . model . SearchResult Ċ import Ġkotlinx . coroutines . launch Ċ Ċ class ĠSearch ViewModel Ġ: ĠViewModel () Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġmain Repository : ĠMain Repository ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġon Item Search Response : ĠMutable LiveData < Result < List < SearchResult >>> Ġ= ĊĠĠĠĠĠĠĠ ĠMutable LiveData () ĊĊĠĠĠ Ġfun Ġget On Item Search Response LiveData (): ĠLive Data < Result < List < SearchResult >>> Ġ= ĊĠĠĠĠĠĠĠ Ġon Item Search Response ĊĊĠĠĠ Ġfun Ġset Api Helper ( api Helper : ĠApi Helper ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmain Repository Ġ= ĠMain Repository ( api Helper ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsearch Item ( itemName : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Item Search Response . value Ġ= Ġkotlin . run Catch ing Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmain Repository ?. get Products ( itemName )?. result Ġ?: Ġempty List () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }