package Ġcom . gov or imo . direct ors digest . repository Ċ Ċ import Ġcom . gov or imo . direct ors digest . persistence . models . Director Ċ import Ġcom . gov or imo . direct ors digest . persistence . models . Film Ċ import Ġcom . gov or imo . direct ors digest . util . Log Ċ import Ġcom . gov or imo . direct ors digest . util . Resource Ċ import Ġkotlinx . coroutines . with Context Ċ Ċ class ĠFake DataSource ( var Ġlocal Direct ors : ĠMutable List < Director >? Ġ= Ġmutable ListOf (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġremote Direct ors : ĠMutable List < Director >? Ġ= Ġmutable ListOf (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġfil ms : ĠMutable List < Film >? Ġ= Ġmutable ListOf ()): ĠDirect ors DataSource Ġ{ ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġget Direct ors (): ĠResource < List < Director >> Ġ{ ĊĠĠĠĠĠĠĠ Ġlocal Direct ors ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( local Direct ors Ġ== Ġempty List < Director > ()){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinsert Direct ors ( remote Direct ors ?. toList () !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" test Source ", Ġ" i Ġneed Ġto Ġbe Ġhere Ġ 1 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" test Source ", Ġ" i Ġneed Ġto Ġbe Ġhere Ġlocal Direct ors Ġ 1 Ġ$ local Direct ors ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" test Source ", Ġ" i Ġneed Ġto Ġbe Ġhere Ġremote Direct ors Ġ 1 Ġ$ remote Direct ors Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠResource . Success ( ArrayList ( it )) Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠResource . Failure ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠException (" Tasks Ġnot Ġfound ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġinsert Direct ors ( direct ors : ĠList < Director >) Ġ{ ĊĠĠĠĠĠĠĠ Ġdirect ors . forEach Ġ{ Ġlocal Direct ors ?. add ( it ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġget Fil ms (): ĠResource < List < Film >> Ġ{ ĊĠĠĠĠĠĠĠ Ġfil ms ?. let Ġ{ Ġreturn ĠResource . Success ( ArrayList ( it )) Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠResource . Failure ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠException (" Tasks Ġnot Ġfound ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġinsert Fil ms ( fil ms : ĠList < Film >) Ġ{ ĊĠĠĠĠĠĠĠ Ġfil ms . forEach Ġ{ Ġthis . fil ms ?. add ( it ) Ġ} ĊĠĠĠ Ġ} ĊĊĊ Ċ }