package Ġcom . w inter projects . tv ma ze app . business . shows Ċ Ċ import Ġcom . w inter projects . tv ma ze app . datasource . shows . Show Repository Ċ import Ġcom . w inter projects . tv ma ze app . domain . helpers . Result State Ċ import Ġcom . w inter projects . tv ma ze app . domain . shows . models . Favorite Show Model Ċ import Ġjava . lang . Exception Ċ Ċ class ĠFetch All Favorite Shows UseCase Impl ( private Ġval Ġshow Repository : ĠShow Repository ) Ġ: ĊĠĠĠ ĠFetch All Favorite Shows UseCase Ġ{ ĊĠĠĠ Ġoverride Ġsuspend Ġoperator Ġfun Ġinvoke (): ĠResult State < Mutable List < Favorite Show Model >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfavor ites Ġ= Ġshow Repository . fetch All F avorites () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( favorites . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠResult State . Loaded ( favorites Ġas ĠMutable List < Favorite Show Model >) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠResult State . Empty ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( ex : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠResult State . Error State ( ex . localized Message ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }