mirror of
https://github.com/bitwarden/mobile
synced 2025-12-25 12:43:39 +00:00
Dynamic theme switching and visual tweaks (#1556)
* Dynamic theme switching and visual tweaks * update action runner to use macos-11 for iOS 15 support * additional tweaks * refinements * refinements * formatting and tweaks
This commit is contained in:
67
src/Android/Utilities/ThemeHelpers.cs
Normal file
67
src/Android/Utilities/ThemeHelpers.cs
Normal file
@@ -0,0 +1,67 @@
|
||||
using Android.Graphics;
|
||||
using Bit.App.Utilities;
|
||||
using Xamarin.Forms.Platform.Android;
|
||||
|
||||
namespace Bit.Droid.Utilities
|
||||
{
|
||||
public class ThemeHelpers
|
||||
{
|
||||
public static bool LightTheme = true;
|
||||
|
||||
public static Color PrimaryColor
|
||||
{
|
||||
get => ThemeManager.GetResourceColor("PrimaryColor").ToAndroid();
|
||||
}
|
||||
public static Color MutedColor
|
||||
{
|
||||
get => ThemeManager.GetResourceColor("MutedColor").ToAndroid();
|
||||
}
|
||||
public static Color NavBarBackgroundColor
|
||||
{
|
||||
get => ThemeManager.GetResourceColor("NavigationBarBackgroundColor").ToAndroid();
|
||||
}
|
||||
public static Color FabColor
|
||||
{
|
||||
get => ThemeManager.GetResourceColor("FabColor").ToAndroid();
|
||||
}
|
||||
public static Color SwitchOnColor
|
||||
{
|
||||
get => ThemeManager.GetResourceColor("SwitchOnColor").ToAndroid();
|
||||
}
|
||||
public static Color SwitchThumbColor
|
||||
{
|
||||
get => ThemeManager.GetResourceColor("SwitchThumbColor").ToAndroid();
|
||||
}
|
||||
|
||||
public static void SetAppearance(string theme, bool osDarkModeEnabled)
|
||||
{
|
||||
SetThemeVariables(theme, osDarkModeEnabled);
|
||||
}
|
||||
|
||||
public static int GetDialogTheme()
|
||||
{
|
||||
if (LightTheme)
|
||||
{
|
||||
return Android.Resource.Style.ThemeMaterialLightDialog;
|
||||
}
|
||||
return Android.Resource.Style.ThemeMaterialDialog;
|
||||
}
|
||||
|
||||
private static void SetThemeVariables(string theme, bool osDarkModeEnabled)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(theme) && osDarkModeEnabled)
|
||||
{
|
||||
theme = "dark";
|
||||
}
|
||||
|
||||
if (theme == "dark" || theme == "black" || theme == "nord")
|
||||
{
|
||||
LightTheme = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
LightTheme = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user