summaryrefslogtreecommitdiff
path: root/org.fox.epube/src/main/java
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2020-04-21 13:08:37 +0300
committerAndrew Dolgov <[email protected]>2020-04-21 13:08:37 +0300
commit392a3a57ce9be5ff1af11c4cde74ba3fb765818e (patch)
treead761fd3a6cf9d9674519f9ddd4c3fb7955e1932 /org.fox.epube/src/main/java
parent00227531e5f78c063fc6a0c0d9459ee0c81cafa5 (diff)
support native night mode, pass prefers-color-scheme to webview client
Diffstat (limited to 'org.fox.epube/src/main/java')
-rw-r--r--org.fox.epube/src/main/java/org/fox/epube/MainActivity.java17
1 files changed, 11 insertions, 6 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
index 18845c4..423f945 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,6 +1,7 @@
package org.fox.epube;
import android.content.Context;
+import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
@@ -24,13 +25,13 @@ public class MainActivity extends AppCompatActivity {
private final String TAG = this.getClass().getSimpleName();
private final String BASE_URL = "https://fakecake.org/books";
- public enum AppPage { PAGE_LIBRARY, PAGE_FAVORITES, PAGE_OFFLINE, PAGE_READER }
+ public enum AppPage { PAGE_UNKNOWN, PAGE_LOGIN, PAGE_LIBRARY, PAGE_FAVORITES, PAGE_OFFLINE, PAGE_READER }
private ProgressBar m_loadingBar;
private WebView m_web;
private Menu m_menu;
private boolean m_offlineMode;
- private AppPage m_currentPage;
+ private AppPage m_currentPage = AppPage.PAGE_UNKNOWN;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -51,6 +52,10 @@ public class MainActivity extends AppCompatActivity {
settings.setAppCachePath(getCacheDir().getAbsolutePath());
settings.setAppCacheEnabled(true);
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
+ settings.setForceDark(WebSettings.FORCE_DARK_AUTO);
+ }
+
m_loadingBar = findViewById(R.id.loading_progress);
m_loadingBar.setVisibility(View.VISIBLE);
m_loadingBar.setMax(100);
@@ -108,6 +113,7 @@ public class MainActivity extends AppCompatActivity {
m_currentPage = page;
m_menu.setGroupVisible(R.id.menu_group_pages, false);
+ m_menu.setGroupVisible(R.id.menu_group_pages_offline, false);
m_menu.setGroupVisible(R.id.menu_group_library, false);
m_menu.setGroupVisible(R.id.menu_group_favorites, false);
m_menu.setGroupVisible(R.id.menu_group_offline, false);
@@ -117,7 +123,7 @@ public class MainActivity extends AppCompatActivity {
Log.d(TAG, "switching to page: " + page);
- if (page != AppPage.PAGE_READER) {
+ if (page != AppPage.PAGE_READER && page != AppPage.PAGE_UNKNOWN && page != AppPage.PAGE_LOGIN) {
m_menu.setGroupVisible(R.id.menu_group_pages, !m_offlineMode);
m_menu.setGroupVisible(R.id.menu_group_pages_offline, m_offlineMode);
}
@@ -150,7 +156,7 @@ public class MainActivity extends AppCompatActivity {
m_menu = menu;
- onPageSwitched(null);
+ onPageSwitched(AppPage.PAGE_UNKNOWN);
return true;
}
@@ -225,8 +231,7 @@ public class MainActivity extends AppCompatActivity {
m_offlineMode = offline;
- if (m_currentPage != null)
- onPageSwitched(m_currentPage);
+ onPageSwitched(m_currentPage);
}
class WebAppInterface {