package Ġcom . ti ago hs . h qr . models . sources Ċ Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Parcel Ċ import Ġandroid . os . Parcelable Ċ import Ġcom . ti ago hs . h qr . helpers . tools . Progress Listener Ċ import Ġcom . ti ago hs . h qr . models . database . com ics . Chapter Ċ import Ġio . reactivex . subjects . Publish Subject Ċ Ċ class ĠPage ( ĊĠĠĠĠĠĠĠ Ġvar Ġindex : ĠInt , ĊĠĠĠĠĠĠĠ Ġvar Ġurl : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠ Ġvar ĠimageUrl : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġvar Ġuri : ĠUri ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġvar Ġis Ad : ĠBoolean Ġ= Ġfalse Ċ ): ĠProgress Listener , ĠParcel able Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject ĠCRE ATOR Ġ: ĠParcel able . Creator < Page > Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate From Parcel ( parcel : ĠParcel ): ĠPage Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠPage ( parcel ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġnew Array ( size : ĠInt ): ĠArray < Page ?> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠarrayOf Null s ( size ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġconst Ġval ĠQ UE UE Ġ= Ġ" QUEUE " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠLOAD _ PAGE Ġ= Ġ" LOAD _ PAGE " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠDOWN LOAD _ IMAGE Ġ= Ġ" DOWNLOAD _ IMAGE " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠREAD Y Ġ= Ġ" READY " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠERROR Ġ= Ġ" ERROR " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġnumber : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġindex Ġ+ Ġ 1 ĊĊĠĠĠ Ġ@ Transient Ġlateinit Ġvar Ġchapter : ĠChapter ĊĊĠĠĠ Ġ@ Transient Ġ@ Volatile Ġvar Ġstatus : ĠString Ġ= ĠQ UE UE ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstatus Subject ?. onNext ( value ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Transient Ġ@ Volatile Ġvar Ġprogress : ĠInt Ġ= Ġ 0 ĊĊĠĠĠ Ġ@ Transient Ġprivate Ġvar Ġstatus Subject : ĠPublish Subject < String >? Ġ= Ġnull ĊĊĠĠĠ Ġconstructor ( parcel : ĠParcel ) Ġ: Ġthis ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparcel . readInt (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparcel . readString (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparcel . readString (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparcel . read Parcelable ( Uri :: class . java . class Loader )) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġupdate ( bytes Read : ĠLong , Ġcontent Length : ĠLong , Ġdone : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprogress Ġ= Ġif Ġ( content Length Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( 1 0 0 Ġ* Ġbytes Read Ġ/ Ġcontent Length ). toInt () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ- 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠsetStatus Subject ( subject : ĠPublish Subject < String > ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . status Subject Ġ= Ġsubject ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠwriteTo Parcel ( parcel : ĠParcel , Ġflags : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġparcel . writeInt ( index ) ĊĠĠĠĠĠĠĠ Ġparcel . writeString ( url ) ĊĠĠĠĠĠĠĠ Ġparcel . writeString ( imageUrl ) ĊĠĠĠĠĠĠĠ Ġparcel . write Parcelable ( uri , Ġflags ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdescribe Contents (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠ Ġ} Ċ Ċ }