package Ġcom . example . y xm . phot ogen ic . ui . activity Ċ Ċ import Ġandroid . content . res . Configuration Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . core . widget . Nested ScrollView Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . example . lib _ image loader . Image Loader Manager Ċ import Ġcom . example . lib _ network . bean . Common Video Bean Ċ import Ġcom . example . lib _ network . bean . Community Bean Ċ import Ġcom . example . lib _ network . bean . Home Bean Ċ import Ġcom . example . y xm . phot ogen ic . R Ċ import Ġcom . example . y xm . phot ogen ic . base . Base Activity Ċ import Ġcom . example . y xm . phot ogen ic . font . Font TextView Ċ import Ġcom . example . y xm . phot ogen ic . module . vide ode tail . Video Detail Contract Ċ import Ġcom . example . y xm . phot ogen ic . module . vide ode tail . Video Detail Presenter Ċ import Ġcom . example . y xm . phot ogen ic . module . vide ode tail . Video Detail Relative Adapter Ċ import Ġcom . example . y xm . phot ogen ic . ui . activity . Category Detail Activity . Companion . CATEGORY _ DETAIL Ċ import Ġcom . example . y xm . phot ogen ic . ui . activity . Tag Detail Activity . Companion . TAG _ DETAIL Ċ import Ġcom . example . y xm . phot ogen ic . ui . fragment . Community Follow Fragment . Companion . COMM UN ITY _ FOLLOW Ċ import Ġcom . example . y xm . phot ogen ic . ui . fragment . Community Recommend Fragment . Companion . COMM UN ITY _ RE COMM END Ċ import Ġcom . example . y xm . phot ogen ic . ui . fragment . Discovery Fragment . Companion . DIS COVERY Ċ import Ġcom . example . y xm . phot ogen ic . ui . fragment . HomePage Daily Report Fragment . Companion . HOME _ REPORT Ċ import Ġcom . example . y xm . phot ogen ic . ui . fragment . HomePage Recommend Fragment . Companion . HOME _ RE COMM END Ċ import Ġcom . example . y xm . phot ogen ic . ui . fragment . Rank Fragment . Companion . RAN K _ FRAGMENT Ċ import Ġcom . example . y xm . phot ogen ic . ui . fragment . SearchResult Fragment . Companion . SEARCH _ RESULT Ċ import Ġcom . example . y xm . phot ogen ic . utils . Screen Helper Ċ import Ġcom . example . y xm . phot ogen ic . widget . Circle ImageView Ċ import Ġcom . example . y xm . phot ogen ic . widget . Footer View Ċ import Ġcom . gy f . imm ersion bar . Imm ersion Bar Ċ import Ġcom . sh uy u . gs y vide op layer . G SY Video Manager Ċ import Ġcom . sh uy u . gs y vide op layer . listener . G SY Sample CallBack Ċ import Ġcom . sh uy u . gs y vide op layer . utils . Orientation Utils Ċ import Ġcom . sh uy u . gs y vide op layer . video . Standard G SY Video Player Ċ import Ġcom . sh uy u . gs y vide op layer . video . base . G SY Video Player Ċ import Ġio . reactivex . dis pos ables . Disposable Ċ import Ġkotlinx . android . synt hetic . main . activity _ video _ play .* Ċ import Ġshare . core . Share Manager Ċ Ċ /** Ċ Ġ* Created Ġby Ġy xm Ġon Ġ 2 0 2 0 / 2 / 2 5 Ċ Ġ*@ function Ġ è§Ĩé¢ĳ æĴŃæĶ¾ é¡µ Ċ Ġ*/ Ċ class ĠVideo Play Activity Ġ: ĠBase Activity (), ĠVideo Detail Contract . IV ideo Detail View Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġdata ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġval Ġm Presenter : ĠVideo Detail Presenter Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠVideo Detail Presenter () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġm Adapter : ĠVideo Detail Relative Adapter Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠVideo Detail Relative Adapter () ĊĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġvideo : ĠAny ĊĠĠĠ Ġprivate Ġvar Ġorientation Utils : ĠOrientation Utils ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġis Pause Ġ= Ġfalse ĊĠĠĠ Ġprivate Ġvar Ġis Play Ġ= Ġfalse ĊĠĠĠ Ġprivate Ġvar Ġfrom Where : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġvar Ġrelative Video Id : ĠLong Ġ= Ġ 1 8 7 5 1 2 ĊĠĠĠ Ġprivate Ġvar Ġpermission : ĠDis posable ? Ġ= Ġnull ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠUI ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Video Player : ĠStandard G SY Video Player ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Video Title : ĠFont TextView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Video Category : ĠTextView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Video Intro duce : ĠTextView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Author Avatar : ĠCircle ImageView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Video Author Title : ĠFont TextView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Video Description : ĠTextView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Relative Video Rv : ĠRecyclerView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Background View : ĠNested ScrollView ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġm Presenter . attach View ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset StatusBar State () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . setStatus Bar State () ĊĠĠĠĠĠĠĠ ĠImm ersion Bar . hide StatusBar ( this . window ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit Data Before View () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . init Data Before View () ĊĠĠĠĠĠĠĠ Ġfrom Where Ġ= Ġintent . getInt Extra (" from Where ", Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġvideo Ġ= Ġintent . get Serializable Extra (" video ") ĊĠĠĠĠĠĠĠ Ġrelative Video Id Ġ= Ġintent . getLong Extra (" relative Video Id ", Ġrelative Video Id ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Layout Id (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠR . layout . activity _ video _ play ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit View () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Video Player Ġ= Ġvideo _ player ĊĠĠĠĠĠĠĠ Ġm Video Title Ġ= Ġvideo _ title ĊĠĠĠĠĠĠĠ Ġm Video Author Title Ġ= Ġvideo _ author _ title ĊĠĠĠĠĠĠĠ Ġm Video Category Ġ= Ġvideo _ category ĊĠĠĠĠĠĠĠ Ġm Video Description Ġ= Ġvideo _ description ĊĠĠĠĠĠĠĠ Ġm Video Intro duce Ġ= Ġvideo _ intro duce ĊĠĠĠĠĠĠĠ Ġm Author Avatar Ġ= Ġvideo _ author _ avatar ĊĠĠĠĠĠĠĠ Ġm Background View Ġ= Ġvideo _ detail _ nested _ scroll ĊĊĠĠĠĠĠĠĠ Ġm Relative Video Rv Ġ= Ġrelative _ video _ rv ĊĠĠĠĠĠĠĠ Ġm Relative Video Rv . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Manager Ġ= ĠLinearLayoutManager ( mContext ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Ġ= Ġm Adapter ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġm Adapter . set Footer View ( Footer View ( mContext ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Footer Color ( R . color . white ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġinit Video Player () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġpermission Ġ= Ġrx Permission . request (" android . permission . READ _ EXTERNAL _ STORAGE ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Presenter . load Video Info ( video , Ġfrom Where ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġm Presenter . load Relative Video ( relative Video Id ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit Listener () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Adapter . setOn ItemClickListener Ġ{ Ġadapter , Ġ_, Ġposition Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġadapter . getItem ( position ) Ġas ĠCommon Video Bean . Result Bean ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplay Video ( item . data . play Url , Ġitem . data . title ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Presenter . load Relative Video ( item . data . id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Presenter . load Video Info ( item , ĠV IDE O _ DETAIL ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// åĪĨäº« ĊĠĠĠĠĠĠĠ Ġm Adapter . setOn Item Child ClickListener Ġ{ Ġadapter , Ġview , Ġposition Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġadapter . getItem ( position ) Ġas ĠCommon Video Bean . Result Bean ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( view . id Ġ== ĠR . id . video _ share _ iv ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠShare Manager . share Web Page ( mContext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem . data . description , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem . data . title , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem . data . cover . feed Ġ?: Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem . data . web Url . raw ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè®¾ç½® è§Ĩé¢ĳ ä¿¡æģ¯ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġset Video Info ( video : ĠAny , Ġfrom Where : ĠInt , Ġtype : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( from Where ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCOMM UN ITY _ FOLLOW , ĠV IDE O _ DETAIL , ĠR ANK _ FRAGMENT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDIS COVERY , ĠSEARCH _ RESULT , ĠC ATEG ORY _ DETAIL , ĠTAG _ DETAIL Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbean Ġ= Ġvideo Ġas ĠCommon Video Bean . Result Bean . Result Data ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Video Info ( bean ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHOME _ RE COMM END , ĠHOME _ REPORT Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( type Ġ== Ġ" follow Card ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdata Ġ= Ġvideo Ġas ĠCommon Video Bean . Result Bean . Result Data ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Video Info ( data ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbean Ġ= Ġvideo Ġas ĠHome Bean . Issue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Video Title . text Ġ= Ġbean . data . title ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Video Author Title . text Ġ= Ġbean . data . author ?. name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Video Category . text Ġ= Ġ"# ${ bean . data . category }" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Video Description . text Ġ= Ġbean . data . author ?. description ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Video Intro duce . text Ġ= Ġbean . data . description ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠImage Loader Manager . display Image Override Width And Height ( m Author Avatar , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbean . data . author ?. icon Ġ?: Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ, ĠScreen Helper . dip 2 px ( mContext , Ġ 5 0 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠScreen Helper . dip 2 px ( mContext , Ġ 5 0 f )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠImage Loader Manager . display Image For ViewGroup ( m Background View , Ġbean . data . cover ?. bl urred ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCOMM UN ITY _ RE COMM END Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbean Ġ= Ġvideo Ġas ĠCommunity Bean . Issue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Video Title . text Ġ= Ġbean . data . content . data . title ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Video Author Title . text Ġ= Ġbean . data . content . data . owner . nickname ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Video Category . text Ġ= Ġ"# ${ bean . data . header . issuer Name }" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Video Description . text Ġ= Ġbean . data . content . data . owner . description ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Video Intro duce . text Ġ= Ġbean . data . content . data . description ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠImage Loader Manager . display Image For View ( m Author Avatar , Ġbean . data . content . data . owner . avatar ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠImage Loader Manager . display Image For ViewGroup ( m Background View , Ġbean . data . content . data . cover . bl urred ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Relative Video ( data : ĠArrayList < Common Video Bean . Result Bean >) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Adapter . set List ( data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġplay Video ( url : ĠString , Ġtitle : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Video Player . setUp ( url , Ġfalse , Ġtitle ) ĊĠĠĠĠĠĠĠ Ġ// èĩªåĬ¨ æĴŃæĶ¾ ĊĠĠĠĠĠĠĠ Ġm Video Player . start Play Logic () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Loading () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Relative Video Rv . visibility Ġ= ĠView . GONE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdismiss Loading () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Relative Video Rv . visibility Ġ= ĠView . VISIBLE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Error ( msg : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Error Toast ( msg ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Success () Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Pause () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Pause () ĊĠĠĠĠĠĠĠ Ġis Pause Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġm Video Player . on Video Pause () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ ĠgetCurrent Play (). on Video Resume () ĊĠĠĠĠĠĠĠ Ġis Pause Ġ= Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠ Ġif Ġ( is Play ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠgetCurrent Play (). release () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġorientation Utils ?. release Listener () ĊĠĠĠĠĠĠĠ Ġpermission ?. dispose () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Back Pressed () Ġ{ ĊĠĠĠĠĠĠĠ Ġorientation Utils ?. back To Prot Video () ĊĠĠĠĠĠĠĠ Ġ// å¦Ĥæŀľ æĺ¯ æ¨ ª å±ı åĪĻ è¿ĶåĽŀ æŃ£å¸¸ çĬ¶æĢģ ĊĠĠĠĠĠĠĠ Ġif Ġ( G SY Video Manager . back From Window Full ( this )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġm Video Player . set Video All CallBack ( null ) ĊĠĠĠĠĠĠĠ ĠG SY Video Manager . release All Videos () ĊĠĠĠĠĠĠĠ Ġsuper . on Back Pressed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Configuration Changed ( new Config : ĠConfiguration ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Configuration Changed ( new Config ) ĊĠĠĠĠĠĠĠ Ġ// å¦Ĥæŀľ æĹ ĭ è½¬ äºĨ å°± åħ¨ å±ı ĊĠĠĠĠĠĠĠ Ġif Ġ( is Play Ġ&& Ġ! is Pause ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Video Player . on Configuration Changed ( this , Ġnew Config , Ġorientation Utils , Ġtrue , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// èİ·åıĸ å½ĵåīį çļĦ æĴŃæĶ¾ åĻ¨ ĊĠĠĠ Ġprivate Ġfun ĠgetCurrent Play (): ĠG SY Video Player Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( m Video Player . full Window Player Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġm Video Player . full Window Player ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġm Video Player ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠåĪĿå§ĭåĮĸ video Player éħįç½® ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġinit Video Player () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// è®¾ç½® æĹ ĭ è½¬ ĊĠĠĠĠĠĠĠ Ġorientation Utils Ġ= ĠOrientation Utils ( this , Ġm Video Player ) ĊĠĠĠĠĠĠĠ Ġorientation Utils !!. is Enable Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġm Video Player . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ä¸įéľĢè¦ģ æµģ éĩı æıĲ é ĨĴ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Need Show Wifi Tip Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Rotate View Auto Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// å°ı å±ı çĬ¶æĢģ ä¸ĭ ä¸į åı¯ä»¥ æ»ĳ åĬ¨ è°ĥæķ´ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠsetIs Touch Wi get ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// åħ¨ å±ı çĬ¶æĢģ ä¸ĭ åı¯ä»¥ æ»ĳ åĬ¨ è°ĥæķ´ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠsetIs Touch Wi getFull ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Show Full Animation Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// æĺ¯åĲ¦ å¼ĢåĲ¯ éĶģ å±ı ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Need Lock Full Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// éĢĢåĩº çķĮéĿ¢ æĹ¶ éĩĬæĶ¾ å½ĵåīį æĴŃæĶ¾ çļĦ video ĊĠĠĠĠĠĠĠĠĠĠĠ Ġback Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . release () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Back Pressed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// åħ¨ å±ı æĴŃæĶ¾ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfullscreen Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġorientation Utils !!. resolve By Click () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . start Window Fullscreen ( this @ Video Play Activity , Ġtrue , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Video All CallBack ( object Ġ: ĠG SY Sample CallBack () Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Prepared ( url : ĠString ?, Ġvar arg Ġobjects : ĠAny ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Prepared ( url , Ġ* objects ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// å¼Ģå§ĭ æĴŃæĶ¾ æīįèĥ½ æĹ ĭ è½¬ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġorientation Utils !!. is Enable Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Play Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Quit Fullscreen ( url : ĠString ?, Ġvar arg Ġobjects : ĠAny ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Quit Fullscreen ( url , Ġ* objects ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġorientation Utils ?. back To Prot Video () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Play Error ( url : ĠString ?, Ġvar arg Ġobjects : ĠAny ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Play Error ( url , Ġ* objects ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Error Toast (" æĴŃæĶ¾ å¤±è´¥ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Lock ClickListener Ġ{ Ġ_, Ġlock Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġorientation Utils ?. is Enable Ġ= Ġ! lock ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġè®¾ç½® è§Ĩé¢ĳ ä¿¡æģ¯ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġset Video Info ( data : ĠCommon Video Bean . Result Bean . Result Data ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Video Title . text Ġ= Ġdata . title ĊĠĠĠĠĠĠĠ Ġm Video Author Title . text Ġ= Ġdata . author ?. name ĊĠĠĠĠĠĠĠ Ġm Video Category . text Ġ= Ġ"# ${ data . category }" ĊĠĠĠĠĠĠĠ Ġm Video Description . text Ġ= Ġdata . author ?. description ĊĠĠĠĠĠĠĠ Ġm Video Intro duce . text Ġ= Ġdata . description ĊĠĠĠĠĠĠĠ ĠG lide . with ( this ). load ( data . author ?. icon ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( m Author Avatar ) ĊĠĠĠĠĠĠĠ ĠImage Loader Manager . display Image For ViewGroup ( m Background View , Ġdata . cover . bl urred ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġ"") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠV IDE O _ DETAIL Ġ= Ġ 9 ĊĠĠĠ Ġ} Ċ }