package Ġcom . pit ic list udio . play ed next . ui . game . search Ċ Ċ import Ġandroid . arch . lifecycle . Mutable LiveData Ċ import Ġandroid . arch . paging . DataSource Ċ import Ġcom . pit ic list udio . play ed next . domain . inter actor . game . Search Games UseCase Ċ import Ġcom . pit ic list udio . play ed next . domain . model . Game Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠGame Search Factory Ġ@ Inject Ġconstructor ( private Ġval Ġsearch Games UseCase : ĠSearch Games UseCase , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġquery : ĠString ? Ġ= Ġnull ) Ġ: ĠDataSource . Factory < Int , ĠGame >() Ġ{ ĊĊĠĠĠ Ġval Ġdatasource LiveData Ġ= ĠMutable LiveData < Search Games Paged List Provider >() ĊĊĠĠĠ Ġoverride Ġfun Ġcreate (): ĠDataSource < Int , ĠGame > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsource Ġ= ĠSearch Games Paged List Provider ( search Games UseCase , Ġquery ) ĊĠĠĠĠĠĠĠ Ġdatasource LiveData . post Value ( source ) ĊĠĠĠĠĠĠĠ Ġreturn Ġsource ĊĠĠĠ Ġ} Ċ }