summaryrefslogtreecommitdiff
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
parent00227531e5f78c063fc6a0c0d9459ee0c81cafa5 (diff)
support native night mode, pass prefers-color-scheme to webview client
-rw-r--r--org.fox.epube/src/main/java/org/fox/epube/MainActivity.java17
-rw-r--r--org.fox.epube/src/main/res/values/styles.xml4
2 files changed, 14 insertions, 7 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 {
diff --git a/org.fox.epube/src/main/res/values/styles.xml b/org.fox.epube/src/main/res/values/styles.xml
index c2558f2..db52e59 100644
--- a/org.fox.epube/src/main/res/values/styles.xml
+++ b/org.fox.epube/src/main/res/values/styles.xml
@@ -1,12 +1,14 @@
<resources>
<!-- Base application theme. -->
- <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
+ <style name="AppTheme" parent="Theme.AppCompat.DayNight.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:navigationBarColor">@android:color/black</item>
+ <item name="android:forceDarkAllowed">true</item>
+ <item name="android:isLightTheme">true</item>
</style>
</resources>