package Ġcom . br illi ances oft . m ush af . framework . database Ċ Ċ import Ġandroid . database . Database Utils Ċ import Ġandroid . database . sqlite . SQLite Exception Ċ import Ġandroidx . room . Database Ċ import Ġandroidx . room . Room Database Ċ import Ġandroidx . room . migration . Migration Ċ import Ġandroidx . sqlite . db . Support SQLite Database Ċ import Ġcom . br illi ances oft . m ush af . framework . comm en . M ush af Constants . Main M ush af Ċ import Ġcom . br illi ances oft . m ush af . framework . comm en . M ush af Constants . Main M ush af _ OLD Ċ import Ġcom . br illi ances oft . m ush af . framework . database . da os . Metadata Dao Ċ import Ġcom . br illi ances oft . m ush af . framework . database . da os . M ush af Dao Ċ import Ġcom . br illi ances oft . m ush af . framework . database . helpers .* Ċ import Ġcom . br illi ances oft . m ush af . model .* Ċ Ċ @ Database ( ĊĠĠĠ Ġentities Ġ= Ġ[ A ya :: class , ĠEdition :: class , ĠSur ah :: class , ĠBook mark :: class , ĠDownloading State :: class , ĠDown loaded Uri :: class ], ĊĠĠĠ Ġversion Ġ= ĠDATA _ VERSION Ċ ) Ċ abstract Ġclass ĠM ush af Database Ġ: ĠRoom Database () Ġ{ ĊĊĠĠĠ Ġabstract Ġfun Ġm ush af Dao (): ĠM ush af Dao ĊĠĠĠ Ġabstract Ġfun Ġmetadata Dao (): ĠMetadata Dao ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Field ĊĠĠĠĠĠĠĠ Ġval ĠM IG RATION _ 1 _ 2 Ġ= Ġobject Ġ: ĠMigration ( 1 , Ġ 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġmigrate ( database : ĠSupport SQLite Database ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Table ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdb Ġ= Ġdatabase , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtableName Ġ= ĠDOWN LOADED _ URI _ TABLE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolumns Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" link ĠTEXT ĠNOT ĠNULL ". to Existing (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" title ĠTEXT ĠNOT ĠNULL ". to Existing (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" edition Id ĠTEXT ĠNOT ĠNULL ". to Existing (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" aya Number ĠINTEGER ĠNOT ĠNULL ". to Existing () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprimary Keys Ġ= ĠlistOf (" link ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdelete Table ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdb Ġ= Ġdatabase , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtableName Ġ= ĠREC IT ERS _ TABLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Field ĊĠĠĠĠĠĠĠ Ġval ĠM IG RATION _ 2 _ 3 Ġ= Ġobject Ġ: ĠMigration ( 2 , Ġ 3 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġmigrate ( database : ĠSupport SQLite Database ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Table ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdb Ġ= Ġdatabase , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtableName Ġ= ĠBO OK MARK S _ TABLE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolumns Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" bookmark _ edition Id ĠTEXT ĠNOT ĠNULL ". to Existing (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" bookmark _ aya Number ĠINTEGER ĠNOT ĠNULL ". to Existing () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprimary Keys Ġ= ĠlistOf (" bookmark _ edition Id ", Ġ" bookmark _ aya Number ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase . exec SQL ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" INSERT ĠINTO Ġ$ BOOK MARK S _ TABLE Ġ( bookmark _ edition Id , Ġbookmark _ aya Number ) ĠSELECT Ġedition _ id , Ġnumber _ in _ m ush af ĠFROM Ġ$ AY AT _ TABLE Ġwhere Ġis Book marked Ġ= Ġ 1 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase . exec SQL ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" UPDATE Ġ$ BOOK MARK S _ TABLE ĠSET Ġbookmark _ edition Id Ġ= Ġ'$ Main M ush af ' Ġwhere Ġbookmark _ edition Id Ġlike Ġ'$ Main M ush af _ OLD ' Ġ" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// update Table ( database , BOOK MARK S _ TABLE , Ġmap Of (" bookmark _ edition Id " Ġto ĠMain M ush af ), Ġprimary Keys Ġ= Ġ[]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/* database . update ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBO OK MARK S _ TABLE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSQLite Database . CONF LI CT _ REPLACE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠContent Values (). apply Ġ{ Ġput (" bookmark _ edition Id ", ĠMain M ush af _ OLD ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Ġbookmark _ edition Id Ġ= Ġ$ Main M ush af _ OLD Ġ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf ( Main M ush af _ OLD )) Ċ */ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Table ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdb Ġ= Ġdatabase , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtableName Ġ= ĠA Y AT _ TABLE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolumns Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" number _ in _ m ush af ĠINTEGER ĠNOT ĠNULL ". to Existing (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" sur ah _ number ĠINTEGER ĠNOT ĠNULL ". to Existing (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" text ĠTEXT ĠNOT ĠNULL ". to Existing (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" number In Sur ah ĠINTEGER ĠNOT ĠNULL ". to Existing (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" j uz ĠINTEGER ĠNOT ĠNULL ". to Existing (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" page ĠINTEGER ĠNOT ĠNULL ". to Existing (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" h iz b Qu arter ĠINTEGER ĠNOT ĠNULL ". to Existing (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" edition _ id ĠTEXT ĠNOT ĠNULL ". to Existing () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprimary Keys Ġ= ĠlistOf (" number _ in _ m ush af ", Ġ" edition _ id ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase . exec SQL (" DELETE ĠFROM Ġ$ AY AT _ TABLE ĠWHERE Ġedition _ id Ġ= Ġ$ Main M ush af _ OLD ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( sq : ĠSQLite Exception ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsq . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }