summaryrefslogtreecommitdiff
path: root/org.fox.epube/src/main/java/org/fox/epube/MainActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'org.fox.epube/src/main/java/org/fox/epube/MainActivity.java')
-rw-r--r--org.fox.epube/src/main/java/org/fox/epube/MainActivity.java80
1 files changed, 80 insertions, 0 deletions
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");
+ }
+}