summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas <tschneider.ac@gmail.com>2022-12-01 18:26:46 +0100
committerThomas <tschneider.ac@gmail.com>2022-12-01 18:26:46 +0100
commit774a73c62480a64b53f13c1ffeb34fb5088cb3d3 (patch)
treee2de76333031cddf13b024d2b2ab44a38dd668e2
parente1e5284a47e0c17b7a57fc5c967dfd84d3664f36 (diff)
Fix #566 #565 #564
-rw-r--r--app/src/main/AndroidManifest.xml10
-rw-r--r--app/src/main/java/app/fedilab/android/activities/BaseActivity.java16
-rw-r--r--app/src/main/java/app/fedilab/android/activities/BaseAlertDialogActivity.java123
-rw-r--r--app/src/main/java/app/fedilab/android/activities/BaseBarActivity.java19
-rw-r--r--app/src/main/java/app/fedilab/android/activities/BaseTransparentActivity.java126
-rw-r--r--app/src/main/java/app/fedilab/android/activities/InstanceActivity.java2
-rw-r--r--app/src/main/java/app/fedilab/android/activities/InstanceHealthActivity.java2
-rw-r--r--app/src/main/java/app/fedilab/android/activities/InstanceProfileActivity.java2
-rw-r--r--app/src/main/java/app/fedilab/android/activities/MediaActivity.java2
-rw-r--r--app/src/main/java/app/fedilab/android/activities/ProxyActivity.java2
-rw-r--r--app/src/main/java/app/fedilab/android/ui/fragment/settings/FragmentThemingSettings.java1
-rw-r--r--app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonTimeline.java5
-rw-r--r--app/src/main/res/values-night/themes.xml142
-rw-r--r--app/src/main/res/values/colors.xml4
-rw-r--r--app/src/main/res/values/themes.xml94
-rw-r--r--app/src/main/res/xml/pref_theming.xml2
-rw-r--r--build.gradle2
17 files changed, 486 insertions, 68 deletions
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index b38b91d10..ea3259c45 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -288,15 +288,15 @@
android:name=".activities.InstanceActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:label="@string/action_about_instance"
- android:theme="@style/AlertDialog" />
+ android:theme="@style/AppThemeAlertDialog" />
<activity
android:name=".activities.InstanceProfileActivity"
android:excludeFromRecents="true"
- android:theme="@style/AlertDialog" />
+ android:theme="@style/AppThemeAlertDialog" />
<activity
android:name=".activities.ProxyActivity"
android:excludeFromRecents="true"
- android:theme="@style/AlertDialog" />
+ android:theme="@style/AppThemeAlertDialog" />
<activity
android:name=".activities.HashTagActivity"
android:configChanges="keyboardHidden|orientation|screenSize" />
@@ -306,12 +306,12 @@
<activity
android:name=".activities.MediaActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
- android:theme="@style/TransparentDark" />
+ android:theme="@style/Transparent" />
<activity
android:name=".activities.InstanceHealthActivity"
android:excludeFromRecents="true"
- android:theme="@style/AlertDialog" />
+ android:theme="@style/AppThemeAlertDialog" />
<activity
android:name=".activities.ReportActivity"
diff --git a/app/src/main/java/app/fedilab/android/activities/BaseActivity.java b/app/src/main/java/app/fedilab/android/activities/BaseActivity.java
index a03df07d4..fec63c0a4 100644
--- a/app/src/main/java/app/fedilab/android/activities/BaseActivity.java
+++ b/app/src/main/java/app/fedilab/android/activities/BaseActivity.java
@@ -16,8 +16,10 @@ package app.fedilab.android.activities;
import android.annotation.SuppressLint;
+import android.content.Context;
import android.content.SharedPreferences;
import android.content.res.Configuration;
+import android.os.Build;
import android.os.Bundle;
import androidx.annotation.Nullable;
@@ -102,8 +104,20 @@ public class BaseActivity extends AppCompatActivity {
}
}
super.onCreate(savedInstanceState);
- ThemeHelper.adjustFontScale(this, getResources().getConfiguration());
+ if (android.os.Build.VERSION.SDK_INT <= Build.VERSION_CODES.N) {
+ ThemeHelper.adjustFontScale(this, getResources().getConfiguration());
+ }
Helper.setLocale(this);
}
+ @Override
+ protected void attachBaseContext(Context newBase) {
+ if (android.os.Build.VERSION.SDK_INT > Build.VERSION_CODES.N) {
+ final Configuration override = new Configuration(newBase.getResources().getConfiguration());
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(newBase);
+ override.fontScale = prefs.getFloat(newBase.getString(R.string.SET_FONT_SCALE), 1.1f);
+ applyOverrideConfiguration(override);
+ }
+ super.attachBaseContext(newBase);
+ }
}
diff --git a/app/src/main/java/app/fedilab/android/activities/BaseAlertDialogActivity.java b/app/src/main/java/app/fedilab/android/activities/BaseAlertDialogActivity.java
new file mode 100644
index 000000000..220526dc5
--- /dev/null
+++ b/app/src/main/java/app/fedilab/android/activities/BaseAlertDialogActivity.java
@@ -0,0 +1,123 @@
+package app.fedilab.android.activities;
+/* Copyright 2021 Thomas Schneider
+ *
+ * This file is a part of Fedilab
+ *
+ * This program is free software; you can redistribute it and/or modify it under the terms of the
+ * GNU General Public License as published by the Free Software Foundation; either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * Fedilab is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+ * Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with Fedilab; if not,
+ * see <http://www.gnu.org/licenses>. */
+
+
+import android.annotation.SuppressLint;
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.content.res.Configuration;
+import android.os.Build;
+import android.os.Bundle;
+
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.appcompat.app.AppCompatDelegate;
+import androidx.preference.PreferenceManager;
+
+import com.vanniktech.emoji.EmojiManager;
+import com.vanniktech.emoji.one.EmojiOneProvider;
+
+import app.fedilab.android.R;
+import app.fedilab.android.helper.Helper;
+import app.fedilab.android.helper.ThemeHelper;
+
+
+@SuppressLint("Registered")
+public class BaseAlertDialogActivity extends AppCompatActivity {
+
+ static {
+ Helper.installProvider();
+ EmojiManager.install(new EmojiOneProvider());
+ }
+
+ @Override
+ protected void onCreate(@Nullable Bundle savedInstanceState) {
+
+ final SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(this);
+ String currentTheme = sharedpreferences.getString(getString(R.string.SET_THEME_BASE), getString(R.string.SET_DEFAULT_THEME));
+ //Default automatic switch
+ if (currentTheme.equals(getString(R.string.SET_DEFAULT_THEME))) {
+
+ int currentNightMode = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
+ switch (currentNightMode) {
+ case Configuration.UI_MODE_NIGHT_NO:
+ String defaultLight = sharedpreferences.getString(getString(R.string.SET_THEME_DEFAULT_LIGHT), "LIGHT");
+ switch (defaultLight) {
+ case "LIGHT":
+ setTheme(R.style.AppThemeAlertDialog);
+ break;
+ case "SOLARIZED_LIGHT":
+ setTheme(R.style.SolarizedAlertDialog);
+ break;
+ }
+ break;
+ case Configuration.UI_MODE_NIGHT_YES:
+ String defaultDark = sharedpreferences.getString(getString(R.string.SET_THEME_DEFAULT_DARK), "DARK");
+ switch (defaultDark) {
+ case "DARK":
+ setTheme(R.style.AppThemeAlertDialog);
+ break;
+ case "SOLARIZED_DARK":
+ setTheme(R.style.SolarizedAlertDialog);
+ break;
+ case "BLACK":
+ setTheme(R.style.BlackAlertDialog);
+ break;
+ }
+ break;
+ }
+ } else {
+ switch (currentTheme) {
+ case "LIGHT":
+ AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
+ setTheme(R.style.AppThemeAlertDialog);
+ break;
+ case "DARK":
+ AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
+ setTheme(R.style.AppThemeAlertDialog);
+ break;
+ case "SOLARIZED_LIGHT":
+ AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
+ setTheme(R.style.SolarizedAlertDialog);
+ break;
+ case "SOLARIZED_DARK":
+ AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
+ setTheme(R.style.SolarizedAlertDialog);
+ break;
+ case "BLACK":
+ AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
+ setTheme(R.style.BlackAlertDialog);
+ break;
+ }
+ }
+ super.onCreate(savedInstanceState);
+ if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.N) {
+ ThemeHelper.adjustFontScale(this, getResources().getConfiguration());
+ }
+ Helper.setLocale(this);
+ }
+
+ @Override
+ protected void attachBaseContext(Context newBase) {
+ if (Build.VERSION.SDK_INT > Build.VERSION_CODES.N) {
+ final Configuration override = new Configuration(newBase.getResources().getConfiguration());
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(newBase);
+ override.fontScale = prefs.getFloat(newBase.getString(R.string.SET_FONT_SCALE), 1.1f);
+ applyOverrideConfiguration(override);
+ }
+ super.attachBaseContext(newBase);
+ }
+}
diff --git a/app/src/main/java/app/fedilab/android/activities/BaseBarActivity.java b/app/src/main/java/app/fedilab/android/activities/BaseBarActivity.java
index 5c058f6dd..dce372699 100644
--- a/app/src/main/java/app/fedilab/android/activities/BaseBarActivity.java
+++ b/app/src/main/java/app/fedilab/android/activities/BaseBarActivity.java
@@ -16,8 +16,10 @@ package app.fedilab.android.activities;
import android.annotation.SuppressLint;
+import android.content.Context;
import android.content.SharedPreferences;
import android.content.res.Configuration;
+import android.os.Build;
import android.os.Bundle;
import androidx.annotation.Nullable;
@@ -102,8 +104,23 @@ public class BaseBarActivity extends AppCompatActivity {
}
}
super.onCreate(savedInstanceState);
- ThemeHelper.adjustFontScale(this, getResources().getConfiguration());
+ if (android.os.Build.VERSION.SDK_INT <= Build.VERSION_CODES.N) {
+ ThemeHelper.adjustFontScale(this, getResources().getConfiguration());
+ }
Helper.setLocale(this);
}
+ @Override
+ protected void attachBaseContext(Context newBase) {
+
+ if (android.os.Build.VERSION.SDK_INT > Build.VERSION_CODES.N) {
+ final Configuration override = new Configuration(newBase.getResources().getConfiguration());
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(newBase);
+ override.fontScale = prefs.getFloat(newBase.getString(R.string.SET_FONT_SCALE), 1.1f);
+ applyOverrideConfiguration(override);
+ }
+
+
+ super.attachBaseContext(newBase);
+ }
}
diff --git a/app/src/main/java/app/fedilab/android/activities/BaseTransparentActivity.java b/app/src/main/java/app/fedilab/android/activities/BaseTransparentActivity.java
new file mode 100644
index 000000000..12f89e809
--- /dev/null
+++ b/app/src/main/java/app/fedilab/android/activities/BaseTransparentActivity.java
@@ -0,0 +1,126 @@
+package app.fedilab.android.activities;
+/* Copyright 2022 Thomas Schneider
+ *
+ * This file is a part of Fedilab
+ *
+ * This program is free software; you can redistribute it and/or modify it under the terms of the
+ * GNU General Public License as published by the Free Software Foundation; either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * Fedilab is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+ * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+ * Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with Fedilab; if not,
+ * see <http://www.gnu.org/licenses>. */
+
+
+import android.annotation.SuppressLint;
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.content.res.Configuration;
+import android.os.Build;
+import android.os.Bundle;
+
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.appcompat.app.AppCompatDelegate;
+import androidx.preference.PreferenceManager;
+
+import com.vanniktech.emoji.EmojiManager;
+import com.vanniktech.emoji.one.EmojiOneProvider;
+
+import app.fedilab.android.R;
+import app.fedilab.android.helper.Helper;
+import app.fedilab.android.helper.ThemeHelper;
+
+
+@SuppressLint("Registered")
+public class BaseTransparentActivity extends AppCompatActivity {
+
+ static {
+ Helper.installProvider();
+ EmojiManager.install(new EmojiOneProvider());
+ }
+
+ @Override
+ protected void onCreate(@Nullable Bundle savedInstanceState) {
+ final SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(this);
+ String currentTheme = sharedpreferences.getString(getString(R.string.SET_THEME_BASE), getString(R.string.SET_DEFAULT_THEME));
+ //Default automatic switch
+ if (currentTheme.equals(getString(R.string.SET_DEFAULT_THEME))) {
+
+ int currentNightMode = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
+ switch (currentNightMode) {
+ case Configuration.UI_MODE_NIGHT_NO:
+ String defaultLight = sharedpreferences.getString(getString(R.string.SET_THEME_DEFAULT_LIGHT), "LIGHT");
+ switch (defaultLight) {
+ case "LIGHT":
+ setTheme(R.style.Transparent);
+ break;
+ case "SOLARIZED_LIGHT":
+ setTheme(R.style.TransparentSolarized);
+ break;
+ }
+ break;
+ case Configuration.UI_MODE_NIGHT_YES:
+ String defaultDark = sharedpreferences.getString(getString(R.string.SET_THEME_DEFAULT_DARK), "DARK");
+ switch (defaultDark) {
+ case "DARK":
+ setTheme(R.style.Transparent);
+ break;
+ case "SOLARIZED_DARK":
+ setTheme(R.style.TransparentSolarized);
+ break;
+ case "BLACK":
+ setTheme(R.style.TransparentBlack);
+ break;
+ }
+ break;
+ }
+
+ } else {
+ switch (currentTheme) {
+ case "LIGHT":
+ AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
+ setTheme(R.style.Transparent);
+ break;
+ case "DARK":
+ AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
+ setTheme(R.style.Transparent);
+ break;
+ case "SOLARIZED_LIGHT":
+ AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
+ setTheme(R.style.TransparentSolarized);
+ break;
+ case "SOLARIZED_DARK":
+ AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
+ setTheme(R.style.TransparentSolarized);
+ break;
+ case "BLACK":
+ AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
+ setTheme(R.style.TransparentBlack);
+ break;
+ }
+ }
+ super.onCreate(savedInstanceState);
+ if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.N) {
+ ThemeHelper.adjustFontScale(this, getResources().getConfiguration());
+ }
+ Helper.setLocale(this);
+ }
+
+ @Override
+ protected void attachBaseContext(Context newBase) {
+
+ if (Build.VERSION.SDK_INT > Build.VERSION_CODES.N) {
+ final Configuration override = new Configuration(newBase.getResources().getConfiguration());
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(newBase);
+ override.fontScale = prefs.getFloat(newBase.getString(R.string.SET_FONT_SCALE), 1.1f);
+ applyOverrideConfiguration(override);
+ }
+
+
+ super.attachBaseContext(newBase);
+ }
+}
diff --git a/app/src/main/java/app/fedilab/android/activities/InstanceActivity.java b/app/src/main/java/app/fedilab/android/activities/InstanceActivity.java
index 3f16837d7..27f13a7ab 100644
--- a/app/src/main/java/app/fedilab/android/activities/InstanceActivity.java
+++ b/app/src/main/java/app/fedilab/android/activities/InstanceActivity.java
@@ -48,7 +48,7 @@ import app.fedilab.android.helper.ThemeHelper;
import app.fedilab.android.viewmodel.mastodon.InstancesVM;
-public class InstanceActivity extends BaseActivity {
+public class InstanceActivity extends BaseAlertDialogActivity {
ActivityInstanceBinding binding;
diff --git a/app/src/main/java/app/fedilab/android/activities/InstanceHealthActivity.java b/app/src/main/java/app/fedilab/android/activities/InstanceHealthActivity.java
index 25f450c16..85de47a20 100644
--- a/app/src/main/java/app/fedilab/android/activities/InstanceHealthActivity.java
+++ b/app/src/main/java/app/fedilab/android/activities/InstanceHealthActivity.java
@@ -37,7 +37,7 @@ import app.fedilab.android.helper.ThemeHelper;
import app.fedilab.android.viewmodel.mastodon.InstanceSocialVM;
-public class InstanceHealthActivity extends BaseActivity {
+public class InstanceHealthActivity extends BaseAlertDialogActivity {
private ActivityInstanceSocialBinding binding;
diff --git a/app/src/main/java/app/fedilab/android/activities/InstanceProfileActivity.java b/app/src/main/java/app/fedilab/android/activities/InstanceProfileActivity.java
index cc2ea6743..327cf968c 100644
--- a/app/src/main/java/app/fedilab/android/activities/InstanceProfileActivity.java
+++ b/app/src/main/java/app/fedilab/android/activities/InstanceProfileActivity.java
@@ -31,7 +31,7 @@ import app.fedilab.android.helper.Helper;
import app.fedilab.android.viewmodel.mastodon.NodeInfoVM;
import es.dmoral.toasty.Toasty;
-public class InstanceProfileActivity extends BaseActivity {
+public class InstanceProfileActivity extends BaseAlertDialogActivity {
private String instance;
diff --git a/app/src/main/java/app/fedilab/android/activities/MediaActivity.java b/app/src/main/java/app/fedilab/android/activities/MediaActivity.java
index 16a9f5389..2577ac922 100644
--- a/app/src/main/java/app/fedilab/android/activities/MediaActivity.java
+++ b/app/src/main/java/app/fedilab/android/activities/MediaActivity.java
@@ -68,7 +68,7 @@ import app.fedilab.android.ui.fragment.media.FragmentMedia;
import es.dmoral.toasty.Toasty;
-public class MediaActivity extends BaseActivity implements OnDownloadInterface {
+public class MediaActivity extends BaseTransparentActivity implements OnDownloadInterface {
int flags;
private ArrayList<Attachment> attachments;
diff --git a/app/src/main/java/app/fedilab/android/activities/ProxyActivity.java b/app/src/main/java/app/fedilab/android/activities/ProxyActivity.java
index f039f13d9..2ffa61201 100644
--- a/app/src/main/java/app/fedilab/android/activities/ProxyActivity.java
+++ b/app/src/main/java/app/fedilab/android/activities/ProxyActivity.java
@@ -29,7 +29,7 @@ import app.fedilab.android.R;
import app.fedilab.android.databinding.ActivityProxyBinding;
-public class ProxyActivity extends BaseActivity {
+public class ProxyActivity extends BaseAlertDialogActivity {
private ActivityProxyBinding binding;
private int position;
diff --git a/app/src/main/java/app/fedilab/android/ui/fragment/settings/FragmentThemingSettings.java b/app/src/main/java/app/fedilab/android/ui/fragment/settings/FragmentThemingSettings.java
index 019cda75d..ebe91c19b 100644
--- a/app/src/main/java/app/fedilab/android/ui/fragment/settings/FragmentThemingSettings.java
+++ b/app/src/main/java/app/fedilab/android/ui/fragment/settings/FragmentThemingSettings.java
@@ -63,6 +63,7 @@ public class FragmentThemingSettings extends PreferenceFragmentCompat implements
if (SET_THEME_BASE != null) {
ThemeHelper.switchTo(SET_THEME_BASE.getValue());
requireActivity().recreate();
+ Helper.recreateMainActivity(requireActivity());
}
}
//TODO: check if can be removed
diff --git a/app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonTimeline.java b/app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonTimeline.java
index 4da7fedc8..236513755 100644
--- a/app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonTimeline.java
+++ b/app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonTimeline.java
@@ -210,16 +210,15 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter.
if (initialStatuses != null) {
initializeStatusesCommonView(initialStatuses);
} else {
-
router(null);
}
} else {
if (isNotPinnedTimeline && lockForResumeCall == 0) {
router(null);
lockForResumeCall++;
- } else if (!isNotPinnedTimeline) {
+ } /*else if (!isNotPinnedTimeline) {
router(null);
- }
+ }*/
}
if (timelineStatuses != null && timelineStatuses.size() > 0) {
route(DIRECTION.FETCH_NEW, true);
diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml
index 6a2a76eec..c4cddf762 100644
--- a/app/src/main/res/values-night/themes.xml
+++ b/app/src/main/res/values-night/themes.xml
@@ -28,9 +28,7 @@
<item name="colorOnSurfaceInverse">@color/md_theme_dark_inverseOnSurface</item>
<item name="colorPrimaryInverse">@color/md_theme_dark_inversePrimary</item>
-
- <item name="android:statusBarColor">?attr/background</item>
- <item name="android:navigationBarColor">?attr/background</item>
+ <item name="android:navigationBarColor">?android:colorBackground</item>
<item name="android:windowLightStatusBar" tools:targetApi="m">false</item>
<item name="android:windowLightNavigationBar" tools:targetApi="o_mr1">false</item>
<item name="android:isLightTheme" tools:targetApi="q">false</item>
@@ -40,16 +38,13 @@
<item name="android:windowEnterTransition">@android:transition/explode</item>
<item name="android:windowExitTransition">@android:transition/explode</item>
<!-- specify shared element transitions -->
- <item name="android:windowSharedElementEnterTransition">
- @transition/change_image_transform
+ <item name="android:windowSharedElementEnterTransition">@transition/change_image_transform
</item>
- <item name="android:windowSharedElementExitTransition">
- @transition/change_image_transform
+ <item name="android:windowSharedElementExitTransition">@transition/change_image_transform
</item>
</style>
<style name="AppThemeBar" parent="Theme.Material3.Dark">
-
<item name="colorPrimary">@color/md_theme_dark_primary</item>
<item name="colorOnPrimary">@color/md_theme_dark_onPrimary</item>
<item name="colorPrimaryContainer">@color/md_theme_dark_primaryContainer</item>
@@ -76,30 +71,43 @@
<item name="colorSurfaceInverse">@color/md_theme_dark_inverseSurface</item>
<item name="colorOnSurfaceInverse">@color/md_theme_dark_inverseOnSurface</item>
<item name="colorPrimaryInverse">@color/md_theme_dark_inversePrimary</item>
-
- <item name="android:statusBarColor">?attr/background</item>
- <item name="android:navigationBarColor">?attr/background</item>
+ <item name="android:navigationBarColor">?android:colorBackground</item>
<item name="android:windowLightStatusBar" tools:targetApi="m">false</item>
<item name="android:windowLightNavigationBar" tools:targetApi="o_mr1">false</item>
<item name="android:isLightTheme" tools:targetApi="q">false</item>
</style>
- <style name="TransparentDark" parent="Theme.Material3.Dark">
- <item name="android:colorBackgroundCacheHint">@null</item>
- <item name="android:windowContentOverlay">@null</item>
- <item name="android:windowIsFloating">false</item>
- <item name="android:windowIsTranslucent">true</item>
- <item name="android:windowNoTitle">true</item>
- <item name="android:statusBarColor">?attr/background</item>
- <item name="android:navigationBarColor">?attr/background</item>
- <item name="android:windowLightStatusBar" tools:targetApi="m">false</item>
- <item name="android:windowLightNavigationBar" tools:targetApi="o_mr1">false</item>
- <item name="android:isLightTheme" tools:targetApi="q">false</item>
+ <style name="AppThemeAlertDialog" parent="Theme.Material3.Dark.Dialog.Alert">
+ <item name="colorPrimary">@color/md_theme_dark_primary</item>
+ <item name="colorOnPrimary">@color/md_theme_dark_onPrimary</item>
+ <item name="colorPrimaryContainer">@color/md_theme_dark_primaryContainer</item>
+ <item name="colorOnPrimaryContainer">@color/md_theme_dark_onPrimaryContainer</item>
+ <item name="colorSecondary">@color/md_theme_dark_secondary</item>
+ <item name="colorOnSecondary">@color/md_theme_dark_onSecondary</item>
+ <item name="colorSecondaryContainer">@color/md_theme_dark_secondaryContainer</item>
+ <item name="colorOnSecondaryContainer">@color/md_theme_dark_onSecondaryContainer</item>
+ <item name="colorTertiary">@color/md_theme_dark_tertiary</item>
+ <item name="colorOnTertiary">@color/md_theme_dark_onTertiary</item>
+ <item name="colorTertiaryContainer">@color/md_theme_dark_tertiaryContainer</item>
+ <item name="colorOnTertiaryContainer">@color/md_theme_dark_onTertiaryContainer</item>
+ <item name="colorError">@color/md_theme_dark_error</item>
+ <item name="colorOnError">@color/md_theme_dark_onError</item>
+ <item name="colorErrorContainer">@color/md_theme_dark_errorContainer</item>
+ <item name="colorOnErrorContainer">@color/md_theme_dark_onErrorContainer</item>
+ <item name="colorOutline">@color/md_theme_dark_outline</item>
+ <item name="android:colorBackground">@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="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>
+ <item name="colorSurfaceInverse">@color/md_theme_dark_inverseSurface</item>
+ <item name="colorOnSurfaceInverse">@color/md_theme_dark_inverseOnSurface</item>
+ <item name="colorPrimaryInverse">@color/md_theme_dark_inversePrimary</item>
+ <item name="android:navigationBarColor">?android:colorBackground</item>
</style>
- <style name="AlertDialog" parent="Theme.Material3.Dark.Dialog.Alert" />
-
<style name="SolarizedAppTheme" parent="AppTheme">
<item name="colorPrimary">@color/solarized_md_theme_dark_primary</item>
@@ -167,23 +175,61 @@
<item name="colorPrimaryInverse">@color/solarized_md_theme_dark_inversePrimary</item>
</style>
- <style name="BlackAppTheme" parent="AppTheme">
+ <style name="TransparentSolarized" parent="SolarizedAppThemeBar">
+ <item name="android:colorBackgroundCacheHint">@null</item>
+ <item name="android:windowContentOverlay">@null</item>
+ <item name="android:windowIsFloating">false</item>
+ <item name="android:windowIsTranslucent">true</item>
+ <item name="android:windowNoTitle">true</item>
+ </style>
+
+ <style name="SolarizedAlertDialog" parent="Theme.Material3.Dark.Dialog.Alert">
+ <item name="colorPrimary">@color/solarized_md_theme_dark_primary</item>
+ <item name="colorOnPrimary">@color/solarized_md_theme_dark_onPrimary</item>
+ <item name="colorPrimaryContainer">@color/solarized_md_theme_dark_primaryContainer</item>
+ <item name="colorOnPrimaryContainer">@color/solarized_md_theme_dark_onPrimaryContainer
+ </item>
+ <item name="colorSecondary">@color/solarized_md_theme_dark_secondary</item>
+ <item name="colorOnSecondary">@color/solarized_md_theme_dark_onSecondary</item>
+ <item name="colorSecondaryContainer">@color/solarized_md_theme_dark_secondaryContainer
+ </item>
+ <item name="colorOnSecondaryContainer">@color/solarized_md_theme_dark_onSecondaryContainer
+ </item>
+ <item name="colorTertiary">@color/solarized_md_theme_dark_tertiary</item>
+ <item name="colorOnTertiary">@color/solarized_md_theme_dark_onTertiary</item>
+ <item name="colorTertiaryContainer">@color/solarized_md_theme_dark_tertiaryContainer</item>
+ <item name="colorOnTertiaryContainer">@color/solarized_md_theme_dark_onTertiaryContainer
+ </item>
+ <item name="colorError">@color/solarized_md_theme_dark_error</item>
+ <item name="colorErrorContainer">@color/solarized_md_theme_dark_errorContainer</item>
+ <item name="colorOnError">@color/solarized_md_theme_dark_onError</item>
+ <item name="colorOnErrorContainer">@color/solarized_md_theme_dark_onErrorContainer</item>
+ <item name="android:colorBackground">@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="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>
+ <item name="colorOutline">@color/solarized_md_theme_dark_outline</item>
+ <item name="colorOnSurfaceInverse">@color/solarized_md_theme_dark_inverseOnSurface</item>
+ <item name="colorSurfaceInverse">@color/solarized_md_theme_dark_inverseSurface</item>
+ <item name="colorPrimaryInverse">@color/solarized_md_theme_dark_inversePrimary</item>
+ </style>
+
+ <style name="BlackAppTheme" parent="AppTheme">
<item name="colorPrimary">@color/md_theme_dark_primary</item>
<item name="colorOnPrimary">@color/white</item>
<item name="colorPrimaryContainer">@color/md_theme_dark_primaryContainer</item>
<item name="colorOnPrimaryContainer">@color/white</item>
-
<item name="colorSecondary">@color/md_theme_dark_secondary</item>
<item name="colorOnSecondary">@color/md_theme_dark_onSecondary</item>
<item name="colorSecondaryContainer">@color/md_theme_dark_secondaryContainer</item>
<item name="colorOnSecondaryContainer">@color/md_theme_dark_onSecondaryContainer</item>
-
<item name="colorTertiary">@color/md_theme_dark_tertiary</item>
<item name="colorOnTertiary">@color/md_theme_dark_onTertiary</item>
<item name="colorTertiaryContainer">@color/md_theme_dark_tertiaryContainer</item>
<item name="colorOnTertiaryContainer">@color/md_theme_dark_onTertiaryContainer</item>
-
<item name="colorError">@color/solarized_md_theme_dark_error</item>
<item name="colorErrorContainer">@color/solarized_md_theme_dark_errorContainer</item>
<item name="colorOnError">@color/solarized_md_theme_dark_onError</item>
@@ -201,22 +247,56 @@
</style>
<style name="BlackAppThemeBar" parent="AppThemeBar">
-
<item name="colo