package com.limelight; import android.app.Activity; import android.graphics.Bitmap; import android.os.Bundle; import android.webkit.WebView; import android.webkit.WebViewClient; import com.limelight.utils.SpinnerDialog; public class HelpActivity extends Activity { private SpinnerDialog loadingDialog; private WebView webView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); webView = new WebView(this); setContentView(webView); // These allow the user to zoom the page webView.getSettings().setBuiltInZoomControls(true); webView.getSettings().setDisplayZoomControls(false); // This sets the view to display the whole page by default webView.getSettings().setUseWideViewPort(true); webView.getSettings().setLoadWithOverviewMode(true); // This allows the links to places on the same page to work webView.getSettings().setJavaScriptEnabled(true); webView.setWebViewClient(new WebViewClient() { @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { if (loadingDialog == null) { loadingDialog = SpinnerDialog.displayDialog(HelpActivity.this, getResources().getString(R.string.help_loading_title), getResources().getString(R.string.help_loading_msg), false); } } @Override public void onPageFinished(WebView view, String url) { if (loadingDialog != null) { loadingDialog.dismiss(); loadingDialog = null; } } @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { if (url.toUpperCase().startsWith("https://github.com/moonlight-stream/moonlight-docs/wiki/".toUpperCase()) || url.toUpperCase().startsWith("http://github.com/moonlight-stream/moonlight-docs/wiki/".toUpperCase())) { // Allow navigation to Moonlight docs return false; } else { return true; } } }); webView.loadUrl(getIntent().getData().toString()); } @Override public void onBackPressed() { // Back goes back through the WebView history // until no more history remains if (webView.canGoBack()) { webView.goBack(); } else { super.onBackPressed(); } } }