package Ġcom . ti ago hs . h qr . ui . views . fragments Ċ Ċ import Ġandroid . Manifest Ċ import Ġandroid . os . Build Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 7 . view . Action Mode Ċ import Ġandroid . support . v 7 . widget . Divider Item Decoration Ċ import Ġandroid . support . v 7 . widget . Linear LayoutManager Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . Menu Inflater Ċ import Ġandroid . view . MenuItem Ċ import Ġandroid . view . View Ċ import Ġcom . af ol le st ad . material dialogs . Material Dialog Ċ import Ġcom . ti ago hs . h qr . R Ċ import Ġcom . ti ago hs . h qr . download . Downloader Service Ċ import Ġcom . ti ago hs . h qr . helpers . extensions . has Permission Ċ import Ġcom . ti ago hs . h qr . helpers . utils . Permission Utils Ċ import Ġcom . ti ago hs . h qr . helpers . utils . Permissions Callback Ċ import Ġcom . ti ago hs . h qr . models . view _ models . Com ic ViewModel Ċ import Ġcom . ti ago hs . h qr . notification . Notifications Ċ import Ġcom . ti ago hs . h qr . ui . adapters . chapter s . Chapter Holder Ċ import Ġcom . ti ago hs . h qr . ui . adapters . chapter s . Chapter Item Ċ import Ġcom . ti ago hs . h qr . ui . adapters . chapter s . Chapter s ListAdapter Ċ import Ġcom . ti ago hs . h qr . ui . callbacks . I Chapter Item Callback Ċ import Ġcom . ti ago hs . h qr . ui . contracts . Com ic Chapter s Contract Ċ import Ġcom . ti ago hs . h qr . ui . views . activities . Com ic Details Activity Ċ import Ġcom . ti ago hs . h qr . ui . views . activities . Reader Activity Ċ import Ġcom . ti ago hs . h qr . ui . views . config . Base Fragment Ċ import Ġeu . dav idea . flex ible adapter . Selectable Adapter Ċ import Ġkotlinx . android . synt hetic . main . fragment _ com ic _ chapter s .* Ċ import Ġjavax . inject . Inject Ċ Ċ private Ġconst Ġval ĠCO MIC Ġ= Ġ" com ic _ link " Ċ Ċ class ĠCom ic Chapter s Fragment : ĊĠĠĠĠĠĠĠ ĠBase Fragment (), ĊĠĠĠĠĠĠĠ ĠI Chapter Item Callback , ĊĠĠĠĠĠĠĠ ĠCom ic Chapter s Contract . IC omic Chapter s View , ĊĠĠĠĠĠĠĠ ĠAction Mode . Callback Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġnew Fragment ( com ic : ĠCom ic ViewModel ): ĠCom ic Chapter s Fragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= ĠBundle () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbundle . put Parcelable ( COM IC , Ġcom ic ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠCom ic Chapter s Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . arguments Ġ= Ġbundle ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfragment ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġpresenter : ĠCom ic Chapter s Contract . IC omic Chapter s Presenter ĊĊĠĠĠ Ġprivate Ġvar Ġaction Mode : ĠAction Mode ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġval Ġselected Items Ġ= Ġmutable Set Of < Chapter Item >() ĊĊĠĠĠ Ġprivate Ġvar Ġadapter : ĠChapter s ListAdapter ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġdeleting Dialog : ĠMaterial Dialog ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġpage Loaded Ġ= Ġfalse ĊĠĠĠ Ġprivate Ġvar Ġcom ic ViewModel : ĠCom ic ViewModel ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġaction Mode Menu : ĠMenu ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġpermissions : ĠPermission Utils ĊĊĠĠĠ Ġoverride Ġfun Ġget View ID (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠR . layout . fragment _ com ic _ chapter s ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġset Has Options Menu ( true ) ĊĊĠĠĠĠĠĠĠ Ġcom ic ViewModel Ġ= Ġarguments ?. get Parcelable ( COM IC ) ĊĠĠĠĠĠĠĠ Ġpermissions Ġ= ĠPermission Utils ( activity !! ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ?, Ġinflater : ĠMenu Inflater ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate Options Menu ( menu , Ġinflater ) ĊĊĠĠĠĠĠĠĠ Ġmenu !!. clear () ĊĠĠĠĠĠĠĠ Ġinflater !!. inflate ( R . menu . menu _ chapter s , Ġmenu ) ĊĊĠĠĠĠĠĠĠ Ġmenu . find Item ( R . id . action Download )?. isVisible Ġ= Ġcontext ?. has Permission ( Manifest . permission . WRITE _ EXTERNAL _ STORAGE ) Ġ?: Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ?): ĠBoolean Ġ{ ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( item !!. itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action Download Ġ-> Ġcreate Action Mode () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action Open On Site Ġ-> Ġopen Url ( com ic ViewModel ?. path Link ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġget Application Component () !!. inject ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠsetUser Visible Hint ( isVisible To User : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . setUser Visible Hint ( isVisible To User ) ĊĠĠĠĠĠĠĠ Ġif Ġ( isVisible To User Ġ&& Ġ! page Loaded ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon View Focus () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpage Loaded Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġon View Focus () Ġ{ ĊĠĠĠĠĠĠĠ Ġpresenter . on BindView ( this ) ĊĊĠĠĠĠĠĠĠ Ġon Init () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġon Init () Ġ{ ĊĠĠĠĠĠĠĠ Ġpresenter . onCreate ( com ic ViewModel ) ĊĊĠĠĠĠĠĠĠ Ġadapter Ġ= ĠChapter s ListAdapter ( context , Ġthis ) ĊĊĠĠĠĠĠĠĠ Ġchapter s List . layout Manager Ġ= ĠLinearLayoutManager ( context , ĠLinearLayoutManager . VERTICAL , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġchapter s List . addItem Decoration ( Divider Item Decoration ( context , ĠDiv ider Item Decoration . VERTICAL )) ĊĠĠĠĠĠĠĠ Ġchapter s List . adapter Ġ= Ġadapter ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonError ( ex : ĠThrowable , Ġmessage : ĠInt , Ġwith Action : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġchapter s Progress . visibility Ġ= ĠView . GONE ĊĊĠĠĠĠĠĠĠ Ġsuper . onError ( ex , Ġmessage , Ġwith Action ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonError Action () Ġ{ ĊĠĠĠĠĠĠĠ Ġchapter s Progress . visibility Ġ= ĠView . VISIBLE ĊĊĠĠĠĠĠĠĠ Ġon Init () ĊĊĠĠĠĠĠĠĠ Ġdismiss Sn ack () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy View () Ġ{ ĊĠĠĠĠĠĠĠ Ġadapter Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġaction Mode Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġpresenter . on Un bind View () ĊĊĠĠĠĠĠĠĠ Ġsuper . on Destroy View () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Next Chapter s ( chapter s : ĠList < Chapter Item >) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= Ġadapter Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġadapter . update DataSet ( chapter s ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( selected Items . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . clear Selection () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Action Mode () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġselected Items . forEach Ġ{ Ġchapter Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġposition Ġ= Ġadapter . indexOf ( chapter ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( position Ġ!= Ġ- 1 Ġ&& Ġ! adapter . isSelected ( position )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . toggle Selection ( position ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġaction Mode ?. invalidate () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġchapter s Progress . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġchapter s List . visibility Ġ= ĠView . VISIBLE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Chapter Status Change ( chapter Item : ĠChapter Item , Ġstatus : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġget Holder ( chapter Item )?. notify Status ( status ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Holder ( chapter : ĠChapter Item ): ĠChapter Holder ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġchapter s List ?. find ViewHolder For ItemId ( chapter . chapter . id ) Ġas ? ĠChapter Holder ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Download Select ( chapter : ĠChapter Item ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpermission List Ġ= Ġarray ListOf < String >( Manifest . permission . WRITE _ EXTERNAL _ STORAGE ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . P ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpermission List . add ( Manifest . permission . FO REG ROUND _ SERVICE ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġpermissions . on Check And Request Permissions ( permission List . toList (), Ġobject Ġ: ĠPermissions Callback Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Permissions Granted () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter . download Chapter s ( listOf ( chapter )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Permissions Denied () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMaterial Dialog . Builder ( context !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. content ( R . string . pers mission _ needed _ content ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. positive Text ( android . R . string . yes ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. negative Text ( android . R . string . no ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Never Ask Again ( request Code : ĠInt ) Ġ{} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Item Click ( view : ĠView ?, Ġposition : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= Ġadapter Ġ?: Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġadapter . getItem ( position ) Ġ?: Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġif Ġ( action Mode Ġ!= Ġnull Ġ&& Ġadapter . mode Ġ== ĠSelect able Adapter . Mode . MULTI ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoggle Com ic ( position ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( Reader Activity . new Intent ( context , Ġitem . chapter . chapter Path !! , Ġcom ic ViewModel ?. path Link !! , Ġcom ic ViewModel ?. source ?. id !! )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Item Long Click ( position : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġhas Pr mission To Write Ġ= Ġcontext ?. has Permission ( Manifest . permission . WRITE _ EXTERNAL _ STORAGE ) Ġ?: Ġfalse ĊĊĠĠĠĠĠĠĠ Ġif Ġ( has Pr mission To Write ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Action Mode () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoggle Com ic ( position ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġtoggle Com ic ( position : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= Ġadapter Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġadapter . getItem ( position ) Ġ?: Ġreturn ĊĊĠĠĠĠĠĠĠ Ġadapter . toggle Selection ( position ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( adapter . isSelected ( position )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselected Items . add ( item ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselected Items . remove ( item ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġaction Mode ?. invalidate () ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Action Mode () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( action Mode Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaction Mode Ġ= Ġ( activity Ġas ? ĠCom ic Details Activity )?. start Support Action Mode ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdestroy Action Mode () Ġ{ ĊĠĠĠĠĠĠĠ Ġaction Mode ?. finish () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Action Mode ( mode : ĠAction Mode , Ġmenu : ĠMenu ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmode . menu Inflater . inflate ( R . menu . menu _ chapter _ selection , Ġmenu ) ĊĠĠĠĠĠĠĠ Ġadapter ?. mode Ġ= ĠSelect able Adapter . Mode . MULTI ĊĠĠĠĠĠĠĠ Ġmode . title Ġ= Ġcontext ?. getString ( R . string . chapter s _ selected _ title ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Prepare Action Mode ( mode : ĠAction Mode , Ġmenu : ĠMenu ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġaction Mode Menu Ġ= Ġmenu ĊĊĠĠĠĠĠĠĠ Ġval Ġcount Ġ= Ġadapter ?. selected ItemCount Ġ?: Ġ 0 ĊĊĠĠĠĠĠĠĠ Ġif Ġ( count Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmode . title Ġ= Ġcontext ?. getString ( R . string . chapter s _ selected _ title ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmode . title Ġ= Ġcontext ?. getString ( R . string . chapter s _ selected , Ġcount ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġon Filter Menu Options () ĊĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy Action Mode ( mode : ĠAction Mode ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġadapter ?. mode Ġ= ĠSelect able Adapter . Mode . SINGLE ĊĠĠĠĠĠĠĠ Ġadapter ?. clear Selection () ĊĠĠĠĠĠĠĠ Ġselected Items . clear () ĊĠĠĠĠĠĠĠ Ġaction Mode Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġaction Mode Menu Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Action Item Clicked ( mode : ĠAction Mode ?, Ġitem : ĠMenuItem ): ĠBoolean Ġ{ ĊĊĠĠĠĠĠĠĠ Ġwhen ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action Download Selected Ġ-> Ġdownload Chapter s ( getSelected Chapter s ()) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action Delete Ġ-> Ġshow Delete Chapter s Confirmation Dialog () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action Select All Ġ-> Ġselect All Chapter s () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action Clear All Ġ-> Ġclear All () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġon Filter Menu Options () Ġ{ ĊĠĠĠĠĠĠĠ Ġaction Mode Menu ?. find Item ( R . id . action Delete )?. isVisible Ġ= Ġget Selected Chapter s (). filter Ġ{ Ġit . is Downloaded Ġ}. isNotEmpty () ĊĠĠĠĠĠĠĠ Ġaction Mode Menu ?. find Item ( R . id . action Download Selected )?. isVisible Ġ= Ġget Selected Chapter s (). filter Ġ{ Ġ! it . is Downloaded Ġ}. isNotEmpty () ĊĠĠĠĠĠĠĠ Ġaction Mode Menu ?. find Item ( R . id . action Select All )?. isVisible Ġ= Ġget Selected Chapter s (). size Ġ< Ġadapter ?. items ?. size !! ĊĠĠĠĠĠĠĠ Ġaction Mode Menu ?. find Item ( R . id . action Clear All )?. isVisible Ġ= Ġget Selected Chapter s (). isNotEmpty () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġclear All () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= Ġadapter Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġadapter . clear Selection () ĊĠĠĠĠĠĠĠ Ġselected Items . clear () ĊĠĠĠĠĠĠĠ Ġaction Mode ?. invalidate () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġselect All Chapter s () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= Ġadapter Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġadapter . selectAll () ĊĠĠĠĠĠĠĠ Ġselected Items . addAll ( adapter . items ) ĊĠĠĠĠĠĠĠ Ġaction Mode ?. invalidate () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Delete Chapter s Confirmation Dialog () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcount Ġ= Ġadapter ?. selected ItemCount Ġ?: Ġreturn ĊĊĠĠĠĠĠĠĠ ĠMaterial Dialog . Builder ( context !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. content ( resources . get Quantity String ( R . plurals . confirm _ delete _ chapter s , Ġcount )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. positive Text ( android . R . string . yes ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. negative Text ( android . R . string . no ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. on Positive Ġ{ Ġ_, Ġ_ Ġ-> Ġdelete Chapter s ( getSelected Chapter s ()) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdelete Chapter s ( items : ĠList < Chapter Item >) Ġ{ ĊĠĠĠĠĠĠĠ Ġdestroy Action Mode () ĊĠĠĠĠĠĠĠ Ġif Ġ( items . isEmpty ()) Ġreturn ĊĊĠĠĠĠĠĠĠ Ġdeleting Dialog Ġ= ĠMaterial Dialog . Builder ( context !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. progress ( true , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. content ( R . string . de leting ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. cancel able ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġdeleting Dialog ?. show () ĊĠĠĠĠĠĠĠ Ġpresenter . delete Chapter s ( items ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Chapter Deleted () Ġ{ ĊĠĠĠĠĠĠĠ Ġdim iss Deleting Dialog () ĊĠĠĠĠĠĠĠ Ġadapter ?. notify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Chapter Deleted Error () Ġ{ ĊĠĠĠĠĠĠĠ Ġdim iss Deleting Dialog () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdim iss Deleting Dialog () Ġ{ ĊĠĠĠĠĠĠĠ Ġdeleting Dialog ?. dismiss () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Selected Chapter s (): ĠList < Chapter Item > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= Ġadapter Ġ?: Ġreturn Ġempty List () ĊĠĠĠĠĠĠĠ Ġreturn Ġadapter . selected Positions . map NotNull Ġ{ Ġadapter . getItem ( it ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdownload Chapter s ( selected Chapter s : ĠList < Chapter Item >) Ġ{ ĊĠĠĠĠĠĠĠ Ġdestroy Action Mode () ĊĠĠĠĠĠĠĠ Ġpresenter . download Chapter s ( selected Chapter s ) ĊĠĠĠ Ġ} Ċ Ċ }