From 057adadfb3ff71962657a0270e83b037f75f6953 Mon Sep 17 00:00:00 2001 From: Philipp Crocoll Date: Wed, 5 Feb 2014 07:03:22 +0100 Subject: [PATCH] added missing files --- .../ic_action_search_holodark.png | Bin 0 -> 1042 bytes .../ic_action_search_holodark.png | Bin 0 -> 672 bytes .../drawable/ic_action_search_holodark.png | Bin 0 -> 672 bytes .../drawable/navigation_cancel_holodark.png | Bin 0 -> 1138 bytes .../Resources/values/attrs.xml | 22 ++++++ src/keepass2android/Utils/ActivityDesign.cs | 66 ++++++++++++++++++ 6 files changed, 88 insertions(+) create mode 100644 src/keepass2android/Resources/drawable-hdpi/ic_action_search_holodark.png create mode 100644 src/keepass2android/Resources/drawable-xhdpi/ic_action_search_holodark.png create mode 100644 src/keepass2android/Resources/drawable/ic_action_search_holodark.png create mode 100644 src/keepass2android/Resources/drawable/navigation_cancel_holodark.png create mode 100644 src/keepass2android/Resources/values/attrs.xml create mode 100644 src/keepass2android/Utils/ActivityDesign.cs diff --git a/src/keepass2android/Resources/drawable-hdpi/ic_action_search_holodark.png b/src/keepass2android/Resources/drawable-hdpi/ic_action_search_holodark.png new file mode 100644 index 0000000000000000000000000000000000000000..02969216e35653fa3baba28c7652c983cc5b423c GIT binary patch literal 1042 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 + + + + + + + + + + + + + + + + + + + + + diff --git a/src/keepass2android/Utils/ActivityDesign.cs b/src/keepass2android/Utils/ActivityDesign.cs new file mode 100644 index 00000000..ced31f94 --- /dev/null +++ b/src/keepass2android/Utils/ActivityDesign.cs @@ -0,0 +1,66 @@ +using Android.App; +using Android.Preferences; + +namespace keepass2android +{ + class ActivityDesign + { + private readonly Activity _activity; + + private int? _currentThemeId; + + public ActivityDesign(Activity activity) + { + _activity = activity; + } + + public void ApplyTheme() + { + if (HasThemes()) + { + var dark = UseDarkTheme; + int newTheme = dark ? Resource.Style.ThemeDark : Resource.Style.ThemeLight; + _activity.SetTheme(newTheme); + _currentThemeId = newTheme; + } + } + + public void ReapplyTheme() + { + int newTheme = UseDarkTheme ? Resource.Style.ThemeDark : Resource.Style.ThemeLight; + if (newTheme != _currentThemeId) + { + Kp2aLog.Log("recreating due to theme change."); + _activity.Recreate(); + } + + } + + private bool UseDarkTheme + { + get + { + var prefs = PreferenceManager.GetDefaultSharedPreferences(_activity); + string design = prefs.GetString(_activity.GetString(Resource.String.design_key), _activity.GetString(Resource.String.design_default)); + bool dark = (design == "Dark"); + return dark; + } + } + + public void ApplyDialogTheme() + { + if (HasThemes()) + { + bool dark = UseDarkTheme; + _activity.SetTheme(dark ? Resource.Style.DialogDark : Resource.Style.DialogLight); + } + + } + + public bool HasThemes() + { + return ((int)Android.OS.Build.VERSION.SdkInt >= 14); + } + + } +} \ No newline at end of file