package Ġcom . wm w . movie viewer Ċ Ċ import Ġandroid . app . Application Ċ import Ġandroidx . room . Room Ċ import Ġcom . wm w . movie viewer . model . DATABASE _ NAME Ċ import Ġcom . wm w . movie viewer . model . Movie Database Ċ import Ġcom . wm w . movie viewer . networking . Remote Api Ċ import Ġcom . wm w . movie viewer . networking . build ApiService Ċ Ċ /** Ċ Ġ* ĠUsing Ġan ĠApp Ġclass , Ġso Ġthat ĠI Ġcan Ġinit Ġthe Ġmovie Db Ġone Ġtime . Ċ Ġ*/ Ċ Ċ private Ġconst Ġval ĠTOKEN Ġ= ĠBuild Config . IM DB _ TOKEN Ċ Ċ class ĠApp Ġ: ĠApplication () Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġlateinit Ġvar Ġinstance : ĠApp ĊĠĠĠĠĠĠĠ Ġlateinit Ġvar Ġmovie Db : ĠMovie Database ĊĊĠĠĠĠĠĠĠ Ġfun Ġget AppContext () Ġ= Ġinstance ĊĊĠĠĠĠĠĠĠ Ġfun ĠgetToken () Ġ= ĠTOKEN ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġapi Service Ġby Ġlazy Ġ{ Ġbuild ApiService () Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġremote Api Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRemote Api ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapi Service ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate () Ġ{ ĊĠĠĠĠĠĠĠ Ġinstance Ġ= Ġthis ĊĠĠĠĠĠĠĠ Ġsuper . onCreate () ĊĠĠĠĠĠĠĠ Ġinit Database () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Database () Ġ{ ĊĠĠĠĠĠĠĠ Ġmovie Db Ġ= ĠRoom . database Builder ( this , ĠMovie Database :: class . java , ĠDATABASE _ NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} Ċ }