Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. /**
  2.  * Created by gyengus
  3.  */
  4.  
  5. package hu.gyengus.web;
  6.  
  7. import android.app.Activity;
  8. import android.app.AlertDialog;
  9. import android.content.DialogInterface;
  10. import android.content.Intent;
  11. import android.graphics.Bitmap;
  12. import android.net.Uri;
  13. import android.net.http.SslError;
  14. import android.os.Bundle;
  15. import android.view.KeyEvent;
  16. import android.view.View;
  17. import android.view.Window;
  18. import android.view.WindowManager;
  19. import android.webkit.SslErrorHandler;
  20. import android.webkit.WebView;
  21. import android.webkit.WebViewClient;
  22. import com.google.android.gms.analytics.GoogleAnalytics;
  23. import com.google.android.gms.analytics.HitBuilders;
  24. import com.google.android.gms.analytics.Tracker;
  25. //import android.util.Log;
  26. import android.widget.ProgressBar;
  27.  
  28. public class MainActivity extends Activity {
  29.  
  30.     private WebView webView;
  31.     private ProgressBar mPbar;
  32.  
  33.     @Override
  34.     protected void onCreate(Bundle savedInstanceState) {
  35.         super.onCreate(savedInstanceState);
  36.         requestWindowFeature(Window.FEATURE_NO_TITLE);
  37.         getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
  38.                 WindowManager.LayoutParams.FLAG_FULLSCREEN);
  39.         setContentView(R.layout.activity_main);
  40.  
  41.         // Get tracker.
  42.         Tracker t = ((MyApplication) this.getApplication()).getTracker(MyApplication.TrackerName.APP_TRACKER);
  43.         // Enable Advertising Features.
  44.         t.enableAdvertisingIdCollection(true);
  45.  
  46.         // Set screen name.
  47.         t.setScreenName(getString(R.string.main_screen_name));
  48.  
  49.         // Send a screen view.
  50.         t.send(new HitBuilders.AppViewBuilder().build());
  51.         //Log.i("Tracker: ", t.toString());
  52.  
  53.         mPbar = (ProgressBar) findViewById(R.id.progressBar);
  54.  
  55.         webView = (WebView) findViewById(R.id.webView);
  56.         webView.getSettings().setJavaScriptEnabled(true);
  57.         webView.getSettings().setDomStorageEnabled(true);
  58.         webView.loadUrl(getString(R.string.mainurl));
  59.         webView.setWebViewClient(new WebViewClient() {
  60.             @Override
  61.             public boolean shouldOverrideUrlLoading(WebView view, String url) {
  62.                 if (Uri.parse(url).getHost().equals(getString(R.string.domain))) {
  63.                     // This is my web site, so do not override; let my WebView load the page
  64.                     return false;
  65.                 }
  66.                 // Otherwise, the link is not for a page on my site, so launch another Activity that handles URLs
  67.                 Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
  68.                 startActivity(intent);
  69.                 return true;
  70.             }
  71.  
  72.             @Override
  73.             public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
  74.                 handler.proceed(); // Ignoráljuk a certificate problémáit, enélkül nem fogadja el a self signed certet
  75.             }
  76.  
  77.             @Override
  78.             public void onPageStarted(WebView view, String url, Bitmap favicon) {
  79.                 mPbar.setVisibility(View.VISIBLE);
  80.             }
  81.  
  82.             @Override
  83.             public void onPageFinished(WebView view, String url) {
  84.                 mPbar.setVisibility(View.GONE);
  85.             }
  86.         });
  87.     }
  88.  
  89.     @Override
  90.     public boolean onKeyDown(int keyCode, KeyEvent event) {
  91.         // Check if the key event was the Back button and if there's history
  92.         if (keyCode == KeyEvent.KEYCODE_BACK) {
  93.             if (webView.canGoBack()) {
  94.                 webView.goBack();
  95.                 return true;
  96.             } else {
  97.                 new AlertDialog.Builder(this)
  98.                         .setIcon(android.R.drawable.ic_dialog_alert)
  99.                         .setTitle(getString(R.string.dialog_title))
  100.                         .setMessage(getString(R.string.dialog_msg))
  101.                         .setPositiveButton(getString(R.string.yes), new DialogInterface.OnClickListener() {
  102.                             @Override
  103.                             public void onClick(DialogInterface dialog, int which) {
  104.                                 finish();
  105.                             }
  106.                         })
  107.                         .setNegativeButton(getString(R.string.no), null)
  108.                         .show();
  109.             }
  110.         }
  111.         // If it wasn't the Back key or there's no web page history, bubble up to the default
  112.         // system behavior (probably exit the activity)
  113.         return super.onKeyDown(keyCode, event);
  114.     }
  115. }