package Ġcom . ch in azy jr . github application . ui Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroid . net . http . Ssl Error Ċ import Ġandroid . opengl . Visibility Ċ import Ġandroid . os . Build Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . os . Persist able Bundle Ċ import Ġandroid . text . TextUtils Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . KeyEvent Ċ import Ġandroid . view . View Ċ import Ġandroid . webkit .* Ċ import Ġcom . ch in azy jr . github application . R Ċ import Ġcom . ch in azy jr . github application . api . Net Constant Values Ċ import Ġcom . ch in azy jr . github application . base . App . Companion . accessToken Ċ import Ġcom . ch in azy jr . github application . base . App . Companion . j uid Ċ import Ġcom . ch in azy jr . github application . base . App . Companion . m UserName Ċ import Ġcom . ch in azy jr . github application . base . App . Companion . sign status Ċ import Ġcom . ch in azy jr . github application . ui . login . presenter . Empty Presenter Ċ import Ġcom . ch in azy jr . github application . utils . click Back Ċ import Ġcom . ch in azy jr . github application . utils . toast Ċ import Ġcom . ch in azy jr . ha ol ly v 2 . base . Base Activity Ċ import Ġcom . ch in azy jr . ha ol ly v 2 . base . I Base View Ċ import Ġcom . ch in azy jr . ha ol ly v 2 . config . Config . Companion . ret url Ċ import Ġcom . ch in azy jr . my library . utils . UI Utils Ċ import Ġcom . google . gson . Gson Ċ import Ġkotlinx . android . synt hetic . main . activity _ login .* Ċ import Ġkotlinx . android . synt hetic . main . activity _ web .* Ċ import Ġkotlinx . android . synt hetic . main . public _ title _ back _ blue .* Ċ import Ġorg . w 3 c . dom . Text Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġsh ang hai Ġon Ġ 2 0 1 8 / 4 / 2 7 . Ċ Ġ*/ Ċ class ĠWeb Activity Ġ: ĠBase Activity < Empty Presenter , ĠI Base View >() Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġcreate Presenter (): ĠEmpty Presenter Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠEmpty Presenter ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtitle : ĠString ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġhtml : ĠString ĊĠĠĠ Ġprivate Ġ Ġvar Ġcontent : ĠString ?= null ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġget Web Intent ( context : ĠContext , Ġtitle : ĠString , Ġhtml : ĠString ): ĠIntent Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġintent Ġ= ĠIntent ( context , ĠWeb Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra (" title ", Ġtitle ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra (" html ", Ġhtml ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġintent ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġget Web Intent Content ( context : ĠContext , Ġtitle : ĠString , Ġhtml : ĠString ): ĠIntent Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġintent Ġ= ĠIntent ( context , ĠWeb Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra (" title ", Ġtitle ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra (" content ", Ġhtml ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġintent ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ web ) ĊĠĠĠĠĠĠĠ Ġinit View () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠ Ġweb _ sh . clear Cache ( true ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit View () Ġ{ ĊĠĠĠĠĠĠĠ Ġtv _ menu . setOnClickListener Ġ{ Ġweb _ sh . load Url (" javascript : Sub m ith 5 Date () ") Ġ} ĊĠĠĠĠĠĠĠ Ġiv _ finish . setOnClickListener Ġ{ Ġv Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( web _ sh . can Go Back ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġweb _ sh . settings . cache Mode Ġ= ĠWeb Settings . LOAD _ NO _ CACHE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġweb _ sh . go Back () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġtitle Ġ= Ġintent . getString Extra (" title ") ĊĠĠĠĠĠĠĠ Ġhtml Ġ= Ġintent . getString Extra (" html ") ĊĠĠĠĠĠĠĠ Ġcontent Ġ= Ġintent . getString Extra (" content ") ĊĠĠĠĠĠĠĠ Ġtv _ title . text Ġ= Ġtitle ĊĠĠĠĠĠĠĠ Ġif Ġ( title . equals (" éĤ Ģ è¯· å¥½ åıĭ ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ menu . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( TextUtils . isEmpty ( html )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinit WebView ( content , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinit WebView ( html , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit WebView ( html : ĠString ?, Ġb : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . e ( TAG , html ) ĊĠĠĠĠĠĠĠ Ġ// Ġåľ¨ å®ī åį ĵ 5 . 0 ä¹ĭåĲİ ï¼Į é»ĺè®¤ ä¸į åħģè®¸ åĬłè½½ http ä¸İ https æ·· åĲĪ åĨħå®¹ ï¼Į éľĢè¦ģ è®¾ç½® webview åħģè®¸ åħ¶ åĬłè½½ æ·· åĲĪ ç½ĳç»ľ åįıè®® åĨħå®¹ ĊĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . LO L LI POP ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġweb _ sh . settings . mixed Content Mode Ġ= ĠWeb Settings . MIX ED _ CONTENT _ ALWAYS _ ALLOW ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġweb _ sh . is Drawing Cache Enabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġweb _ sh . scroll Bar Style Ġ= ĠWebView . SCROLL BAR S _ OUT SIDE _ OVER LAY ĊĠĠĠĠĠĠĠ Ġweb _ sh . request Focus () ĊĠĠĠĠĠĠĠ Ġweb _ sh . settings . save Password Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġweb _ sh . settings . default Text Encoding Name Ġ= Ġ" utf - 8 " ĊĠĠĠĠĠĠĠ Ġweb _ sh . settings . layout Algorithm Ġ= ĠWeb Settings . Layout Algorithm . SINGLE _ COLUMN ĊĠĠĠĠĠĠĠ Ġweb _ sh . settings . load With Overview Mode Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġweb _ sh . settings . use Wide View Port Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġweb _ sh . settings . set Support Zoom ( true ) ĊĊĠĠĠĠĠĠĠ Ġweb _ sh . web Chrome Client Ġ= Ġobject Ġ: ĠWeb Chrome Client () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Progress Changed ( view : ĠWebView ?, Ġnew Progress : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( new Progress Ġ== Ġ 1 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġweb _ p . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġweb _ p . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġweb _ sh . web View Client Ġ= Ġobject Ġ: ĠWebView Client () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġshould Override Url Loading ( view : ĠWebView ?, Ġrequest : ĠWeb Resource Request ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . LO L LI POP ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. load Url ( request ?. url . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. load Url ( request . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Page Started ( view : ĠWebView ?, Ġurl : ĠString ?, Ġfav icon : ĠBitmap ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Page Started ( view , Ġurl , Ġfav icon ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( url !!. startsWith ( ret url )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// è®¤ä¸º çŃ¾ çº¦ æĪĲåĬŁ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsign status Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( url . contains ( Net Constant Values . watch _ old )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Received Ssl Error ( view : ĠWebView ?, Ġhandler : ĠS sl ErrorHandler ?, Ġerror : ĠS sl Error ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandler !!. proceed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġweb _ sh . add Javascript Interface ( JavaScript Interface (), Ġ" Android ") ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġinner Ġclass ĠJavaScript Interface Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Javascript Interface ĊĠĠĠĠĠĠĠ Ġfun Ġinvite ( json : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" éĤ Ģ è¯· å¥½ åıĭ ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Javascript Interface ĊĠĠĠĠĠĠĠ Ġfun Ġinvite CallBack (): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġmap Ġ= Ġmap Of < String , ĠString >(" mobile " Ġto Ġm UserName , Ġ" user Code " Ġto Ġj uid , Ġ" token " Ġto ĠaccessToken ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠGson (). toJson ( map ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon KeyDown ( keyCode : ĠInt , Ġevent : ĠKeyEvent ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( keyCode Ġ== ĠKeyEvent . KEYCODE _ BACK Ġ&& Ġweb _ sh . can Go Back ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġè¿ĶåĽŀ ä¸Ĭ ä¸Ģ é¡µéĿ¢ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġweb _ sh . get Settings (). cache Mode Ġ= ĠWeb Settings . LOAD _ NO _ CACHE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġweb _ sh . go Back () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . on KeyDown ( keyCode , Ġevent ) ĊĠĠĠ Ġ} Ċ }