package Ġeu . kan ade . t ach iy omi Ċ Ċ import Ġandroidx . core . content . edit Ċ import Ġandroidx . preference . Preference Manager Ċ import Ġeu . kan ade . t ach iy omi . data . backup . Backup Creator Job Ċ import Ġeu . kan ade . t ach iy omi . data . download . Download Provider Ċ import Ġeu . kan ade . t ach iy omi . data . library . Library Update Job Ċ import Ġeu . kan ade . t ach iy omi . data . preference . Preference Keys Ċ import Ġeu . kan ade . t ach iy omi . data . preference . Preferences Helper Ċ import Ġeu . kan ade . t ach iy omi . data . preference . get OrDefault Ċ import Ġeu . kan ade . t ach iy omi . data . track . Track Manager Ċ import Ġeu . kan ade . t ach iy omi . data . updater . Updater Job Ċ import Ġeu . kan ade . t ach iy omi . extension . Extension Update Job Ċ import Ġeu . kan ade . t ach iy omi . network . PRE F _ DO H _ CLOUD FL ARE Ċ import Ġeu . kan ade . t ach iy omi . ui . library . Library Presenter Ċ import Ġeu . kan ade . t ach iy omi . util . system . toast Ċ import Ġu y . ko hes ive . in jekt . In jekt Ċ import Ġu y . ko hes ive . in jekt . api . get Ċ import Ġjava . io . File Ċ Ċ object ĠM igrations Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠPerforms Ġa Ġmigration Ġwhen Ġthe Ġapplication Ġis Ġupdated . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġpreferences ĠPreferences Ġof Ġthe Ġapplication . ĊĠĠĠĠ Ġ* Ġ@ return Ġtrue Ġif Ġa Ġmigration Ġis Ġperformed , Ġfalse Ġotherwise . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġupgrade ( preferences : ĠPreferences Helper ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= Ġpreferences . context ĊĠĠĠĠĠĠĠ Ġval Ġold Version Ġ= Ġpreferences . last Version Code (). get OrDefault () ĊĠĠĠĠĠĠĠ Ġif Ġ( old Version Ġ< ĠBuild Config . VERSION _ CODE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpreferences . last Version Code (). set ( Build Config . VERSION _ CODE ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( old Version Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Build Config . INCLUDE _ UP DAT ER Ġ&& Ġpreferences . automatic Updates ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUp dater Job . setup Task () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠExtension Update Job . setup Task () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLibrary Update Job . setup Task () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠBuild Config . DEBUG ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( old Version Ġ< Ġ 1 4 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠRestore Ġjobs Ġafter Ġupgrading Ġto Ġever note 's Ġjob Ġscheduler . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Build Config . INCLUDE _ UP DAT ER Ġ&& Ġpreferences . automatic Updates ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUp dater Job . setup Task () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLibrary Update Job . setup Task () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( old Version Ġ< Ġ 1 5 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠDelete Ġinternal Ġchapter Ġcache Ġdir . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFile ( context . cacheDir , Ġ" chapter _ disk _ cache "). delete Re cursively () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( old Version Ġ< Ġ 1 9 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠMove Ġcovers Ġto Ġexternal Ġfiles Ġdir . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġold Dir Ġ= ĠFile ( context . external Cache Dir , Ġ" cover _ disk _ cache ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( old Dir . exists ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdest Dir Ġ= Ġcontext . get External Files Dir (" covers ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( dest Dir Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġold Dir . list Files ()?. forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . rename To ( File ( dest Dir , Ġit . name )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( old Version Ġ< Ġ 2 6 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠDelete Ġexternal Ġchapter Ġcache Ġdir . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġext Cache Ġ= Ġcontext . external Cache Dir ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( ext Cache Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchapter Cache Ġ= ĠFile ( ext Cache , Ġ" chapter _ disk _ cache ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( chapter Cache . exists ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchapter Cache . delete Re cursively () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( old Version Ġ< Ġ 5 4 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDownload Provider ( context ). rename Chapter s () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( old Version Ġ< Ġ 6 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLibrary Presenter . update DB () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠRestore Ġjobs Ġafter Ġmigr ating Ġfrom ĠE ver note 's Ġjob Ġscheduler Ġto ĠWork Manager . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Build Config . INCLUDE _ UP DAT ER Ġ&& Ġpreferences . automatic Updates ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUp dater Job . setup Task () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLibrary Update Job . setup Task () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBackup Creator Job . setup Task ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠExtension Update Job . setup Task () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( old Version Ġ< Ġ 6 6 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLibrary Presenter . update Custom s () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( old Version Ġ< Ġ 6 8 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠForce ĠM AL Ġlog Ġout Ġdue Ġto Ġlogin Ġflow Ġchange ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġv 6 7 : Ġswitched Ġfrom Ġscrap ing Ġto ĠWebView ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġv 6 8 : Ġswitched Ġfrom ĠWebView Ġto ĠOAuth ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtrack Manager Ġ= ĠIn jekt . get < Track Manager >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( track Manager . my An ime List . is Logged ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrack Manager . my An ime List . logout () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . toast ( R . string . my anime list _ re login ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( old Version Ġ< Ġ 7 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠMigrate ĠDNS Ġover ĠHTTPS Ġsetting ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġprefs Ġ= ĠPreference Manager . getDefault SharedPreferences ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġwas Do h Enabled Ġ= Ġprefs . getBoolean (" enable _ do h ", Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( was Do h Enabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprefs . edit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Int ( Preference Keys . do h Provider , ĠP REF _ DO H _ CLOUD FL ARE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġremove (" enable _ do h ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( old Version Ġ< Ġ 7 3 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠReset Ġrotation Ġto ĠFree Ġafter Ġreplacing ĠLock ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpreferences . rotation (). set ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} Ċ } Ċ