package Ġk nf . k uma . see ing Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . PopupMenu Ċ import Ġandroid . widget . ProgressBar Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . paging . Paging Data Adapter Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . google . android . material . card . Material Card View Ċ import Ġcom . simple city apps . recyclerview _ fast scroll . views . Fast Scroll RecyclerView Ċ import Ġk nf . k uma . R Ċ import Ġk nf . k uma . anime info . Activity An ime Ċ import Ġk nf . k uma . backup . firestore . sync Data Ċ import Ġk nf . k uma . commons .* Ċ import Ġk nf . k uma . database . Cache DB Ċ import Ġk nf . k uma . po jos . See ing Object Ċ import Ġorg . jetbrains . ank o . do Async Ċ Ċ internal Ġclass ĠSee ing Adapter ( private Ġval Ġactivity : ĠActivity , Ġprivate Ġval Ġis Full List : ĠBoolean ) Ġ: ĠP aging Data Adapter < See ing Object , ĠRecyclerView . ViewHolder >( See ing Object . diff Callback ), ĠFast Scroll RecyclerView . Section ed Adapter Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġseeing DAO Ġ= ĠCache DB . INSTANCE . see ing DAO () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠRecyclerView . ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( view Type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ-> ĠSee ing Item ( LayoutInflater . from ( parent . context ). inflate ( R . layout . item _ record _ grid , Ġparent , Ġfalse )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠSee ing Item Normal ( LayoutInflater . from ( parent . context ). inflate ( R . layout . item _ dir _ grid , Ġparent , Ġfalse )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠRecyclerView . ViewHolder , Ġposition : ĠInt , Ġpayload s : ĠMutable List < Any >) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġitem Ġ= ĠgetItem ( position ) ĊĠĠĠĠĠĠĠ Ġif Ġ( payload s . isEmpty () Ġ|| Ġitem Ġ== Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Bind ViewHolder ( holder , Ġposition , Ġpayload s ) ĊĠĠĠĠĠĠĠ Ġelse Ġif Ġ( holder Ġis ĠSee ing Item ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . chapter . text Ġ= Ġget Card Text ( item ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠRecyclerView . ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġseeing Object Ġ= ĠgetItem ( position ) Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġif Ġ( holder Ġis ĠSee ing Item ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . chapter . text Ġ= Ġget Card Text ( see ing Object ) ĊĠĠĠĠĠĠĠ Ġ( holder Ġas ? ĠSee ing Item Normal )?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPic asso Single . get (). load ( Pattern Util . get Cover ( see ing Object . aid )). into ( imageView ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle . text Ġ= Ġseeing Object . title ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprogress View ?. visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcard View . setOnClickListener Ġ{ ĠActivity An ime . open ( activity , Ġseeing Object ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcard View . setOn Long ClickListener Ġ{ Ġview Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpopup Menu Ġ= ĠPopup Menu ( activity , Ġview ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpopup Menu . inflate ( R . menu . menu _ see ing ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( see ing Object . state ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSee ing Object . STATE _ WATCH ING Ġ-> Ġpopup Menu . menu . find Item ( R . id . watch ing ). isVisible Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSee ing Object . STATE _ CON SID ER ING Ġ-> Ġpopup Menu . menu . find Item ( R . id . consider ing ). isVisible Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSee ing Object . STATE _ COMPLETED Ġ-> Ġpopup Menu . menu . find Item ( R . id . completed ). isVisible Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSee ing Object . STATE _ DROP PED Ġ-> Ġpopup Menu . menu . find Item ( R . id . drop ed ). isVisible Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpopup Menu . setOn MenuItem ClickListener Ġ{ Ġmenu Item Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdo Async Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( menuItem . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . watch ing Ġ-> Ġseeing DAO . update ( see ing Object . also Ġ{ Ġit . state Ġ= Ġ 1 Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . consider ing Ġ-> Ġseeing DAO . update ( see ing Object . also Ġ{ Ġit . state Ġ= Ġ 2 Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . completed Ġ-> Ġseeing DAO . update ( see ing Object . also Ġ{ Ġit . state Ġ= Ġ 3 Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . drop ed Ġ-> Ġseeing DAO . update ( see ing Object . also Ġ{ Ġit . state Ġ= Ġ 4 Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . paused Ġ-> Ġseeing DAO . update ( see ing Object . also Ġ{ Ġit . state Ġ= Ġ 5 Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsync Data Ġ{ Ġseeing () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Full List ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdo On UI Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( holder Ġas ? ĠSee ing Item )?. chapter ?. text Ġ= Ġget Card Text ( see ing Object ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpopup Menu . show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Section Name ( position : ĠInt ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠgetItem ( position )?. title ?. substring ( 0 , Ġ 1 ) Ġ?: Ġ"" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Card Text ( see ing Object : ĠSee ing Object ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( is Full List ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠgetState Text ( see ing Object . state ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlast Chapter Ġ= Ġseeing Object . last Chapter ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnumber Ġ= Ġlast Chapter ?. number ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( number Ġ== Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" No Ġemp ez ado " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġif Ġ(! last Chapter . number . startsWith (" Ep is od io Ġ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Ep is od io Ġ${ last Chapter . number }" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlast Chapter . number ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠgetState Text ( state : ĠInt ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( state ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> Ġ" Vi endo " ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ-> Ġ" Consider ando " ĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 Ġ-> Ġ" Comp let ado " ĊĠĠĠĠĠĠĠĠĠĠĠĠ 4 Ġ-> Ġ" D ro pe ado " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ" Pa us ado " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem ViewType ( position : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġseeing Object Ġ= ĠgetItem ( position ) Ġ?: Ġreturn Ġ 0 ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Full List Ġ|| Ġseeing Object . state Ġin Ġ 0 .. 1 Ġ-> Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġinner Ġclass ĠSee ing Item ( item View : ĠView ) Ġ: ĠSee ing Item Normal ( item View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġchapter : ĠTextView Ġby ĠitemView . bind ( R . id . chapter ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġopen Ġinner Ġclass ĠSee ing Item Normal ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcard View : ĠMaterial Card View Ġby ĠitemView . bind ( R . id . card ) ĊĠĠĠĠĠĠĠ Ġval ĠimageView : ĠImageView Ġby ĠitemView . bind ( R . id . img ) ĊĠĠĠĠĠĠĠ Ġval Ġprogress View : ĠProgress Bar ? Ġby ĠitemView . optional Bind ( R . id . progress ) ĊĠĠĠĠĠĠĠ Ġval Ġtitle : ĠTextView Ġby ĠitemView . bind ( R . id . title ) ĊĠĠĠ Ġ} Ċ } Ċ