package Ġcom . shark ab oi . media hub . modules . anime . repository Ċ Ċ import Ġandroid . content . SharedPreferences Ċ import Ġandroidx . paging . Pager Ċ import Ġandroidx . paging . Paging Config Ċ import Ġandroidx . paging . Paging Data Ċ import Ġcom . shark ab oi . media hub . data . api . constants . Api Constants Ċ import Ġcom . shark ab oi . media hub . data . api . enums . An ime Status Ċ import Ġcom . shark ab oi . media hub . data . api . enums . User An ime Sort Type Ċ import Ġcom . shark ab oi . media hub . data . api . models . user anime . User An ime ListResponse Ċ import Ġcom . shark ab oi . media hub . data . api . ret rofit . User An ime Service Ċ import Ġcom . shark ab oi . media hub . data . datastore . DataStore Repository Ċ import Ġcom . shark ab oi . media hub . data . paging . User An ime List DataSource Ċ import Ġcom . shark ab oi . media hub . data . shared pref . SharedPreferences Keys Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġkotlinx . coroutines . flow . Flow Ċ import Ġkotlinx . coroutines . flow . first OrNull Ċ import Ġkotlinx . coroutines . with Context Ċ import Ġtim ber . log . Tim ber Ċ Ċ class ĠAn ime Repository Impl ( ĊĠĠĠ Ġprivate Ġval Ġuser An ime Service : ĠUser An ime Service , ĊĠĠĠ Ġprivate Ġval Ġdata Store Repository : ĠData Store Repository , ĊĠĠĠ Ġprivate Ġval Ġshared Preferences : ĠSharedPreferences Ċ ) Ġ: ĠAn ime Repository Ġ{ ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġget An ime List Flow ( ĊĠĠĠĠĠĠĠ Ġan ime Status : ĠAn ime Status , ĊĠĠĠĠĠĠĠ Ġan ime Sort Type : ĠUser An ime Sort Type ĊĠĠĠ Ġ): ĠFlow < Paging Data < User An ime ListResponse . Data >> Ġ= Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġshow N sf w Ġ= Ġshared Preferences . getBoolean ( SharedPreferences Keys . NS FW _ OPTION , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġval ĠaccessToken : ĠString ? Ġ= Ġdata Store Repository . accessToken Flow . first OrNull () ĊĠĠĠĠĠĠĠ ĠTim ber . d (" accessToken : Ġ$ accessToken ") ĊĠĠĠĠĠĠĠ Ġreturn @ with Context ĠP ager ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfig Ġ= ĠP aging Config ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠpageSize Ġ= ĠApi Constants . API _ PAGE _ LIMIT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenable Place holders Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpaging Source Factory Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUser An ime List DataSource ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuser An ime Service Ġ= Ġuser An ime Service , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠaccessToken Ġ= ĠaccessToken , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġan ime Status Ġ= Ġan ime Status , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġan ime Sort Type Ġ= Ġan ime Sort Type , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow N sf w Ġ= Ġshow N sf w ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ). flow ĊĠĠĠ Ġ} Ċ } Ċ