package Ġcom . high air . weather forecast id . data Ċ Ċ import Ġcom . high air . weather forecast id . data . repository . Region Repository Ċ import Ġcom . high air . weather forecast id . data . source . local . as Domain Models Ċ import Ġcom . high air . weather forecast id . models . Invalid Ċ import Ġcom . high air . weather forecast id . models . Region Ċ import Ġkotlinx . coroutines . flow . Flow Ċ import Ġkotlinx . coroutines . flow . flow Ċ import Ġkotlinx . coroutines . flow . flow Of Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġay db t iko Ġon Ġ 6 / 1 2 / 2 0 2 1 . Ċ Ġ* Ċ Ġ*/ Ċ class ĠFake Region Repository Ġ: ĠRegion Repository Ġ{ ĊĊĠĠĠ Ġvar Ġshould Loading Ġ= Ġfalse ĊĊĠĠĠ Ġprivate Ġval Ġregions Ġ= ĠHashMap < Long , ĠRegion >(). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġregion Entities . as Domain Models (). forEach Ġ{ Ġregion Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis [ region . id ] Ġ= Ġregion ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Regions ( search Query : ĠString ) Ġ= Ġflow Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( should Loading ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġemit ( Result . Loading ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġemit ( Result . Success ( regions . values . toList (). filter Ġ{ Ġregion Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġregion . district . lowercase (). contains ( search Query ) Ġ|| ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġregion . province . lowercase (). contains ( search Query ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ})) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Region By ( region Id : ĠLong ): ĠFlow < Region > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġflow Of ( regions [ region Id ] Ġ?: ĠInvalid . region ) ĊĠĠĠ Ġ} Ċ }