package Ġru . dy ate l . ts us chedule . database Ċ Ċ import Ġandroid . content . Content Values Ċ import Ġandroid . database . sqlite . SQLite Database Ċ import Ġorg . jetbrains . ank o . db . INTEGER Ċ import Ġorg . jetbrains . ank o . db . Map Row Parser Ċ import Ġorg . jetbrains . ank o . db . TEXT Ċ import Ġorg . jetbrains . ank o . db . createTable Ċ import Ġorg . jetbrains . ank o . db . delete Ċ import Ġorg . jetbrains . ank o . db . drop Table Ċ import Ġorg . jetbrains . ank o . db . select Ċ import Ġru . dy ate l . ts us chedule . model . Version Change log Ċ import Ġru . dy ate l . ts us chedule . updater . Release Ċ import Ġru . dy ate l . ts us chedule . updater . Release Token Ċ Ċ class ĠChangelog Dao ( database Manager : ĠDatabase Manager ) Ġ: ĠDatabase Part ( database Manager ) Ġ{ ĊĊĠĠĠ Ġprivate Ġobject ĠChangelog Columns Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠVERSION Ġ= Ġ" version " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠPR ERE LEASE Ġ= Ġ" pr erelease " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠCH ANG ES Ġ= Ġ" changes " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠTABLE Ġ= Ġ" changelog " ĊĊĠĠĠĠĠĠĠ Ġval ĠCHANGELOG _ PARSER Ġ= Ġobject Ġ: ĠMap Row Parser < Version Change log > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġparse Row ( columns : ĠMap < String , ĠAny ?> ): ĠVersion Change log Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠVersion Change log ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolumns [ Change log Columns . VERSION ] Ġas ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( columns [ Change log Columns . PR ERE LEASE ] Ġas ĠLong ). as Flag (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolumns [ Change log Columns . CHANG ES ] Ġas ĠString ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Tables ( db : ĠSQLite Database ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdb . createTable ( TABLE , Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChangelog Columns . VERSION Ġto ĠTEXT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChangelog Columns . PR ERE LEASE Ġto ĠINTEGER , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChangelog Columns . CHANG ES Ġto ĠTEXT ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġupgrade Tables ( db : ĠSQLite Database , Ġold Version : ĠInt , Ġnew Version : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( old Version Ġ< Ġ 7 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdb . drop Table ( TABLE , Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Tables ( db ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġrequest (): ĠList < Version Change log > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġexecute Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselect ( TABLE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. parse List ( CHANGELOG _ PARSER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. sorted By Descending Ġ{ ĠRelease ( it . version ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsave ( releases : ĠCollection < Release Token >) Ġ{ ĊĠĠĠĠĠĠĠ Ġexecute Transaction Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdelete ( TABLE ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreleases . sorted By Ġ{ Ġit . release Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. take Last ( 1 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontent Values Ġ= ĠContent Values (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Change log Columns . VERSION , Ġit . release . version ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Change log Columns . PR ERE LEASE , Ġit . pr erelease . toInt ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput ( Change log Columns . CHANG ES , Ġit . changes ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinsert ( TABLE , Ġnull , Ġcontent Values ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }