summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2020-04-21 21:50:19 +0300
committerAndrew Dolgov <[email protected]>2020-04-21 21:50:19 +0300
commit066caa758d9cd05bf91ad4c9a825f4c1d95438c2 (patch)
tree925aa60e5b24a478bfcf4e196e35af4917170851
parent5c4d379b738c3fd24aa4c2ac4243018b7d7e0d7f (diff)
allow setting status/nav/etc colors relevant to reader theme
-rw-r--r--.gitignore1
-rw-r--r--org.fox.epube/src/main/java/org/fox/epube/MainActivity.java30
2 files changed, 30 insertions, 1 deletions
diff --git a/.gitignore b/.gitignore
index ebdd23d..209718d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,6 +7,7 @@
/.idea/workspace.xml
/.idea/navEditor.xml
/.idea/assetWizardSettings.xml
+/.idea/*
.DS_Store
/build
/captures
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 bdefa5b..15001d8 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
@@ -2,6 +2,8 @@ package org.fox.epube;
import android.content.Context;
import android.content.res.Configuration;
+import android.graphics.Color;
+import android.graphics.drawable.ColorDrawable;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;
@@ -142,8 +144,11 @@ public class MainActivity extends AppCompatActivity {
m_menu.setGroupVisible(R.id.menu_group_pages_offline, m_offlineMode);
}
- if (page != AppPage.PAGE_READER)
+ if (page != AppPage.PAGE_READER) {
getSupportActionBar().show();
+ getWindow().setStatusBarColor(getColor(R.color.colorPrimaryDark));
+ getWindow().setNavigationBarColor(getColor(android.R.color.black));
+ }
if (page == AppPage.PAGE_FAVORITES) {
m_menu.setGroupVisible(R.id.menu_group_favorites, true);
@@ -349,6 +354,29 @@ public class MainActivity extends AppCompatActivity {
public boolean isAutoNightModeSupported() {
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q;
}
+
+ @JavascriptInterface
+ public void setStatusBarColor(final int r, final int g, final int b) {
+ Log.d(TAG, "setStatusBarColor:" + r + " " + g + " " + b);
+
+ runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ int color = Color.argb(255, r, g, b);
+
+ float[] hsv = new float[3];
+ Color.colorToHSV(color, hsv);
+
+ hsv[2] = 0.2f;
+ color = Color.HSVToColor(hsv);
+
+ findViewById(R.id.toolbar).setBackgroundDrawable(new ColorDrawable(color));
+ getWindow().setStatusBarColor(color);
+ getWindow().setNavigationBarColor(color);
+ }
+ });
+ }
+
}
@Override