package Ġcom . xy o ye . local _ component . ui . dialog Ċ Ċ import Ġandroidx . core . view . isVisible Ċ import Ġcom . alibaba . android . ar outer . launcher . AR outer Ċ import Ġcom . xy o ye . common _ component . adapter . addItem Ċ import Ġcom . xy o ye . common _ component . adapter . build Adapter Ċ import Ġcom . xy o ye . common _ component . adapter . init Data Ċ import Ġcom . xy o ye . common _ component . config . Route Table Ċ import Ġcom . xy o ye . common _ component . extension . vertical Ċ import Ġcom . xy o ye . common _ component . utils . Path Helper Ċ import Ġcom . xy o ye . common _ component . utils . get Domain Form Url Ċ import Ġcom . xy o ye . common _ component . weight . dialog . Base Bottom Dialog Ċ import Ġcom . xy o ye . data _ component . bean . Dan mu Source Bean Ċ import Ġcom . xy o ye . data _ component . data . Dan mu Match Detail Data Ċ import Ġcom . xy o ye . data _ component . data . Dan mu Related Data Ċ import Ġcom . xy o ye . local _ component . R Ċ import Ġcom . xy o ye . local _ component . databinding . Dialog Dan mu D ow an load Binding Ċ import Ġcom . xy o ye . local _ component . databinding . Item Dan mu Source Select Binding Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġx yo ye Ġon Ġ 2 0 2 0 / 1 1 / 2 5 . Ċ Ġ*/ Ċ Ċ class ĠDan mu Download Dialog Ġ: ĠBase Bottom Dialog < Dialog Dan mu D ow an load Binding > Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġmatch Data : ĠDan mu Match Detail Data ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġrelated Data : ĠDan mu Related Data ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcallback : Ġ( Mutable List < Dan mu Source Bean >, ĠBoolean ) Ġ-> ĠUnit ĊĊĠĠĠ Ġconstructor () Ġ: Ġsuper () ĊĊĠĠĠ Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġmatch Data : ĠDan mu Match Detail Data , ĊĠĠĠĠĠĠĠ Ġrelated Data : ĠDan mu Related Data , ĊĠĠĠĠĠĠĠ Ġcallback : Ġ( Mutable List < Dan mu Source Bean >, ĠBoolean ) Ġ-> ĠUnit ĊĠĠĠ Ġ) Ġ: Ġsuper ( true ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . match Data Ġ= Ġmatch Data ĊĠĠĠĠĠĠĠ Ġthis . related Data Ġ= Ġrelated Data ĊĠĠĠĠĠĠĠ Ġthis . callback Ġ= Ġcallback ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Child Layout Id () Ġ= ĠR . layout . dialog _ dan mu _ d ow an load ĊĊĠĠĠ Ġoverride Ġfun Ġinit View ( binding : ĠDialog Dan mu D ow an load Binding ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdownload Sources Ġ= Ġinit Download Sources () ĊĊĠĠĠĠĠĠĠ ĠsetTitle (" ä¸ĭè½½ å¼¹ å¹ķ ") ĊĊĠĠĠĠĠĠĠ Ġbinding . anime Name Tv . text Ġ= Ġmatch Data . anime Title ĊĠĠĠĠĠĠĠ Ġbinding . episode Tv . text Ġ= Ġmatch Data . episode Title ĊĊĠĠĠĠĠĠĠ Ġbinding . download Path Tv . text Ġ= ĠPath Helper . get Dan mu Directory (). absolute Path ĊĊĠĠĠĠĠĠĠ Ġbinding . anime Name Tv . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠA Router . getInstance () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build ( Route Table . An ime . An ime Detail ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Int (" anime Id ", Ġmatch Data . anime Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. navigation () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġset Negative Listener Ġ{ Ġdismiss () Ġ} ĊĊĠĠĠĠĠĠĠ Ġset Positive Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġneed Download Urls Ġ= Ġmutable ListOf < Dan mu Source Bean >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( source Bean Ġin Ġdownload Sources ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( source Bean . isChecked ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġneed Download Urls . add ( source Bean ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcallback . invoke ( need Download Urls , Ġneed Download Urls Ġ== Ġdownload Sources ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . dan mu Source Rv . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Manager Ġ= Ġvertical () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Ġ= Ġbuild Adapter < Dan mu Source Bean > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinit Data ( download Sources ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Item < Dan mu Source Bean , ĠItem Dan mu Source Select Binding >( R . layout . item _ dan mu _ source _ select ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinit View Ġ{ Ġdata , Ġ_, Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Binding . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdan mu Source Cb . isChecked Ġ= Ġdata . isChecked ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdan mu Source Cb . text Ġ= Ġdata . source Name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdan mu Source Describe Tv . text Ġ= Ġdata . source Describe ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdan mu Format Rg . isVisible Ġ= Ġdata . is Official ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdan mu Format Rg . setOn Checked ChangeListener Ġ{ Ġ_, Ġchecked Id Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata . format Ġ= Ġwhen Ġ( checked Id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . dan mu _ simpl ified _ rb Ġ-> Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . dan mu _ trad itional _ rb Ġ-> Ġ 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdan mu Source Cb . setOn Checked ChangeListener Ġ{ Ġ_, Ġis Checked Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata . isChecked Ġ= Ġis Checked ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Download Sources (): ĠMutable List < Dan mu Source Bean > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdownload Sources Ġ= Ġmutable ListOf < Dan mu Source Bean >() ĊĠĠĠĠĠĠĠ Ġ// å¼¹ å¼¹ play æºĲ ĊĠĠĠĠĠĠĠ Ġdownload Sources . add ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDan mu Source Bean ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" å¼¹ å¼¹ Play ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmatch Data . episode Id . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" www . d and an play . com ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Official Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Checked Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġformat Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ// ç¬¬ä¸ī æĸ¹ æºĲ ĊĠĠĠĠĠĠĠ Ġfor Ġ( related Ġin Ġrelated Data . related s ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġurl Ġ= Ġrelated . url Ġ?: Ġcontinue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdownload Sources . add ( Dan mu Source Bean ( get Domain Form Url ( url ), Ġurl , Ġurl )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġdownload Sources ĊĠĠĠ Ġ} Ċ }