package Ġcom . xy o ye . player _ component . ui . activities . player _ interceptor Ċ Ċ import Ġandroid . content . Intent Ċ import Ġcom . alibaba . android . ar outer . facade . annotation . Autowired Ċ import Ġcom . alibaba . android . ar outer . facade . annotation . Route Ċ import Ġcom . alibaba . android . ar outer . launcher . AR outer Ċ import Ġcom . gy f . imm ersion bar . Bar Hide Ċ import Ġcom . gy f . imm ersion bar . Imm ersion Bar Ċ import Ġcom . xy o ye . common _ component . base . Base Activity Ċ import Ġcom . xy o ye . common _ component . config . Dan mu Config Ċ import Ġcom . xy o ye . common _ component . config . Route Table Ċ import Ġcom . xy o ye . common _ component . weight . Toast Center Ċ import Ġcom . xy o ye . common _ component . weight . dialog . Common Dialog Ċ import Ġcom . xy o ye . data _ component . bean . Play Params Ċ import Ġcom . xy o ye . data _ component . enums . MediaType Ċ import Ġcom . xy o ye . player _ component . BR Ċ import Ġcom . xy o ye . player _ component . R Ċ import Ġcom . xy o ye . player _ component . databinding . Activity Player Interceptor Binding Ċ Ċ @ Route ( path Ġ= ĠRoute Table . Player . Player ) Ċ class ĠPlayer Interceptor Activity Ġ: ĠBase Activity < Player Interceptor ViewModel , ĠActivity Player Interceptor Binding >() Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject { ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠREQUEST _ CODE _ BIND _ D AN MU Ġ= Ġ 1 0 0 1 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġvar Ġplay Params Ġ: ĠPlay Params ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġvar Ġsearch Keyword : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġinit ViewModel () Ġ= ĊĠĠĠĠĠĠĠ ĠViewModel Init ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBR . viewModel , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPlayer Interceptor ViewModel :: class . java ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun Ġget Layout Id () Ġ= ĠR . layout . activity _ player _ interceptor ĊĊĠĠĠ Ġoverride Ġfun Ġinit StatusBar () Ġ{ ĊĠĠĠĠĠĠĠ ĠImm ersion Bar . with ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. full Screen ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. hide Bar ( Bar Hide . FLAG _ HIDE _ STATUS _ BAR ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. init () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit View () Ġ{ ĊĠĠĠĠĠĠĠ ĠA Router . getInstance (). inject ( this ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( play Params Ġ== Ġnull ){ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast Center . show Error (" æĴŃæĶ¾ åıĤæķ° éĶĻè¯¯ ï¼Į æĹłæ³ķ æĴŃæĶ¾ è§Ĩé¢ĳ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġdan mu Path Ġ= Ġplay Params ?. dan mu Path ĊĊĠĠĠĠĠĠĠ Ġ// æľ¬åľ° è§Ĩé¢ĳ æĪĸ å·² æľī å¼¹ å¹ķ ï¼Į ä¸į æıĲç¤º éĢīæĭ© å¼¹ å¹ķ ĊĠĠĠĠĠĠĠ Ġif Ġ( play Params !!. media Type Ġ== ĠMediaType . LOCAL _ STORAGE Ġ|| Ġdan mu Path Ġ!= Ġnull ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġopen Player ( play Params !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ä¸į å±ķç¤º å¼¹ çªĹ ĊĠĠĠĠĠĠĠ Ġif Ġ(! Dan mu Config . is ShowDialog Before Play ()){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Dan mu Config . is Auto Launch Dan mu Before Play ()){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// èĩªåĬ¨ è¿Ľåħ¥ éĢīæĭ© å¼¹ å¹ķ é¡µéĿ¢ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠA Router . getInstance () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build ( Route Table . Local . Bind Dan mu ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with String (" video Name ", Ġplay Params !!. video Title ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with String (" search Keyword ", Ġsearch Keyword ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. navigation ( this @ Player Interceptor Activity , ĠREQUEST _ CODE _ BIND _ D AN MU ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// èĩªåĬ¨ è¿Ľåħ¥ æĴŃæĶ¾ åĻ¨ é¡µéĿ¢ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġopen Player ( play Params !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠCommon Dialog . Builder (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcancel able Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtouch Cancel able Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Ġ= Ġ" æ£Ģæµĭ åĪ° è§Ĩé¢ĳ æľª ç»ĳå®ļ å¼¹ å¹ķ ï¼Į æĺ¯åĲ¦ éľĢè¦ģ ç»ĳå®ļ å¼¹ å¹ķ ï¼Ł " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Positive (" ç»ĳå®ļ å¼¹ å¹ķ "){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . dismiss () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ä¸į åĨį å±ķç¤º å¼¹ çªĹ ï¼Į åĪĻ å°Ĩ å½ĵåīį æĵįä½ľ è®°å½ķ ä¸º é»ĺè®¤ è¡Įä¸º ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! Dan mu Config . is ShowDialog Before Play ()){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDan mu Config . put Auto Launch Dan mu Before Play ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠA Router . getInstance () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build ( Route Table . Local . Bind Dan mu ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with String (" video Name ", Ġplay Params !!. video Title ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with String (" search Keyword ", Ġsearch Keyword ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. navigation ( this @ Player Interceptor Activity , ĠREQUEST _ CODE _ BIND _ D AN MU ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Negative (" çĽ´æİ¥ æĴŃæĶ¾ "){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . dismiss () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ä¸į åĨį å±ķç¤º å¼¹ çªĹ ï¼Į åĪĻ å°Ĩ å½ĵåīį æĵįä½ľ è®°å½ķ ä¸º é»ĺè®¤ è¡Įä¸º ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! Dan mu Config . is ShowDialog Before Play ()){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDan mu Config . put Auto Launch Dan mu Before Play ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġopen Player ( play Params !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd No Show Again Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDan mu Config . put ShowDialog Before Play (! it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}. build (). show ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( request Code Ġ== ĠREQUEST _ CODE _ BIND _ D AN MU ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( result Code Ġ== ĠRESULT _ OK ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdan mu Path Ġ= Ġdata ?. getString Extra (" dan mu _ path ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġepisode Id Ġ= Ġdata ?. getInt Extra (" episode _ id ", Ġ 0 ) Ġ?: Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplay Params !!. dan mu Path Ġ= Ġdan mu Path ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplay Params !!. episode Id Ġ= Ġepisode Id ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ç»ĳå®ļ å¼¹ å¹ķ åĲİ èĩªåĬ¨ æĴŃæĶ¾ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġopen Player ( play Params !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġopen Player ( play Params : ĠPlay Params ){ ĊĠĠĠĠĠĠĠ ĠA Router . getInstance () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build ( Route Table . Player . Player Center ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Parcelable (" play Params ", Ġplay Params ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. navigation () ĊĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠ Ġ} Ċ }