From d08e0fbc458ed494e2ba9830ec99e55d883ff39d Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Mon, 20 Apr 2020 19:56:51 +0300 Subject: some more stuff --- org.fox.epube/src/main/AndroidManifest.xml | 4 +- .../src/main/java/org/fox/epube/MainActivity.java | 64 ++++++++++++++-------- .../src/main/res/layout/activity_main.xml | 2 +- org.fox.epube/src/main/res/menu/activity_main.xml | 6 ++ org.fox.epube/src/main/res/values/colors.xml | 4 +- 5 files changed, 53 insertions(+), 27 deletions(-) create mode 100644 org.fox.epube/src/main/res/menu/activity_main.xml (limited to 'org.fox.epube') diff --git a/org.fox.epube/src/main/AndroidManifest.xml b/org.fox.epube/src/main/AndroidManifest.xml index c2fe4db..45bc158 100644 --- a/org.fox.epube/src/main/AndroidManifest.xml +++ b/org.fox.epube/src/main/AndroidManifest.xml @@ -13,7 +13,9 @@ android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> - + 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 index 0db9de5..85e8120 100644 --- a/org.fox.epube/src/main/java/org/fox/epube/MainActivity.java +++ b/org.fox.epube/src/main/java/org/fox/epube/MainActivity.java @@ -1,26 +1,25 @@ 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.Menu; +import android.view.MenuInflater; 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.WebChromeClient; import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.ProgressBar; +import android.widget.Toast; + +import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { private final String TAG = this.getClass().getSimpleName(); private ProgressBar m_loadingBar; + private WebView m_web; @Override protected void onCreate(Bundle savedInstanceState) { @@ -29,9 +28,9 @@ public class MainActivity extends AppCompatActivity { getSupportActionBar().hide(); - WebView web = findViewById(R.id.webview_main); + m_web = findViewById(R.id.webview_main); - WebSettings settings = web.getSettings(); + WebSettings settings = m_web.getSettings(); settings.setJavaScriptEnabled(true); settings.setDomStorageEnabled(true); @@ -41,10 +40,22 @@ public class MainActivity extends AppCompatActivity { settings.setAppCacheEnabled(true); m_loadingBar = findViewById(R.id.loading_progress); - m_loadingBar.setIndeterminate(true); m_loadingBar.setVisibility(View.VISIBLE); + m_loadingBar.setMax(100); - web.setWebViewClient(new WebViewClient() { + m_web.setWebChromeClient(new WebChromeClient() { + @Override + public void onProgressChanged(WebView view, int progress) { + m_loadingBar.setProgress(progress); + + if (progress == 100) + m_loadingBar.setVisibility(View.GONE); + else + m_loadingBar.setVisibility(View.VISIBLE); + } + }); + + m_web.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { @@ -52,29 +63,36 @@ public class MainActivity extends AppCompatActivity { 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); + toast(description); } }); - web.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY); - web.loadUrl("https://fakecake.org/books/index.php?wrapper=1"); + CookieManager.getInstance().setCookie("https://fakecake.org/books", "is-epube-app=true"); + + m_web.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY); + m_web.loadUrl("https://fakecake.org/books/index.php"); + } + + public void toast(String msg) { + Toast toast = Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT); + toast.show(); + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + MenuInflater inflater = getMenuInflater(); + inflater.inflate(R.menu.activity_main, menu); + + return true; } } diff --git a/org.fox.epube/src/main/res/layout/activity_main.xml b/org.fox.epube/src/main/res/layout/activity_main.xml index 4b67b75..a7cd053 100644 --- a/org.fox.epube/src/main/res/layout/activity_main.xml +++ b/org.fox.epube/src/main/res/layout/activity_main.xml @@ -1,6 +1,5 @@ diff --git a/org.fox.epube/src/main/res/menu/activity_main.xml b/org.fox.epube/src/main/res/menu/activity_main.xml new file mode 100644 index 0000000..ce54c1c --- /dev/null +++ b/org.fox.epube/src/main/res/menu/activity_main.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/org.fox.epube/src/main/res/values/colors.xml b/org.fox.epube/src/main/res/values/colors.xml index 6b3f6ab..8a2c143 100644 --- a/org.fox.epube/src/main/res/values/colors.xml +++ b/org.fox.epube/src/main/res/values/colors.xml @@ -1,6 +1,6 @@ - #008577 - #00574B + #007d71 + #006B62 #D81B60 -- cgit v1.2.3