Commit 90a6297c authored by Thomas's avatar Thomas
Browse files

Fix status bar icons not visible in light theme with custom accent color

parent fed33cf6
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -15,7 +15,9 @@ package app.fedilab.android.mastodon.activities;
 * see <http://www.gnu.org/licenses>. */


import static app.fedilab.android.BaseMainActivity.currentInstance;
import static app.fedilab.android.BaseMainActivity.currentNightMode;
import static app.fedilab.android.BaseMainActivity.currentUserID;

import android.annotation.SuppressLint;
import android.content.Context;
@@ -24,6 +26,7 @@ import android.content.res.Configuration;
import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;

@@ -72,8 +75,20 @@ public class BaseActivity extends AppCompatActivity {
        }

        String currentTheme = sharedpreferences.getString(getString(R.string.SET_THEME_BASE), getString(R.string.SET_DEFAULT_THEME));
        boolean customAccentEnabled = sharedpreferences.getBoolean(getString(R.string.SET_CUSTOM_ACCENT) + currentUserID + currentInstance, false);

        //Default automatic switch
        currentNightMode = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;


        if(customAccentEnabled && currentNightMode == Configuration.UI_MODE_NIGHT_NO) {
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
                getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR|View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR);
            }else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
            }
        }

        if (currentTheme.equals(getString(R.string.SET_DEFAULT_THEME))) {
            switch (currentNightMode) {
                case Configuration.UI_MODE_NIGHT_NO -> {
+11 −0
Original line number Diff line number Diff line
@@ -15,7 +15,9 @@ package app.fedilab.android.mastodon.activities;
 * see <http://www.gnu.org/licenses>. */


import static app.fedilab.android.BaseMainActivity.currentInstance;
import static app.fedilab.android.BaseMainActivity.currentNightMode;
import static app.fedilab.android.BaseMainActivity.currentUserID;

import android.annotation.SuppressLint;
import android.content.Context;
@@ -24,6 +26,7 @@ import android.content.res.Configuration;
import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;

@@ -67,8 +70,16 @@ public class BaseBarActivity extends AppCompatActivity {
            }
        }
        String currentTheme = sharedpreferences.getString(getString(R.string.SET_THEME_BASE), getString(R.string.SET_DEFAULT_THEME));
        boolean customAccentEnabled = sharedpreferences.getBoolean(getString(R.string.SET_CUSTOM_ACCENT) + currentUserID + currentInstance, false);
        //Default automatic switch
        currentNightMode = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
        if(customAccentEnabled && currentNightMode == Configuration.UI_MODE_NIGHT_NO) {
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
                getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR|View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR);
            }else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
            }
        }
        if (currentTheme.equals(getString(R.string.SET_DEFAULT_THEME))) {
            switch (currentNightMode) {
                case Configuration.UI_MODE_NIGHT_NO -> {
+12 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@
        <item name="statusBar">@color/md_theme_dark_background</item>
        <item name="colorOnBackground">@color/md_theme_dark_onBackground</item>
        <item name="colorSurface">@color/md_theme_dark_surface</item>
        <item name="colorSurfaceContainer">@color/md_theme_dark_surface</item>
        <item name="colorOnSurface">@color/md_theme_dark_onSurface</item>
        <item name="colorSurfaceVariant">@color/md_theme_dark_surfaceVariant</item>
        <item name="colorOnSurfaceVariant">@color/md_theme_dark_onSurfaceVariant</item>
@@ -72,6 +73,7 @@
        <item name="statusBar">@color/md_theme_dark_background</item>
        <item name="colorOnBackground">@color/md_theme_dark_onBackground</item>
        <item name="colorSurface">@color/md_theme_dark_surface</item>
        <item name="colorSurfaceContainer">@color/md_theme_dark_surface</item>
        <item name="colorOnSurface">@color/md_theme_dark_onSurface</item>
        <item name="colorSurfaceVariant">@color/md_theme_dark_surfaceVariant</item>
        <item name="colorOnSurfaceVariant">@color/md_theme_dark_onSurfaceVariant</item>
@@ -126,6 +128,7 @@
        <item name="statusBar">@color/md_theme_dark_background</item>
        <item name="colorOnBackground">@color/md_theme_dark_onBackground</item>
        <item name="colorSurface">@color/md_theme_dark_surface</item>
        <item name="colorSurfaceContainer">@color/md_theme_dark_surface</item>
        <item name="colorOnSurface">@color/md_theme_dark_onSurface</item>
        <item name="colorSurfaceVariant">@color/md_theme_dark_surfaceVariant</item>
        <item name="colorOnSurfaceVariant">@color/md_theme_dark_onSurfaceVariant</item>
@@ -164,6 +167,7 @@
        <item name="statusBar">@color/solarized_md_theme_dark_background</item>
        <item name="colorOnBackground">@color/solarized_md_theme_dark_onBackground</item>
        <item name="colorSurface">@color/solarized_md_theme_dark_surface</item>
        <item name="colorSurfaceContainer">@color/solarized_md_theme_dark_surface</item>
        <item name="colorOnSurface">@color/solarized_md_theme_dark_onSurface</item>
        <item name="colorSurfaceVariant">@color/solarized_md_theme_dark_surfaceVariant</item>
        <item name="colorOnSurfaceVariant">@color/solarized_md_theme_dark_onSurfaceVariant</item>
@@ -200,6 +204,7 @@
        <item name="statusBar">@color/solarized_md_theme_dark_background</item>
        <item name="colorOnBackground">@color/solarized_md_theme_dark_onBackground</item>
        <item name="colorSurface">@color/solarized_md_theme_dark_surface</item>
        <item name="colorSurfaceContainer">@color/solarized_md_theme_dark_surface</item>
        <item name="colorOnSurface">@color/solarized_md_theme_dark_onSurface</item>
        <item name="colorSurfaceVariant">@color/solarized_md_theme_dark_surfaceVariant</item>
        <item name="colorOnSurfaceVariant">@color/solarized_md_theme_dark_onSurfaceVariant</item>
@@ -255,6 +260,7 @@
        <item name="statusBar">@color/solarized_md_theme_dark_background</item>
        <item name="colorOnBackground">@color/solarized_md_theme_dark_onBackground</item>
        <item name="colorSurface">@color/solarized_md_theme_dark_surface</item>
        <item name="colorSurfaceContainer">@color/solarized_md_theme_dark_surface</item>
        <item name="colorOnSurface">@color/solarized_md_theme_dark_onSurface</item>
        <item name="colorSurfaceVariant">@color/solarized_md_theme_dark_surfaceVariant</item>
        <item name="colorOnSurfaceVariant">@color/solarized_md_theme_dark_onSurfaceVariant</item>
@@ -288,6 +294,7 @@
        <item name="statusBar">@color/black</item>
        <item name="colorOnBackground">@color/white</item>
        <item name="colorSurface">@color/black</item>
        <item name="colorSurfaceContainer">@color/black</item>
        <item name="colorOnSurface">@color/white</item>
        <item name="colorSurfaceVariant">@color/black</item>
        <item name="colorOnSurfaceVariant">@color/white</item>
@@ -320,6 +327,7 @@
        <item name="statusBar">@color/black</item>
        <item name="colorOnBackground">@color/white</item>
        <item name="colorSurface">@color/black</item>
        <item name="colorSurfaceContainer">@color/black</item>
        <item name="colorOnSurface">@color/white</item>
        <item name="colorSurfaceVariant">@color/black</item>
        <item name="colorOnSurfaceVariant">@color/white</item>
@@ -370,6 +378,7 @@
        <item name="statusBar">@color/black</item>
        <item name="colorOnBackground">@color/white</item>
        <item name="colorSurface">@color/black</item>
        <item name="colorSurfaceContainer">@color/black</item>
        <item name="colorOnSurface">@color/white</item>
        <item name="colorSurfaceVariant">@color/black</item>
        <item name="colorOnSurfaceVariant">@color/white</item>
@@ -404,6 +413,7 @@
        <item name="statusBar">@color/dracula_background</item>
        <item name="colorOnBackground">@color/dracula_foreground</item>
        <item name="colorSurface">@color/dracula_background</item>
        <item name="colorSurfaceContainer">@color/dracula_background</item>
        <item name="colorOnSurface">@color/dracula_foreground</item>
        <item name="colorSurfaceVariant">@color/dracula_current_Line</item>
        <item name="colorOnSurfaceVariant">@color/dracula_foreground</item>
@@ -437,6 +447,7 @@
        <item name="statusBar">@color/dracula_background</item>
        <item name="colorOnBackground">@color/dracula_foreground</item>
        <item name="colorSurface">@color/dracula_background</item>
        <item name="colorSurfaceContainer">@color/dracula_background</item>
        <item name="colorOnSurface">@color/dracula_foreground</item>
        <item name="colorSurfaceVariant">@color/dracula_current_Line</item>
        <item name="colorOnSurfaceVariant">@color/dracula_foreground</item>
@@ -488,6 +499,7 @@
        <item name="statusBar">@color/dracula_background</item>
        <item name="colorOnBackground">@color/dracula_foreground</item>
        <item name="colorSurface">@color/dracula_background</item>
        <item name="colorSurfaceContainer">@color/dracula_background</item>
        <item name="colorOnSurface">@color/dracula_foreground</item>
        <item name="colorSurfaceVariant">@color/dracula_current_Line</item>
        <item name="colorOnSurfaceVariant">@color/dracula_foreground</item>