package Ġcom . w sd y den i . module _ browser Ċ Ċ import Ġandroid . content . res . Configuration Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . core . content . res . Resources Compat Ċ 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 . tencent . smt t . sdk . Web Chrome Client Ċ import Ġcom . tencent . smt t . sdk . WebView Ċ import Ġcom . tencent . smt t . sdk . WebView Client Ċ import Ġcom . w sd y den i . library _ base . base . Base Application Ċ import Ġcom . w sd y den i . library _ base . config . Config Ċ import Ġcom . w sd y den i . library _ base . config . Path Config Ċ import Ġcom . w sd y den i . library _ base . utils . Status Util Ċ import Ġkotlinx . android . synt hetic . main . activity _ browser .* Ċ Ċ // Ġ é¸ £ è°¢ ï¼ļ lu y ao Ċ // Ġ éĵ¾æİ¥ ï¼ļ https :// github . com / l ul ul ul bj / wan android / blob / mv vm - kotlin / app / src / main / java / lu y ao / wan android / ui / Browser Activity . kt Ċ Ċ @ Route ( path Ġ= ĠPath Config . PATH _ BROWSER ) Ċ class ĠBrowser Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġ@ Autowired ĊĠĠĠ Ġlateinit Ġvar Ġurl Ġ: ĠString ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm WebView Ġ: ĠWebView ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠStatus Util . setStatus Bar ( this ) ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠA Router . getInstance (). inject ( this ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ browser ) ĊĠĠĠĠĠĠĠ ĠStatus Util . setStatus Bar Padding And Height ( browser _ toolbar , this ) ĊĠĠĠĠĠĠĠ Ġm WebView Ġ= Ġbrowser _ web View ĊĠĠĠĠĠĠĠ Ġbrowser _ toolbar . setText Size ( 1 8 f ) ĊĠĠĠĠĠĠĠ Ġbrowser _ toolbar . set Navigation Drawable ( Context Compat . get Drawable ( this , R . drawable . ic _ detail _ left _ arrow ) !! ) ĊĠĠĠĠĠĠĠ Ġbrowser _ toolbar . setOnClickListener Ġ{ Ġon Back Pressed () Ġ} ĊĠĠĠĠĠĠĠ Ġinit WebView () ĊĠĠĠĠĠĠĠ Ġinit Data () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġm WebView . load Url ( url ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit WebView () Ġ{ ĊĠĠĠĠĠĠĠ Ġbrowser _ progress Bar . progress Drawable Ġ= ĠResources Compat . get Drawable ( resources , R . drawable . color _ progressbar , null ) ĊĠĠĠĠĠĠĠ Ġif ( null Ġ!= Ġm WebView . x 5 WebView Extension ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm WebView . x 5 WebView Extension . set Vertical Track Drawable ( null ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif ( null Ġ!= Ġm WebView . settings Extension ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm WebView . settings Extension . set Day Or Night ( Base Application . mm kv ?. decode Int ( Config . MODE _ STATE , 1 ) Ġ!= Ġ 2 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġm WebView . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠwebView Client Ġ= Ġobject Ġ: ĠWebView Client () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Page Started ( p 0 : ĠWebView ?, Ġp 1 : ĠString ?, Ġp 2 : ĠBitmap ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Page Started ( p 0 , Ġp 1 , Ġp 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbrowser _ progress Bar . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Page Finished ( p 0 : ĠWebView ?, Ġp 1 : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Page Finished ( p 0 , Ġp 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbrowser _ progress Bar . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġweb Chrome Client Ġ= Ġobject Ġ: ĠWeb Chrome Client () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Progress Changed ( p 0 : ĠWebView ?, Ġp 1 : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Progress Changed ( p 0 , Ġp 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbrowser _ progress Bar . progress Ġ= Ġp 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Received Title ( p 0 : ĠWebView ?, Ġp 1 : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Received Title ( p 0 , Ġp 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġp 1 ?. let Ġ{ Ġbrowser _ toolbar . setText ( p 1 ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Back Pressed () Ġ{ ĊĠĠĠĠĠĠĠ Ġif ( m WebView . can Go Back ()) Ġm WebView . go Back () ĊĠĠĠĠĠĠĠ Ġelse Ġsuper . on Back Pressed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Configuration Changed ( new Config : ĠConfiguration ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Configuration Changed ( new Config ) ĊĠĠĠĠĠĠĠ Ġwhen Ġ( new Config . ui Mode Ġand ĠConfiguration . UI _ MODE _ N IGHT _ MASK ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConfiguration . UI _ MODE _ N IGHT _ NO Ġ-> Ġ{} Ġ// Ġ å¤ ľ éĹ´ æ¨¡å¼ı æľª åĲ¯çĶ¨ ï¼Į ä½¿çĶ¨ æµ ħ èī² ä¸»é¢ĺ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConfiguration . UI _ MODE _ N IGHT _ YES Ġ-> Ġ{} Ġ// Ġ å¤ ľ éĹ´ æ¨¡å¼ı åĲ¯çĶ¨ ï¼Į ä½¿çĶ¨ æ·± èī² ä¸»é¢ĺ ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ