diff options
author | Andrew Dolgov <[email protected]> | 2020-04-21 21:50:19 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2020-04-21 21:50:19 +0300 |
commit | 066caa758d9cd05bf91ad4c9a825f4c1d95438c2 (patch) | |
tree | 925aa60e5b24a478bfcf4e196e35af4917170851 /org.fox.epube/src/main/java/org | |
parent | 5c4d379b738c3fd24aa4c2ac4243018b7d7e0d7f (diff) |
allow setting status/nav/etc colors relevant to reader theme
Diffstat (limited to 'org.fox.epube/src/main/java/org')
-rw-r--r-- | org.fox.epube/src/main/java/org/fox/epube/MainActivity.java | 30 |
1 files changed, 29 insertions, 1 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 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
|