/** Ċ Ġ* ĠCopyright Ġ 2 0 2 0 Ġjav ak am Ċ Ġ* Ġ< p > Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġcom . zy . client Ċ Ċ import Ġand o . player . pip . PIP Manager Ċ import Ġand o . player . utils . Progress ManagerImpl Ċ import Ġandroid . app . Application Ċ import Ġandroid . os . Environment Ċ import Ġandroidx . appcompat . app . AppCompat Delegate Ċ import Ġcom . due ee ke . vide op layer . Build Config Ċ import Ġcom . due ee ke . vide op layer . ijk . I jk Player Factory Ċ import Ġcom . due ee ke . vide op layer . player . Video View Config Ċ import Ġcom . due ee ke . vide op layer . player . Video View Manager Ċ import Ġcom . due ee ke . vide op layer . util . Player Utils Ċ import Ġcom . l zy . ok go . Ok Go Ċ import Ġcom . l zy . ok go . cache . Cache Entity Ċ import Ġcom . l zy . ok go . cache . Cache Mode Ċ import Ġcom . sc wang . smart . refresh . header . Material Header Ċ import Ġcom . sc wang . smart . refresh . layout . Smart Refresh Layout Ċ import Ġcom . zy . client . database . Source DB Utils Ċ import Ġcom . zy . client . database . Source Model Ċ import Ġcom . zy . client . http . Config Manager Ċ import Ġcom . zy . client . utils . Crash Handler Ċ import Ġcom . zy . client . utils . ext . toast Long Ċ import Ġorg . lite pal . Lite Pal Ċ Ċ /** Ċ Ġ* Ġ@ author Ġjav ak am Ċ Ġ*/ Ċ class ĠApp Ġ: ĠApplication () Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġlateinit Ġvar Ġinstance : ĠApp ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ ĠAppCompat Delegate . set Compat Vector From Resources Enabled ( true ) ĊĠĠĠĠĠĠĠ ĠSmart Refresh Layout . setDefault Refresh Initializer Ġ{ Ġ_, Ġl Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġl . set Enable Load More ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġl . set Enable Auto Load More ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġl . set Enable Over Scroll Drag ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġl . set Enable Over Scroll Bo unce ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġl . set Enable Load More When Content Not Full ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġl . set Enable Scroll Content When Ref reshed ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġl . set Primary Colors Id ( android . R . color . transparent , ĠR . color . color _ main _ theme ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠSmart Refresh Layout . setDefault Refresh Header Creator Ġ{ Ġc , Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMaterial Header ( c ). setColor Scheme Resources ( R . color . color _ main _ theme ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// Smart Refresh Layout . setDefault Refresh Footer Creator ( null ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun ĠonCreate () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate () ĊĠĠĠĠĠĠĠ Ġinstance Ġ= Ġthis ĊĠĠĠĠĠĠĠ ĠCrash Handler . init ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ get External Files Dir ( Environment . DIRECTORY _ DOCUMENT S )?. absolute Path }/ Health Crash /" ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠLite Pal . initialize ( this ) ĊĊĠĠĠĠĠĠĠ Ġinit Source Config () ĊĊĠĠĠĠĠĠĠ ĠOk Go . getInstance (). init ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// å»ºè®® è®¾ç½® Ok HttpClient ï¼Į ä¸į è®¾ç½® å°Ĩ ä½¿çĶ¨ é»ĺè®¤ çļĦ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// . set Ok HttpClient ( ĠOk HttpClient . Builder (). build ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// åħ¨å±Ģ ç»Łä¸Ģ ç¼ĵåŃĺ æ¨¡å¼ı ï¼Į é»ĺè®¤ ä¸į ä½¿çĶ¨ ç¼ĵåŃĺ ï¼Į åı¯ä»¥ ä¸į ä¼ł ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Cache Mode ( Cache Mode . FIRST _ CACHE _ THEN _ REQUEST ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// åħ¨å±Ģ ç»Łä¸Ģ ç¼ĵåŃĺ æĹ¶éĹ´ ï¼Į é»ĺè®¤ æ°¸ ä¸įè¿ĩ æľŁ ï¼Į åı¯ä»¥ ä¸į ä¼ł ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Cache Time ( Cache Entity . CACHE _ NE VER _ EXPI RE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// åħ¨å±Ģ ç»Łä¸Ģ è¶ħæĹ¶ éĩį è¿ŀ æ¬¡æķ° ï¼Į é»ĺè®¤ä¸º ä¸ī æ¬¡ ï¼Į éĤ£ä¹Ī æľĢ å·® çļĦ æĥħåĨµ ä¼ļ è¯·æ±Ĥ 4 æ¬¡ ( ä¸Ģæ¬¡ åİŁå§ĭ è¯·æ±Ĥ ï¼Į ä¸ī æ¬¡ éĩį è¿ŀ è¯·æ±Ĥ )ï¼Į ä¸įéľĢè¦ģ åı¯ä»¥ è®¾ç½®ä¸º 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. retry Count Ġ= Ġ 2 ĊĊĠĠĠĠĠĠĠ Ġinit MediaPlayer () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Source Config () Ġ{ ĊĠĠĠĠĠĠĠ ĠSource DB Utils . is IP TV Exit (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! this ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlist Ġ= Ġmutable ListOf < Source Model >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConfig Manager . get Sources (). values . forEach Ġ{ Ġlist . addAll ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSource DB Utils . save All Async ( list ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Log . i (" 1 2 3 ", Ġ" ........ ...... Ġ$ it Ġ${ Lite Pal . count ( Tv Model :: class . java )} ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit MediaPlayer () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ// æĴŃæĶ¾ åĻ¨ ä½¿çĶ¨ ĠEx o Ċ // ĠĠĠĠĠĠĠ ĠPlayer Factory . set Play Manager ( Exo 2 Player Manager :: class . java ) ĊĠĠĠĠĠĠĠ Ġ// exo çļĦ ç¼ĵåŃĺ Ċ // ĠĠĠĠĠĠĠ ĠCache Factory . set CacheManager ( Exo Player CacheManager :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġ// æĴŃæĶ¾ åĻ¨ éħįç½® ï¼Į æ³¨æĦı ï¼ļ æŃ¤ ä¸º åħ¨å±Ģ éħįç½® ï¼Į æĮī éľĢ å¼ĢåĲ¯ ĊĠĠĠĠĠĠĠ ĠVideo View Manager . set Config ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠVideo View Config . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Log Enabled ( Build Config . DEBUG ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Player Factory ( I jk Player Factory . create ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// . set Player Factory ( Exo MediaPlayer Factory . create ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// . set Render View Factory ( Surface Render View Factory . create ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// . set Enable Orientation ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// . set Enable Audio Focus ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// . set Screen Scale Type ( Video View . SCREEN _ SCALE _ MATCH _ PARENT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// . set Adapt Cut out ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// . set Play On Mobile Network ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Progress Manager ( Progress ManagerImpl ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠP IP Manager . init ( this ) ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( Player Utils . get Network Type ( this )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPlayer Utils . NETWORK _ MOB ILE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast Long (" ç§»åĬ¨ ç½ĳç»ľ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPlayer Utils . NETWORK _ WIFI Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast Long (" WIFI ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPlayer Utils . NETWORK _ ETHER NET Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast Long (" ä»¥ å¤ª ç½ĳ ç½ĳç»ľ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPlayer Utils . NO _ NETWORK Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast Long (" æ²¡æľī ç½ĳç»ľ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġexit Sys () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// PIP Manager . get ()?. clear Cache Data () ĊĠĠĠ Ġ} Ċ Ċ }