package Ġme . sweet ll . t uc ao . business . video Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . databinding . Data Binding Util Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġcom . sh uy u . gs y vide op layer . G SY Pre View Manager Ċ import Ġcom . sh uy u . gs y vide op layer . G SY Video Manager Ċ import Ġcom . sh uy u . gs y vide op layer . G SY Video Player Ċ import Ġcom . sh uy u . gs y vide op layer . model . Video Option Model Ċ import Ġcom . sh uy u . gs y vide op layer . utils . Common Util Ċ import Ġcom . sh uy u . gs y vide op layer . utils . G SY Video Type Ċ Ċ import Ġme . sweet ll . t uc ao . R Ċ import Ġme . sweet ll . t uc ao . base . Base Activity Ċ import Ġme . sweet ll . t uc ao . business . download . model . Part Ċ import Ġme . sweet ll . t uc ao . business . download . model . Video Ċ import Ġme . sweet ll . t uc ao . business . video . adapter . Standard Video All CallBack Adapter Ċ import Ġme . sweet ll . t uc ao . databinding . Activity Cached Video Binding Ċ import Ġme . sweet ll . t uc ao . extension . setUp Ċ import Ġme . sweet ll . t uc ao . widget . Dan mu Video Player Ċ import Ġtv . dan mak u . ijk . media . player . I jk MediaPlayer Ċ Ċ class ĠCached Video Activity Ġ: ĠBase Activity (), ĠDan mu Video Player . Dan mu Player Holder Ġ{ ĊĠĠĠ Ġlateinit Ġvar Ġbinding : ĠActivity Cached Video Binding ĊĊĠĠĠ Ġvar Ġis Play Ġ= Ġfalse ĊĠĠĠ Ġvar Ġis Pause Ġ= Ġfalse ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠARG _ PART Ġ= Ġ" part " ĊĊĠĠĠĠĠĠĠ Ġfun Ġintent To ( context : ĠContext , Ġpart : ĠPart ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( context , ĠCached Video Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( ARG _ PART , Ġpart ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . startActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit View ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠData Binding Util . set ContentView ( this , ĠR . layout . activity _ cached _ video ) ĊĠĠĠĠĠĠĠ Ġval Ġpart : ĠPart Ġ= Ġintent . get Parcelable Extra ( ARG _ PART ) ĊĠĠĠĠĠĠĠ Ġsetup Player () ĊĠĠĠĠĠĠĠ Ġload Part ( part ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsetup Player () Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . player . load Text ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . text Ġ= Ġit . text . replace (" èİ·åıĸ è§Ĩé¢ĳ ä¿¡æģ¯ ... ". to Regex (), Ġ" èİ·åıĸ è§Ĩé¢ĳ ä¿¡æģ¯ ... [ å®ĮæĪĲ ]") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . text Ġ= Ġit . text . replace (" åħ¨ èĪ ° å¼¹ å¹ķ è£ħ å¡« ... ". to Regex (), Ġ"") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠG SY Video Manager . instance (). option Model List Ġ= Ġmutable ListOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVideo Option Model ( I jk MediaPlayer . OPT _ CATEGORY _ FORMAT , Ġ" safe ", Ġ 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVideo Option Model ( I jk MediaPlayer . OPT _ CATEGORY _ FORMAT , Ġ" protocol _ whitelist ", Ġ" concat , file , sub file , http , https , tls , rtp , tcp , udp , crypto "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVideo Option Model ( I jk MediaPlayer . OPT _ CATEGORY _ FORMAT , Ġ" user _ agent ", Ġ" ijk ") ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġbinding . player . is Lock Land Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġbinding . player . is Need Lock Full Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġbinding . player . isOpen Pre View Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġbinding . player . is Need Show Wifi Tip Ġ= Ġfalse ĊĊĠĠĠĠĠĠĠ ĠG SY Video Type . enable Media Codec () Ġ// Ġ å¼ĢåĲ¯ ç¡¬ è§£ ĊĊĠĠĠĠĠĠĠ Ġbinding . player . set Standard Video All CallBack ( object : ĠStandard Video All CallBack Adapter () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Prepared ( p 0 : ĠString ?, Ġvar arg Ġp 1 : ĠAny ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Prepared ( p 0 , Ġ* p 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Play Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġbinding . player . fullscreen Button . visibility Ġ= ĠView . GONE Ċ // ĠĠĠĠĠĠĠ ĠCommon Util . hide Nav Key ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġload Part ( part : ĠPart ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġd urls Ġ= Ġpart . d urls ĊĠĠĠĠĠĠĠ Ġd urls . isNotEmpty (). let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . player . load Text ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . text Ġ= Ġit . text . replace (" è§£æŀĲ è§Ĩé¢ĳ åľ°åĿĢ ... ". to Regex (), Ġ" è§£æŀĲ è§Ĩé¢ĳ åľ°åĿĢ ... [ å®ĮæĪĲ ]") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . player . start Button . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( d urls . size Ġ== Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . player . setUp ( d urls [ 0 ]. getCache AbsolutePath (), Ġtrue , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . player . setUp ( d urls , Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġload Dan mu Uri ( uri : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . player . setUp Dan mu ( uri ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Pause () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Pause () ĊĠĠĠĠĠĠĠ Ġbinding . player . on Video Pause () ĊĠĠĠĠĠĠĠ Ġis Pause Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġbinding . player . on Video Resume () ĊĠĠĠĠĠĠĠ Ġis Pause Ġ= Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠ ĠG SY Video Player . release All Videos () ĊĠĠĠĠĠĠĠ ĠG SY Pre View Manager . instance (). release MediaPlayer () ĊĠĠĠĠĠĠĠ Ġbinding . player . on Video Destroy () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Send Dan mu ( st ime : ĠFloat , Ġmessage : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠDo Ġnothing ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Save Play History ( position : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠDO Ġnothing ĊĠĠĠ Ġ} Ċ } Ċ