package Ġcom . ur at xe . mov et ilt Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . app . Application Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . fragment . app . FragmentManager Ċ import Ġandroidx . lifecycle . Saved State Handle Ċ import Ġcom . un at xe . mv vm i . MV VM I Activity Ċ import Ġcom . un at xe . mv vm i . MV VM I Delegate Ċ import Ġcom . un at xe . mv vm i . MV VM IF ragment Ċ import Ġcom . un at xe . mv vm i . MV VM I ViewModel Ċ import Ġcom . ur at xe . anime list . data . Auth Module Ċ import Ġcom . ur at xe . anime list . features . anime list . An ime List ViewModel Ċ import Ġcom . ur at xe . anime list . features . anime list . data . An ime Api DataSource Ċ import Ġcom . ur at xe . anime list . features . anime list . data . An ime DB Datasource Ċ import Ġcom . ur at xe . anime list . features . anime list . data . An ime DataSource Ċ import Ġcom . ur at xe . anime list . features . anime list . data . An ime Repository Ċ import Ġcom . un at xe . commons . data . exceptions . Failure Ċ import Ġcom . un at xe . commons . utils . Preferences Manager Ċ import Ġorg . k oin . android . ext . k oin . android Context Ċ import Ġorg . k oin . android . ext . k oin . android Logger Ċ import Ġorg . k oin . android x . view model . dsl . viewModel Ċ import Ġorg . k oin . core . context . start K oin Ċ import Ġorg . k oin . core . parameter . Parameters Holder Ċ import Ġorg . k oin . core . parameter . parameters Of Ċ import Ġorg . k oin . core . qual ifier . named Ċ import Ġorg . k oin . dsl . module ĊĊ Ċ abstract Ġclass ĠK oin Pro y ect Activity < ViewModel Ġ: ĠMV VM I ViewModel < Model Data >, ĊĠĠĠĠĠĠĠ ĠModel Data > Ġ: ĠPro y ect Activity < ViewModel , Model Data > (){ ĊĊĠĠĠ Ġoverride Ġval ĠviewModel : ĠViewModel ĊĠĠĠĠĠĠĠ Ġget () Ġ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠgetState ViewModel ( clazz Ġ= Ġget ViewModel Class ()) ĊĠĠĠĠĠĠĠ Ġ} Ċ } Ċ abstract Ġclass ĠPro y ect Activity < ViewModel Ġ: ĠMV VM I ViewModel < Model Data >, ĊĠĠĠĠĠĠĠ ĠModel Data > Ġ: ĠMV VM I Activity < ViewModel , ĠModel Data > (){ ĊĊĠĠĠ Ġoverride Ġval Ġview Delegate : ĠMV VM I Delegate Ġ= ĠMain Pro y ect View Delegate () Ċ Ċ } Ċ Ċ abstract Ġclass ĠK oin Pro y ect Fragment < ViewModel Ġ: ĠMV VM I ViewModel < Model Data >, ĊĠĠĠĠĠĠĠ ĠModel Data > Ġ: ĠPro y ect Fragment < ViewModel , Model Data > (){ ĊĊĠĠĠ Ġoverride Ġval ĠviewModel : ĠViewModel Ġby Ġstate ViewModel ( clazz Ġ= Ġget ViewModel Class ()) Ċ } Ċ Ċ abstract Ġclass ĠPro y ect Fragment < ViewModel Ġ: ĠMV VM I ViewModel < Model Data >, ĊĠĠĠĠĠĠĠ ĠModel Data > Ġ: ĠMV VM IF ragment < ViewModel , ĠModel Data > (){ ĊĊĠĠĠ Ġoverride Ġval Ġview Delegate : ĠMV VM I Delegate Ġ= ĠMain Pro y ect View Delegate () Ċ } ĊĊ Ċ class ĠMain Pro y ect View Delegate Ġ Ġ: ĠMV VM I Delegate Ġ{ ĊĠĠĠ Ġoverride Ġlateinit Ġvar Ġcontext : ĠContext ĊĊĠĠĠ Ġoverride Ġfun Ġinit View Delegate ( view : ĠViewGroup , Ġfragment Delegate : ĠFragment Manager ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcontext Ġ= Ġview . context ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġprocess Error ( error : ĠFailure ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġ ĠTODO (" not Ġimplemented ") Ġ// To Ġchange Ġbody Ġof Ġcreated Ġfunctions Ġuse ĠFile Ġ| ĠSettings Ġ| ĠFile ĠTemplates . ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Loading ( boolean : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠTODO (" not Ġimplemented ") Ġ// To Ġchange Ġbody Ġof Ġcreated Ġfunctions Ġuse ĠFile Ġ| ĠSettings Ġ| ĠFile ĠTemplates . ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ class ĠPro y ect App Ġ: ĠApplication (){ ĊĠĠĠ Ġoverride Ġfun ĠonCreate () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate () ĊĠĠĠĠĠĠĠ Ġinit K oin () ĊĊĠĠĠĠĠĠĠ ĠPreferences Manager . init ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit K oin (){ ĊĠĠĠĠĠĠĠ Ġstart K oin Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġandroid Logger () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġandroid Context ( this @ Pro y ect App ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodules ( listOf ( app Module , anime Module )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval ĠDB Ġ= Ġ" DB " ĊĠĠĠ Ġval ĠAPI Ġ= Ġ" API " ĊĊĠĠĠ Ġval Ġapp Module Ġ= Ġmodule Ġ{ ĊĊĠĠĠĠĠĠĠ Ġsingle Ġ{ ĠAuth Module () Ġ} ĊĠĠĠĠĠĠĠ ĠviewModel Ġ{ Ġ( handle : ĠSaved State Handle ) Ġ Ġ-> ĠAn ime List ViewModel ( get (), handle , get ()) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġan ime Module Ġ= Ġmodule Ġ{ ĊĠĠĠĠĠĠĠ Ġsingle < An ime DataSource >( named ( API )) Ġ{ ĠAn ime Api DataSource () Ġ} ĊĠĠĠĠĠĠĠ Ġsingle < An ime DataSource >( named ( DB )) Ġ{ ĠAn ime DB Datasource () Ġ} ĊĠĠĠĠĠĠĠ Ġsingle Ġ{ ĠAn ime Repository ( get ( named ( API )), get ( named ( DB ))) Ġ} ĊĠĠĠ Ġ} ĊĊ Ċ } Ċ Ċ fun Ġparameters Activity ( activity : ĠActivity ): ĠParameters Holder Ġ{ ĊĠĠĠ Ġreturn Ġparameters Of ( activity ) Ċ }