Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0" encoding="utf-8"?>
- <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical"
- tools:context="net.panomaps.guide.Website">
- <android.support.v4.widget.SwipeRefreshLayout
- android:id="@+id/swipeContainer"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- app:layout_behavior="@string/appbar_scrolling_view_behavior">
- <WebView
- android:id="@+id/webView"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
- </WebView>
- </android.support.v4.widget.SwipeRefreshLayout>
- <FrameLayout
- android:id="@+id/frameLayout"
- android:layout_width="match_parent"
- android:layout_height="3dp"
- android:background="@android:color/transparent">
- <ProgressBar
- android:id="@+id/progressBar"
- style="?android:attr/progressBarStyleHorizontal"
- android:layout_width="match_parent"
- android:layout_height="8dp"
- android:layout_gravity="top"
- android:layout_marginTop="-3dp"
- android:background="@android:color/transparent"
- android:progress="20"
- android:progressDrawable="@drawable/custom_progress" />
- </FrameLayout>
- </RelativeLayout>
- import android.annotation.SuppressLint;
- import android.content.Context;
- import android.content.DialogInterface;
- import android.content.Intent;
- import android.net.ConnectivityManager;
- import android.net.NetworkInfo;
- import android.net.Uri;
- import android.os.Bundle;
- import android.support.v4.widget.SwipeRefreshLayout;
- import android.support.v7.app.AlertDialog;
- import android.support.v7.app.AppCompatActivity;
- import android.util.Log;
- import android.view.ContextThemeWrapper;
- import android.view.View;
- import android.webkit.WebChromeClient;
- import android.webkit.WebSettings;
- import android.webkit.WebView;
- import android.webkit.WebViewClient;
- import android.widget.FrameLayout;
- import android.widget.ProgressBar;
- import java.io.File;
- public class Website extends AppCompatActivity {
- private SwipeRefreshLayout mySwipeRefreshLayout;
- private WebView webView;
- private ProgressBar progressbar;
- private FrameLayout frameLayout;
- private static boolean deleteDir(File dir) {
- if (dir != null && dir.isDirectory()) {
- String[] children = dir.list();
- for (String aChildren : children) {
- boolean success = deleteDir(new File(dir, aChildren));
- if (!success) {
- return false;
- }
- }
- }
- return dir == null || dir.delete();
- }
- @SuppressLint("SetJavaScriptEnabled")
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.website);
- frameLayout = findViewById(R.id.frameLayout);
- progressbar = findViewById(R.id.progressBar);
- progressbar.setMax(100);
- webView = findViewById(R.id.webView);
- mySwipeRefreshLayout = this.findViewById(R.id.swipeContainer);
- mySwipeRefreshLayout.setOnRefreshListener(
- new SwipeRefreshLayout.OnRefreshListener() {
- @Override
- public void onRefresh() {
- if (!haveNetworkConnection()) {
- android.app.AlertDialog.Builder Checkbuilder = new android.app.AlertDialog.Builder(Website.this);
- Checkbuilder.setMessage("Por favor conecte-se à internet!");
- android.app.AlertDialog alert = Checkbuilder.create();
- alert.show();
- } else {
- if (haveNetworkConnection()) {
- webView.reload();
- }
- }
- }
- }
- );
- webView.setWebViewClient(new HelpClient());
- WebSettings webSettings = webView.getSettings();
- webSettings.setJavaScriptEnabled(true);
- webView.setWebChromeClient(new WebChromeClient() {
- public void onProgressChanged(WebView view, int progress) {
- frameLayout.setVisibility(View.VISIBLE);
- progressbar.setProgress(progress);
- setTitle("Carregando...");
- if (progress == 100) {
- frameLayout.setVisibility(View.GONE);
- setTitle(view.getTitle());
- }
- super.onProgressChanged(view, progress);
- }
- });
- webView.getSettings().setJavaScriptEnabled(true);
- webView.clearCache(true);
- webView.clearHistory();
- webView.setVerticalScrollBarEnabled(false);
- webView.getSettings().setRenderPriority(WebSettings.RenderPriority.HIGH);
- webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
- webView.getSettings().setAppCacheEnabled(true);
- webView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
- webView.getSettings().setLoadWithOverviewMode(true);
- webView.getSettings().setUseWideViewPort(true);
- String userAgent = "Opera/9.80 (Android 4.1.2; Linux; Opera Mobi/ADR-1305251841) Presto/2.11.355 Version/12.10";
- webView.getSettings().setUserAgentString(userAgent);
- webSettings.setPluginState(WebSettings.PluginState.ON);
- webSettings.setSupportMultipleWindows(true);
- webSettings.setDomStorageEnabled(true);
- webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);
- webSettings.setUseWideViewPort(true);
- webSettings.setSavePassword(true);
- webSettings.setSaveFormData(true);
- webSettings.setEnableSmoothTransition(true);
- progressbar.setProgress(0);
- if (!haveNetworkConnection()) {
- android.app.AlertDialog.Builder Checkbuilder = new android.app.AlertDialog.Builder(Website.this);
- Checkbuilder.setMessage("Por favor conecte-se à internet!");
- android.app.AlertDialog alert = Checkbuilder.create();
- alert.show();
- } else {
- webView.loadUrl("https://panomaps.net/");
- }
- webView.setWebViewClient(new WebViewClient() {
- public boolean shouldOverrideUrlLoading(WebView view, String url) {
- String url2 = "https://panomaps.net";
- // all links within ur site will be open inside the webview
- if (url != null && url.startsWith(url2)) {
- return false;
- }
- // all links that points outside the site will be open in a normal android browser
- else {
- view.getContext().startActivity(
- new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
- return true;
- }
- }
- @Override
- public void onPageFinished(WebView view, String url) {
- mySwipeRefreshLayout.setRefreshing(false);
- super.onPageFinished(view, url);
- }
- public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
- view.loadUrl("about:blank");
- }
- });
- }
- private boolean haveNetworkConnection() {
- ConnectivityManager connectivityManager = (ConnectivityManager) this.getSystemService(Context.CONNECTIVITY_SERVICE);
- NetworkInfo activeNetworkInfo = connectivityManager != null ? connectivityManager.getActiveNetworkInfo() : null;
- return activeNetworkInfo != null;
- }
- @Override
- public void onBackPressed() {
- if (webView.canGoBack()) {
- webView.goBack();
- } else {
- ContextThemeWrapper ctw = new ContextThemeWrapper(this, R.style.PanomapsTheme);
- AlertDialog.Builder builder = new AlertDialog.Builder(ctw);
- builder.setMessage("Fechar o Panomaps?")
- .setCancelable(false)
- .setPositiveButton("sim", new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int id) {
- finish();
- }
- })
- .setNegativeButton("Não", new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int id) {
- dialog.cancel();
- }
- });
- AlertDialog alert = builder.create();
- alert.show();
- }
- }
- @Override
- protected void onDestroy() {
- // TODO Auto-generated method stub
- super.onDestroy();
- clearApplicationData();
- }
- private void clearApplicationData() {
- File cache = getCacheDir();
- File appDir = new File(cache.getParent());
- if (appDir.exists()) {
- String[] children = appDir.list();
- for (String s : children) {
- if (!s.equals("lib")) {
- deleteDir(new File(appDir, s));
- Log.i("EEEEEERRRRRRROOOOOORRRR", "**************** File /data/data/APP_PACKAGE/" + s + " DELETED *******************");
- }
- }
- }
- }
- private class HelpClient extends WebViewClient {
- @Override
- public boolean shouldOverrideUrlLoading(WebView view, String url) {
- view.loadUrl(url);
- frameLayout.setVisibility(View.VISIBLE);
- return true;
- }
- }
- }
- import android.annotation.SuppressLint;
- import android.content.Context;
- import android.content.DialogInterface;
- import android.content.Intent;
- import android.net.ConnectivityManager;
- import android.net.NetworkInfo;
- import android.net.Uri;
- import android.os.Bundle;
- import android.support.v4.widget.SwipeRefreshLayout;
- import android.support.v7.app.AlertDialog;
- import android.support.v7.app.AppCompatActivity;
- import android.util.Log;
- import android.view.ContextThemeWrapper;
- import android.view.View;
- import android.webkit.WebChromeClient;
- import android.webkit.WebSettings;
- import android.webkit.WebView;
- import android.webkit.WebViewClient;
- import android.widget.FrameLayout;
- import android.widget.ProgressBar;
- import java.io.File;
- public class Website extends AppCompatActivity {
- private SwipeRefreshLayout mySwipeRefreshLayout;
- private WebView webView;
- private ProgressBar progressbar;
- private FrameLayout frameLayout;
- private static boolean deleteDir(File dir) {
- if (dir != null && dir.isDirectory()) {
- String[] children = dir.list();
- for (String aChildren : children) {
- boolean success = deleteDir(new File(dir, aChildren));
- if (!success) {
- return false;
- }
- }
- }
- return dir == null || dir.delete();
- }
- @SuppressLint("SetJavaScriptEnabled")
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.website);
- frameLayout = findViewById(R.id.frameLayout);
- progressbar = findViewById(R.id.progressBar);
- progressbar.setMax(100);
- webView = findViewById(R.id.webView);
- mySwipeRefreshLayout = this.findViewById(R.id.swipeContainer);
- mySwipeRefreshLayout.setOnRefreshListener(
- new SwipeRefreshLayout.OnRefreshListener() {
- @Override
- public void onRefresh() {
- if (!haveNetworkConnection()) {
- android.app.AlertDialog.Builder Checkbuilder = new android.app.AlertDialog.Builder(Website.this);
- Checkbuilder.setMessage("Por favor conecte-se à internet!");
- android.app.AlertDialog alert = Checkbuilder.create();
- alert.show();
- } else {
- if (haveNetworkConnection()) {
- webView.reload();
- }
- }
- }
- }
- );
- webView.setWebViewClient(new HelpClient());
- WebSettings webSettings = webView.getSettings();
- webSettings.setJavaScriptEnabled(true);
- webView.setWebChromeClient(new WebChromeClient() {
- public void onProgressChanged(WebView view, int progress) {
- frameLayout.setVisibility(View.VISIBLE);
- progressbar.setProgress(progress);
- setTitle("Carregando...");
- if (progress == 100) {
- frameLayout.setVisibility(View.GONE);
- setTitle(view.getTitle());
- }
- super.onProgressChanged(view, progress);
- }
- });
- webView.getSettings().setJavaScriptEnabled(true);
- webView.clearCache(true);
- webView.clearHistory();
- webView.setVerticalScrollBarEnabled(false);
- webView.getSettings().setRenderPriority(WebSettings.RenderPriority.HIGH);
- webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
- webView.getSettings().setAppCacheEnabled(true);
- webView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
- webView.getSettings().setLoadWithOverviewMode(true);
- webView.getSettings().setUseWideViewPort(true);
- String userAgent = "Opera/9.80 (Android 4.1.2; Linux; Opera Mobi/ADR-1305251841) Presto/2.11.355 Version/12.10";
- webView.getSettings().setUserAgentString(userAgent);
- webSettings.setPluginState(WebSettings.PluginState.ON);
- webSettings.setSupportMultipleWindows(true);
- webSettings.setDomStorageEnabled(true);
- webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);
- webSettings.setUseWideViewPort(true);
- webSettings.setSavePassword(true);
- webSettings.setSaveFormData(true);
- webSettings.setEnableSmoothTransition(true);
- progressbar.setProgress(0);
- if (!haveNetworkConnection()) {
- android.app.AlertDialog.Builder Checkbuilder = new android.app.AlertDialog.Builder(Website.this);
- Checkbuilder.setMessage("Por favor conecte-se à internet!");
- android.app.AlertDialog alert = Checkbuilder.create();
- alert.show();
- } else {
- webView.loadUrl("https://panomaps.net/");
- }
- webView.setWebViewClient(new WebViewClient() {
- public boolean shouldOverrideUrlLoading(WebView view, String url) {
- if (url != null && url.startsWith("https://panomaps.net/")) {
- //open url contents in webview
- return false;
- }
- if (url != null && url.equals("https://panomaps.net/wp-login.php?loginFacebook=1%26redirect=https://panomaps.net")) {
- //open url contents in webview
- return false;
- }
- if (url != null && url.startsWith("https://www.facebook.com/")) {
- //open url contents in webview
- return false;
- }
- if (url != null && url.startsWith("https://m.facebook.com/")) {
- //open url contents in webview
- return false;
- }
- if (url != null && url.startsWith("https://mpago.la/")) {
- //open url contents in webview
- return false;
- }
- if (url != null && url.startsWith("https://www.mercadopago.com/")) {
- //open url contents in webview
- return false;
- }
- // all links that points outside the site will be open in a normal android browser
- else {
- Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
- startActivity(intent);
- return true;
- }
- }
- @Override
- public void onPageFinished(WebView view, String url) {
- mySwipeRefreshLayout.setRefreshing(false);
- super.onPageFinished(view, url);
- }
- public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
- view.loadUrl("about:blank");
- }
- });
- }
- private boolean haveNetworkConnection() {
- ConnectivityManager connectivityManager = (ConnectivityManager) this.getSystemService(Context.CONNECTIVITY_SERVICE);
- NetworkInfo activeNetworkInfo = connectivityManager != null ? connectivityManager.getActiveNetworkInfo() : null;
- return activeNetworkInfo != null;
- }
- @Override
- public void onBackPressed() {
- if (webView.canGoBack()) {
- webView.goBack();
- } else {
- ContextThemeWrapper ctw = new ContextThemeWrapper(this, R.style.PanomapsTheme);
- AlertDialog.Builder builder = new AlertDialog.Builder(ctw);
- builder.setMessage("Fechar o Panomaps?")
- .setCancelable(false)
- .setPositiveButton("sim", new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int id) {
- finish();
- }
- })
- .setNegativeButton("Não", new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int id) {
- dialog.cancel();
- }
- });
- AlertDialog alert = builder.create();
- alert.show();
- }
- }
- @Override
- protected void onDestroy() {
- // TODO Auto-generated method stub
- super.onDestroy();
- clearApplicationData();
- }
- private void clearApplicationData() {
- File cache = getCacheDir();
- File appDir = new File(cache.getParent());
- if (appDir.exists()) {
- String[] children = appDir.list();
- for (String s : children) {
- if (!s.equals("lib")) {
- deleteDir(new File(appDir, s));
- Log.i("EEEEEERRRRRRROOOOOORRRR", "**************** File /data/data/APP_PACKAGE/" + s + " DELETED *******************");
- }
- }
- }
- }
- private class HelpClient extends WebViewClient {
- @Override
- public boolean shouldOverrideUrlLoading(WebView view, String url) {
- view.loadUrl(url);
- frameLayout.setVisibility(View.VISIBLE);
- return true;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement