/* Ċ Ġ* ĠCopyright Ġ 2 0 0 8 ĠZX ing Ġauthors Ċ Ġ* ĠCopyright Ġ 2 0 1 1 ĠRobert ĠThe is Ċ Ġ* Ċ Ġ* Ġ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 Ġt br s . ocr Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . app . AlertDialog Ċ import Ġandroid . content . Activity NotFoundException Ċ import Ġandroid . content . Intent Ċ import Ġandroid . net . Mail To Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . KeyEvent Ċ import Ġandroid . view . View Ċ import Ġandroid . webkit . WebView Ċ import Ġandroid . webkit . WebView Client Ċ import Ġt br s . ocr . R Ċ Ċ /** Ċ Ġ* ĠActivity Ġto Ġdisplay Ġinformation al Ġpages Ġto Ġthe Ġuser Ġin Ġa ĠWebView . Ċ Ġ* Ċ Ġ* ĠThe Ġcode Ġfor Ġthis Ġclass Ġwas Ġadapted Ġfrom Ġthe ĠZX ing Ġproject : Ġhttp :// code . google . com / p / zx ing Ċ Ġ*/ Ċ class ĠHelp Activity Ġ: ĠActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar ĠwebView : ĠWebView ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġval Ġdone Listener Ġ= ĠView . OnClickListener Ġ{ Ġfinish () Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( ic icle : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( ic icle ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . help ) ĊĊĠĠĠĠĠĠĠ ĠwebView Ġ= ĠfindViewById < View >( R . id . help _ contents ) Ġas ĠWebView ĊĠĠĠĠĠĠĠ ĠwebView !!. web View Client Ġ= ĠHelp Client ( this ) ĊĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= Ġintent ĊĠĠĠĠĠĠĠ Ġval Ġpage Ġ= Ġintent !!. getString Extra ( REQUEST ED _ PAGE _ KEY ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠShow Ġan ĠOK Ġbutton . ĊĠĠĠĠĠĠĠ Ġval Ġdone Button Ġ= ĠfindViewById < View >( R . id . done _ button ) ĊĠĠĠĠĠĠĠ Ġdone Button . setOnClickListener ( done Listener ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( page Ġ== ĠDEFAULT _ PAGE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdone Button . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdone Button . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠF roy o Ġhas Ġa Ġbug Ġwith Ġcalling ĠonCreate () Ġtwice Ġin Ġa Ġrow , Ġwhich Ġcauses Ġthe ĠWhat 's ĠNew Ġpage ĊĠĠĠĠĠĠĠ Ġ// Ġthat 's Ġauto - loaded Ġon Ġfirst Ġrun Ġto Ġappear Ġblank . ĠAs Ġa Ġworkaround Ġwe Ġonly Ġcall Ġrestore State () ĊĠĠĠĠĠĠĠ Ġ// Ġif Ġa Ġvalid ĠURL Ġwas Ġloaded Ġat Ġthe Ġtime Ġthe Ġprevious Ġactivity Ġwas Ġt orn Ġdown . ĊĠĠĠĠĠĠĠ Ġif Ġ( ic icle Ġ!= Ġnull Ġ&& Ġic icle . getBoolean ( WEB VIEW _ STATE _ PRESENT , Ġfalse )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠwebView !!. restore State ( ic icle ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( intent Ġ!= Ġnull Ġ&& Ġpage Ġ!= Ġnull Ġ&& Ġpage . length Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠwebView !!. load Url ( BASE _ URL Ġ+ Ġpage ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠwebView !!. load Url ( BASE _ URL Ġ+ ĠDEFAULT _ PAGE ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Save InstanceState ( state : ĠBundle ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġurl Ġ= ĠwebView !!. url ĊĠĠĠĠĠĠĠ Ġif Ġ( url Ġ!= Ġnull Ġ&& Ġurl . length Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠwebView !!. save State ( state ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstate . put Boolean ( WEB VIEW _ STATE _ PRESENT , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon KeyDown ( keyCode : ĠInt , Ġevent : ĠKeyEvent ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( keyCode Ġ== ĠKeyEvent . KEYCODE _ BACK ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( web View !!. can Go Back ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠwebView !!. go Back () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . on KeyDown ( keyCode , Ġevent ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġinner Ġclass ĠHelp Client ( internal Ġvar Ġcontext : ĠActivity ) Ġ: ĠWebView Client () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Page Finished ( view : ĠWebView , Ġurl : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġview . title ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġshould Override Url Loading ( view : ĠWebView , Ġurl : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( url . startsWith (" file ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠKeep Ġlocal Ġassets Ġin Ġthis ĠWebView . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( url . startsWith (" mailto :" )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmt Ġ= ĠMail To . parse ( url ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġi Ġ= ĠIntent ( Intent . ACTION _ SEND ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġi . type Ġ= Ġ" message / rfc 8 2 2 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġi . putExtra ( Intent . EXTRA _ EMAIL , ĠarrayOf ( mt . to )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġi . putExtra ( Intent . EXTRA _ SUBJECT , Ġmt . subject ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . startActivity ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . reload () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠActivity NotFoundException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . w ( TAG , Ġ" Problem Ġwith ĠIntent . ACTION _ SEND ", Ġe ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAlertDialog . Builder ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setTitle (" Contact ĠInfo ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMessage (" Please Ġsend Ġyour Ġfeedback Ġto : Ġapp . ocr @ gmail . com ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Positive Button (" Done ") Ġ{ Ġdialog , Ġwhich Ġ-> ĠLog . d (" AlertDialog ", Ġ" Positive ") Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠOpen Ġexternal ĠURLs Ġin ĠBrowser . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( Intent . ACTION _ VIEW , ĠUri . parse ( url ))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠTAG Ġ= ĠHelp Activity :: class . java . simple Name ĊĊĠĠĠĠĠĠĠ Ġ// ĠUse Ġthis Ġkey Ġand Ġone Ġof Ġthe Ġvalues Ġbelow Ġwhen Ġlaunch ing Ġthis Ġactivity Ġvia Ġintent . ĠIf Ġnot ĊĠĠĠĠĠĠĠ Ġ// Ġpresent , Ġthe Ġdefault Ġpage Ġwill Ġbe Ġloaded . ĊĠĠĠĠĠĠĠ Ġval ĠREQUEST ED _ PAGE _ KEY Ġ= Ġ" requested _ page _ key " ĊĠĠĠĠĠĠĠ Ġval ĠDEFAULT _ PAGE Ġ= Ġ" whats new . html " ĊĠĠĠĠĠĠĠ Ġval ĠA BO UT _ PAGE Ġ= Ġ" about . html " ĊĠĠĠĠĠĠĠ Ġval ĠTER MS _ PAGE Ġ= Ġ" terms . html " ĊĠĠĠĠĠĠĠ Ġval ĠWHAT S _ NEW _ PAGE Ġ= Ġ" whats new . html " ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠBASE _ URL Ġ= Ġ" file :/// android _ asset / html /" ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠWEB VIEW _ STATE _ PRESENT Ġ= Ġ" webview _ state _ present " ĊĠĠĠ Ġ} Ċ }