package Ġcom . g ig aw ork s . tech . get icons . ui . home . view model Ċ Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . switch Map Ċ import Ġandroidx . lifecycle . viewModel Scope Ċ import Ġandroidx . paging . cached In Ċ import Ġcom . g ig aw ork s . tech . get icons . repository . Api Repository Ċ import Ġdagger . h ilt . android . lifecycle . H ilt ViewModel Ċ import Ġjavax . inject . Inject Ċ Ċ @ H ilt ViewModel Ċ class ĠIcons ViewModel Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġrepository : ĠApi Repository Ċ ) Ġ: ĠViewModel () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġ_ query Ġ= ĠMutable LiveData ("") ĊĊĠĠĠ Ġval Ġicon List Ġ= Ġ_ query . switch Map Ġ{ ĊĠĠĠĠĠĠĠ Ġrepository . get Icon sBy Query ( it Ġ?: Ġ""). cached In ( viewModel Scope ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Query ( query : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif (_ query . value Ġ!= Ġquery ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_ query . value Ġ= Ġquery ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }