package Ġcom . example . my application . ui . main . fragment . videos . view model Ċ Ċ import Ġandroid . app . Application Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . live Data Ċ import Ġcom . example . my application . R Ċ import Ġcom . example . my application . data . model . P ex els Video Ċ import Ġcom . example . my application . data . repository . Main Repository Ċ import Ġcom . example . my application . utils . Resource Ċ Ċ class ĠV ideos Fragment ViewModel ( application : ĠApplication ) Ġ: ĠViewModel () Ġ{ ĊĊĠĠĠ Ġvar Ġp ex els Videos LiveData : ĠLive Data < Resource < List < P ex els Video >>> ĊĠĠĠ Ġprivate Ġval Ġinstance Main Repository : ĠMain Repository Ġ= ĊĠĠĠĠĠĠĠ ĠMain Repository . getInstance ( application ) ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġp ex els Videos LiveData Ġ= Ġlive Data Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġemit ( Resource . loading ( null )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemit ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠResource . success ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinstance Main Repository . search Videos (). videos ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( exception : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemit ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠResource . error ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapplication . application Context . getString ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . er reur _ charge ment ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }