package Ġcom . hq . tool . model . webview Ċ Ċ import Ġandroid . os . Build Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . webkit .* Ċ import Ġandroid . webkit . WebView Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroid . net . http . Ssl Error Ċ import Ġandroid . view . View Ċ import Ġandroid . webkit . Ssl ErrorHandler Ċ import Ġandroid . content . Intent Ċ import Ġandroid . net . Uri Ċ import Ġandroid . widget .* Ċ import Ġandroidx . appcompat . app . AlertDialog Ċ import Ġcom . hq . tool . R Ċ import Ġcom . hq . tool . ani . Circular Anim Ċ import Ġcom . hq . tool . ani . Load Anim Ċ import Ġcom . hq . tool . system . CAMERA _ REQUEST Ċ import Ġcom . hq . tool . system . open Camera Ċ import Ġcom . hq . tool . toast ĊĊ Ċ /** Ċ Ġ* ĠCreated Ġby Ġlen ovo Ġon Ġ 2 0 1 7 / 9 / 1 4 . Ċ Ġ*/ Ċ Ċ class ĠHtml Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġover Time : ĠLong Ġ= Ġ 0 ĊĠĠĠ Ġ// ĠĠĠ Ġhttps :// dq y . he - n - tax . gov . cn : 8 0 9 0 / dq y / login _ s jd . jsp Ċ // Ċ // ĠĠĠĠĠĠĠ Ġprotected Ġval Ġm BaseUrl Ġ= Ġ" http :// 7 5 . 1 6 . 4 0 . 2 0 2 : 8 0 8 0 / wd qy / login _ s jd . jsp " Ċ // ĠĠĠ Ġprivate Ġval Ġprotocol Ġ= Ġ" https ://" ĊĠĠĠ Ġprivate Ġvar Ġm BaseUrl Ġ= Ġ"" ĊĠĠĠ Ġprivate Ġvar Ġerror Url : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġbuild : Html Build ?= null ĊĠĠĠ Ġprivate Ġvar Ġis Single = false ĊĠĠĠ Ġprivate Ġvar Ġis Auto Style = false ĊĠĠĠ Ġ// ĠĠĠ Ġprivate Ġval Ġm Start Url : ĠString Ġ= Ġ" login _ s jd . jsp " ĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠwebView : ĠWebView ĊĠĠĠ Ġprivate Ġvar Ġupload Message Above L : Value Callback < Array < Uri >> ?= null ĊĠĠĠ Ġprivate Ġvar Ġc Uri : Uri ?= null ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġerror Ll : ĠLinearLayout ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġerror Img : ĠImageView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġerror Text : ĠTextView ĊĠĠĠ Ġprivate Ġvar Ġload Log : ĠAlertDialog ?= null ĊĊĠĠĠ Ġprivate Ġval Ġjs Change Style Ġ= Ġ" javascript : function Ġmy Function (){ \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" var Ġ\$ jquery Ġ= ĠjQuery . no Conflict (); \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" var Ġcontent =\ $ jquery ('. article '); \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ $ jquery (' body '). empty (); \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" content . css ({\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" background :\" # fff \",\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" position :\" absolute \",\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" top :\" 0 \", left :\" 0 \",\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" }); \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ $ jquery (' body '). append ( content );\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ $ jquery (\" div \" ). removeAttr (\" class \" ). removeAttr (\" style \" ). removeAttr (\" id \ "); \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ $ jquery (\" a \" ). removeAttr (\" class \" ). removeAttr (\" style \" ). removeAttr (\" id \ "); \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ $ jquery (\" h 1 \" ). removeAttr (\" class \" ). removeAttr (\" style \" ). removeAttr (\" id \ "); \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ $ jquery (\" h 2 \" ). removeAttr (\" class \" ). removeAttr (\" style \" ). removeAttr (\" id \ "); \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ $ jquery (\" h 3 \" ). removeAttr (\" class \" ). removeAttr (\" style \" ). removeAttr (\" id \ "); \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ $ jquery (\" h 4 \" ). removeAttr (\" class \" ). removeAttr (\" style \" ). removeAttr (\" id \ "); \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ $ jquery (\" h 5 \" ). removeAttr (\" class \" ). removeAttr (\" style \" ). removeAttr (\" id \ "); \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ $ jquery (\" h 6 \" ). removeAttr (\" class \" ). removeAttr (\" style \" ). removeAttr (\" id \ "); \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ $ jquery (\" img \" ). removeAttr (\" class \" ). removeAttr (\" style \" ). removeAttr (\" id \ "); \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ $ jquery (\" img \" ). css ({ width : Ġ\" 1 0 0 % \", height :\" 1 0 0 % \", obj ec Fit :\" cover \" }); \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ $ jquery (\" h 1 \" ). css ({ padding Bottom : Ġ\" 0 . 3 em \", fontSize :\" 2 em \", border Bottom :\" 1 px Ġsolid Ġ# eae cef \" }); \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ $ jquery (\" h 2 \" ). css ({ padding Bottom : Ġ\" 0 . 3 em \", fontSize :\" 1 . 5 em \", border Bottom :\" 1 px Ġsolid Ġ# eae cef \" }); \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ $ jquery (\" h 3 \" ). css ({ fontSize :\" 1 . 2 5 em \" }); \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ $ jquery (\" h 4 \" ). css ({ fontSize :\" 1 em \" }); \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ $ jquery (\" h 5 \" ). css ({ fontSize :\" 0 . 8 7 5 em \" }); \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ $ jquery (\" h 6 \" ). css ({ fontSize :\" 0 . 8 5 em \" }); \ n }" Ċ Ċ // ĠĠĠ Ġval Ġimg Res List Ġ= ĠArrayList < String >(). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠĠĠĠĠĠĠ Ġadd ("${ m BaseUrl } s jd / tz gg / tz gg xq . action ?") Ċ // ĠĠĠĠĠĠĠ Ġadd ("${ m BaseUrl } s jd / z csd / z cs dx q . action ?") Ċ // ĠĠĠĠĠĠĠ Ġadd ("${ m BaseUrl } s jd / fx ts / fx tsx q . action ?") Ċ // ĠĠĠĠĠĠĠ Ġadd ("${ m BaseUrl } s jd / Z ds xb g / Z ds xb gx q . action ?") Ċ // ĠĠĠĠĠĠĠ Ġadd ("${ m BaseUrl } q yd / ss sqs / ss sqs ck . action ?") Ċ // ĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġnew Load Ġ= ĠArrayList < String >(). apply Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġneed Clear History Ġ= Ġfalse ĊĊĠĠĠ Ġval Ġdialog Ġ= ĠCircular Anim () ĊĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ html ) ĊĠĠĠĠĠĠĠ Ġm BaseUrl Ġ= Ġintent . getString Extra (" URL ") ĊĠĠĠĠĠĠĠ Ġerror Url Ġ= Ġintent . getString Extra (" ERROR URL ") ĊĠĠĠĠĠĠĠ Ġis Single = intent . getBoolean Extra (" IS SINGLE ", false ) ĊĠĠĠĠĠĠĠ Ġis Auto Style = intent . getBoolean Extra (" IS AUTO STYLE ", false ) ĊĠĠĠĠĠĠĠ Ġinit () ĊĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġinit () Ġ{ ĊĠĠĠĠĠĠĠ ĠwebView Ġ= ĠfindViewById ( R . id . main _ web ) Ġas ĠWebView ĊĠĠĠĠĠĠĠ Ġerror Ll Ġ= ĠfindViewById ( R . id . error _ ll ) Ġas ĠLinearLayout ĊĠĠĠĠĠĠĠ Ġerror Img Ġ= ĠfindViewById ( R . id . error _ img ) Ġas ĠImageView ĊĠĠĠĠĠĠĠ Ġerror Text Ġ= ĠfindViewById ( R . id . error _ text ) Ġas ĠTextView ĊĠĠĠĠĠĠĠ Ġdialog . full Activity ( this , ĠwebView ) ĊĠĠĠĠĠĠĠ ĠwebView . settings . setDefault FontSize ( 2 2 ) ĊĠĠĠĠĠĠĠ ĠwebView . settings . setMinimum FontSize ( 1 6 )// è®¾ç½® ĠWebView ĠæĶ¯æĮģ çļĦ æľĢå°ı åŃĹ ä½ĵ å¤§å°ı ï¼Į é»ĺè®¤ä¸º Ġ 8 ĊĠĠĠĠĠĠĠ ĠwebView . settings . cache Mode Ġ= ĠWeb Settings . LOAD _ DEFAULT // Ġä¸į åĬłè½½ ç¼ĵåŃĺ ĊĠĠĠĠĠĠĠ ĠwebView . settings . set Render Priority ( Web Settings . Render Priority . HIGH ) ĊĠĠĠĠĠĠĠ ĠwebView . settings . java Script Enabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠ ĠwebView . settings . dom Storage Enabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠ ĠwebView . settings . set App Cache MaxSize ( 1 0 2 4 Ġ* Ġ 1 0 2 4 Ġ* Ġ 8 ) ĊĠĠĠĠĠĠĠ ĠwebView . settings . set Dom Storage Enabled ( true );// è®¾ç½® éĢĤ åºĶ HTML 5 çļĦ ä¸ĢäºĽ æĸ¹æ³ķ ĊĠĠĠĠĠĠĠ ĠwebView . settings . set Block Network Image ( false )// æĺ¯åĲ¦ éĺ» å¡ŀ åĬłè½½ ç½ĳç»ľ åĽ¾çīĩ Ġ Ġ åįıè®® http Ġor Ġhttps ĊĠĠĠĠĠĠĠ ĠwebView . settings . set Allow File Access ( true ) Ġ// åħģè®¸ åĬłè½½ æľ¬åľ° æĸĩä»¶ html Ġ Ġfile åįıè®® , Ġ è¿Ļ åı¯èĥ½ä¼ļ éĢł æĪĲ ä¸į å®īåħ¨ Ġ, Ġ å»ºè®® éĩį åĨĻ åħ³éĹŃ ĊĠĠĠĠĠĠĠ ĠwebView . settings . set Allow File Access FromFile URLs ( false ) Ġ// éĢļè¿ĩ Ġfile Ġurl Ġ åĬłè½½ çļĦ ĠJavascript Ġ è¯»åıĸ åħ¶ä»ĸ çļĦ æľ¬åľ° æĸĩä»¶ Ġ. å»ºè®® åħ³éĹŃ ĊĠĠĠĠĠĠĠ ĠwebView . settings . set Allow Universal Access FromFile URLs ( false )// åħģè®¸ éĢļè¿ĩ Ġfile Ġurl Ġ åĬłè½½ çļĦ ĠJavascript Ġåı¯ä»¥ è®¿éĹ® åħ¶ä»ĸ çļĦ æºĲ ï¼Į åĮħæĭ¬ åħ¶ä»ĸ çļĦæĸĩä»¶ åĴĮ Ġhttp ï¼Į https Ġ çŃī åħ¶ä»ĸ çļĦ æºĲ ĊĠĠĠĠĠĠĠ ĠwebView . settings . text Zoom = 1 0 0 Ċ Ċ // ĠĠĠĠĠĠĠ Ġval Ġapp Cache Path Ġ= Ġapplication Context . cacheDir . absolute Path Ċ // ĠĠĠĠĠĠĠ Ġmain _ web . settings . set App Cache Path ( app Cache Path ) Ċ // ĠĠĠĠĠĠĠ Ġmain _ web . settings . set App Cache Enabled ( true ) ĊĠĠĠĠĠĠĠ ĠwebView . settings . setLayout Algorithm ( Web Settings . Layout Algorithm . N ARROW _ COLUMNS ); Ċ // ĠĠĠĠĠĠĠ Ġmain _ web . settings . allow File Access Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . LO L LI POP ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCookie Manager . getInstance (). set Accept Third Party Cookies ( web View , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCookie Manager . getInstance (). set Accept Cookie ( true ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠwebView . add Javascript Interface ( object Ġ: ĠObject (){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Javascript Interface ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġjs Android ( msg Ġ: ĠString ){ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ç¬¬äºĮ ä¸ª åıĤæķ° åı¯ä»¥ èĩªå·± éļı ä¾¿ è®¾ç½® ï¼Į åľ¨ html éĩĮ ä¼ļ çĶ¨ åĪ° ĊĠĠĠĠĠĠĠ Ġ}, " android s ") ĊĊĠĠĠĠĠĠĠ Ġerror Ll . setOnClickListener ({ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠwebView . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġerror Ll . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ ĠwebView . load Url ( m BaseUrl ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġneed Clear History Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ ĠwebView . web Chrome Client Ġ= Ġobject Ġ: ĠWeb Chrome Client () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Js Alert ( view : ĠWebView ?, Ġurl : ĠString ?, Ġmessage : ĠString ?, Ġresult : ĠJs Result ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmessage ?. toast ( this @ Html Activity ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult ?. confirm () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġis Need Exe Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Progress Changed ( view : ĠWebView ?, Ġnew Progress : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( new Progress Ġ> Ġ 9 5 Ġ&& Ġis Need Exe && is Auto Style ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Need Exe Ġ= Ġ! is Need Exe ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠwebView . load Url ( js Change Style ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠwebView . load Url (" javascript : my Function () ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Progress Changed ( view , Ġnew Progress ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Show FileChooser ( web View : ĠWebView , ĠfilePath Callback : ĠValue Callback < Array < Uri >>, Ġfile Chooser Params : ĠFile Chooser Params ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupload Message Above L Ġ= ĠfilePath Callback ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// è°ĥçĶ¨ ç³»ç»Ł çĽ¸ æľº æĪĸèĢħ çĽ¸ åĨĮ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġc Uri = Ġopen Camera () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Geo location Permissions Show Prompt ( origin : ĠString ?, Ġcallback : ĠGeo location Permissions . Callback ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback ?. invoke ( origin , Ġtrue , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Geo location Permissions Show Prompt ( origin , Ġcallback ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠwebView . web View Client Ġ= Ġobject Ġ: ĠWebView Client () Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġshould Override Url Loading ( view : ĠWebView , Ġurl : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . load Url ( url ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Page Started ( view : ĠWebView , Ġurl : ĠString , Ġfav icon : ĠBitmap ?) Ġ{// å¼Ģå§ĭ åĬłè½½ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( u Ġin Ġnew Load ) Ġ{// æīĵå¼Ģ å¤ĸéĥ¨ ç½ĳç«Ļ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( url . indexOf ( u ) Ġ!= Ġ- 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . action Ġ= Ġ" android . intent . action . VIEW " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontent _ url Ġ= ĠUri . parse ( url ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . data Ġ= Ġcontent _ url ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠwebView . stop Loading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Load () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Page Started ( view , Ġurl , Ġfav icon ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Page Finished ( view : ĠWebView , Ġurl : ĠString ) Ġ{// åĬłè½½ å®ĮæĪĲ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Page Finished ( view , Ġurl ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( need Clear History ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠwebView . clear History () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġneed Clear History Ġ= Ġfalse Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsetName () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimg Reset () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhide Load () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Received Error ( view : ĠWebView ?, Ġrequest : ĠWeb Resource Request ?, Ġerror : ĠWeb Resource Error ?) Ġ{// åĬłè½½ å¤±è´¥ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Received Error ( view , Ġrequest , Ġerror ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmain _ web . load Url ( m Url ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠwebView . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerror Ll . visibility Ġ= ĠView . VISIBLE ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Received Http Error ( view : ĠWebView ?, Ġrequest : ĠWeb Resource Request ?, Ġerror Response : ĠWeb Resource Response ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Received Http Error ( view , Ġrequest , Ġerror Response ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Received Ssl Error ( view : ĠWebView , Ġhandler : ĠS sl ErrorHandler , Ġerror : ĠS sl Error ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠĠĠĠĠ Ġsuper . on Received Ssl Error ( view , Ġhandler , Ġerror );// ĠĠĠĠĠ Ġ ä¸Ģå®ļ è¦ģ æ³¨éĩĬ æİī ï¼ģ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandler . proceed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠwebView . load Url ( m BaseUrl ) ĊĊĠĠĠ Ġ} Ċ Ċ // ĠĠĠ Ġfun ĠsetName (): ĠUnit Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġvar Ġname Ġ= Ġget Preferences ( Context . MODE _ PRIVATE ). getString ( NAME , Ġ"") Ċ // ĠĠĠĠĠĠĠ Ġif Ġ( name . length Ġ> Ġ 2 ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġname . substring ( 2 , Ġname . length ) Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠ ĠwebView . load Url (" javascript :( function ()\ n " Ġ+ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Ġ{\ n " Ġ+ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠ Ġdocument . getElementById (\" yh mc \" ). value Ġ= Ġ\" ${ name }\ "; \ n " Ġ+ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Ġ}) () ") Ċ // ĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Cook ( key : String , v : String ): ĠUnit Ġ{ ĊĠĠĠĠĠĠĠ ĠwebView . load Url (" javascript :( function ()\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Ġ{\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠ Ġdocument . cookie =\" ${ key } =\" + \" ${ v }\ "; \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Ġ}) () ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Text Size ( key : String , v : String ): ĠUnit Ġ{ ĊĠĠĠĠĠĠĠ ĠwebView . load Url (" javascript :( function Ġhtml FontSize (){ \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠ Ġvar Ġh Ġ= ĠMath . max ( document . documentElement . client Height , Ġwindow . innerHeight Ġ|| Ġ 0 );\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠ Ġvar Ġw Ġ= ĠMath . max ( document . documentElement . client Width , Ġwindow . innerWidth Ġ|| Ġ 0 );\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠ Ġvar Ġwidth Ġ= Ġw Ġ> Ġh Ġ? Ġh Ġ: Ġw ;\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠ Ġwidth Ġ= Ġwidth Ġ> Ġ 7 2 0 Ġ? Ġ 7 2 0 Ġ: Ġwidth \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠ Ġvar Ġf z Ġ= Ġ~~ ( width * 1 0 0 0 0 0 / 3 6 )/ 1 0 0 0 0 \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠ Ġdocument . getElementsByTagName (\" html \ ")[ 0 ]. style . css Text Ġ= Ġ' font - size : Ġ' Ġ+ Ġf z Ġ+ \" px \"; \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠ Ġvar Ġreal fz Ġ= Ġ~~ (+ window . get Computed Style ( document . getElementsByTagName (\" html \ ")[ 0 ]). fontSize . replace (' px ',' ') * 1 0 0 0 0 )/ 1 0 0 0 0 \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠ Ġif Ġ( fz Ġ!== Ġreal fz ) Ġ{\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠĠĠĠĠ Ġdocument . getElementsByTagName (\" html \ ")[ 0 ]. style . css Text Ġ= Ġ' font - size : Ġ' Ġ+ Ġf z Ġ* Ġ( fz Ġ/ Ġreal fz ) Ġ+ \" px \"; \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠ Ġ}\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" }) () ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĠĠĠĠĠĠĠ Ġif Ġ( Ġupload Message Above L Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// åıĸæ¶Ī æĭ į çħ§ æĪĸèĢħ åĽ¾çīĩ éĢīæĭ© æĹ¶ , è¿ĶåĽŀ null , åĲ¦åĪĻ < input Ġfile > Ġ å°±æĺ¯ æ²¡æľī åıį åºĶ ĊĠĠĠĠĠĠĠ Ġif Ġ( result Code Ġ!= ĠRESULT _ OK ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( upload Message Above L Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupload Message Above L ?. on Receive Value ( null ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupload Message Above L Ġ= Ġnull ; ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// æĭ į çħ§ æĪĲåĬŁ åĴĮ éĢī åıĸ çħ§ çīĩ æĹ¶ ĊĠĠĠĠĠĠĠ Ġif Ġ( request Code == ĠCAM ERA _ REQUEST ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( upload Message Above L Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupload Message Above L ?. on Receive Value ( array Of < Uri >( c Uri !! )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupload Message Above L Ġ= Ġnull ; ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġå¯¹ åĽ¾çīĩ è¿Ľè¡Į éĩį ç½® å¤§å°ı ï¼Į å®½åº¦ å°±æĺ¯ æīĭæľº å±ı å¹ķ å®½åº¦ ï¼Į é«ĺåº¦ æł¹æį® å®½åº¦ æ¯Ķ ä¾¿ èĩªåĬ¨ ç¼© æĶ¾ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġimg Reset () Ġ{ ĊĠĠĠĠĠĠĠ ĠwebView . load Url (" javascript :( function () {" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" var Ġobjs Ġ= Ġdocument . getElementsByTagName (' img '); Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" var Ġtable Width Ġ= Ġwindow . screen . width ; Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" for ( var Ġi = 0 ; i < objs . length ; i ++) Ġ Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" {" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġ" var Ġimg Ġ= Ġobjs [ i ]; " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Ġvar Ġimg Width Ġ= Ġimg . width ;" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" if ( img Width < table Width ){ Ġ" Ġ+ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" img . style . width Ġ= Ġ' auto '; Ġimg . style . height Ġ= Ġ' auto '; " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"} else { Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" img . style . maxWidth Ġ= Ġ' 1 0 0 % '; Ġimg . style . height Ġ= Ġ' auto '; " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"} Ġ" Ġ+ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠ Ġimg . style . maxWidth Ġ= Ġ' 1 0 0 % '; Ġimg . style . height Ġ= Ġ' auto '; Ġ Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" }" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" }) () ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Back Pressed () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Back Pressed () ĊĠĠĠĠĠĠĠ Ġif Ġ( is Single ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( ĠwebView . can Go Back ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// è¡¨ç¤º æĮī è¿ĶåĽŀ éĶ® æĹ¶çļĦ æĵįä½ľ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠwebView . go Back () ĠĠ Ġ// åĲİ éĢĢ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// webview . go Forward ();// åīį è¿Ľ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcan Finish () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcan Finish () Ġ{ ĊĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" åĨį æ¬¡ çĤ¹åĩ» è¿ĶåĽŀ åħ³éĹŃ åºĶçĶ¨ ", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠ Ġif Ġ( over Time Ġ== Ġ 0 L ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġover Time Ġ= ĠSystem . currentTimeMillis () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( System . currentTimeMillis () Ġ- Ġover Time Ġ< Ġ 3 0 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġover Time Ġ= Ġ 0 L ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprotected Ġfun Ġshow Load (): ĠUnit Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġload Ġ= ĠAlertDialog . Builder ( this ) ĊĠĠĠĠĠĠĠ Ġload . setView ( Load Anim ( this )) ĊĠĠĠĠĠĠĠ Ġload Log Ġ= Ġload . show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun Ġhide Load (): ĠUnit Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( load Log Ġ!= Ġnull Ġ&& Ġload Log ?. is Showing !! ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġload Log ?. dismiss () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠ ĠwebView . destroy () ĊĠĠĠ Ġ} Ċ } Ċ Ċ data Ġclass ĠHtml Build ( var Ġis Single : Boolean , Ġvar Ġch eng Image Size : Boolean , var Ġnew Load : List < String >) Ċ