From fa25f18453c05e1907b425b11edf4802a6448754 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Mon, 20 Apr 2020 19:32:03 +0300 Subject: initial --- .../src/main/java/org/fox/epube/MainActivity.java | 80 ++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 org.fox.epube/src/main/java/org/fox/epube/MainActivity.java (limited to 'org.fox.epube/src/main/java/org') diff --git a/org.fox.epube/src/main/java/org/fox/epube/MainActivity.java b/org.fox.epube/src/main/java/org/fox/epube/MainActivity.java new file mode 100644 index 0000000..0db9de5 --- /dev/null +++ b/org.fox.epube/src/main/java/org/fox/epube/MainActivity.java @@ -0,0 +1,80 @@ +package org.fox.epube; + +import androidx.annotation.Nullable; +import androidx.appcompat.app.AppCompatActivity; + +import android.graphics.Bitmap; +import android.os.Bundle; +import android.util.Log; +import android.view.View; +import android.webkit.CookieManager; +import android.webkit.ServiceWorkerClient; +import android.webkit.ServiceWorkerController; +import android.webkit.WebResourceRequest; +import android.webkit.WebResourceResponse; +import android.webkit.WebSettings; +import android.webkit.WebView; +import android.webkit.WebViewClient; +import android.widget.ProgressBar; + +public class MainActivity extends AppCompatActivity { + + private final String TAG = this.getClass().getSimpleName(); + private ProgressBar m_loadingBar; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + + getSupportActionBar().hide(); + + WebView web = findViewById(R.id.webview_main); + + WebSettings settings = web.getSettings(); + + settings.setJavaScriptEnabled(true); + settings.setDomStorageEnabled(true); + settings.setCacheMode(WebSettings.LOAD_DEFAULT); + settings.setDatabaseEnabled(true); + settings.setAppCachePath(getCacheDir().getAbsolutePath()); + settings.setAppCacheEnabled(true); + + m_loadingBar = findViewById(R.id.loading_progress); + m_loadingBar.setIndeterminate(true); + m_loadingBar.setVisibility(View.VISIBLE); + + web.setWebViewClient(new WebViewClient() { + + @Override + public boolean shouldOverrideUrlLoading(WebView view, String url) { + view.loadUrl(url); + return true; + } + + @Override + public void onPageStarted(WebView view, String url, Bitmap favicon) { + m_loadingBar.setVisibility(View.VISIBLE); + } + + @Override + public void onPageFinished(WebView view, String url) { + Log.i(TAG, "Finished loading URL: " +url); + + CookieManager.getInstance().setAcceptCookie(true); + CookieManager.getInstance().acceptCookie(); + CookieManager.getInstance().flush(); + + m_loadingBar.setVisibility(View.GONE); + } + + @Override + public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { + Log.e(TAG, "Error: " + description); + } + }); + + web.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY); + web.loadUrl("https://fakecake.org/books/index.php?wrapper=1"); + } +} -- cgit v1.2.3