/// <summary> /// Function to get the current Theme preference /// </summary> void GetThemeSetting() { string theme = SettingsService.GetSetting(SettingsService.Setting.AppTheme); var appTheme = EnumsConverter.ConvertToEnum <SettingsService.Theme>(theme); switch (appTheme) { case SettingsService.Theme.LightTheme: IsLightTheme = true; break; case SettingsService.Theme.DarkTheme: IsDarkTheme = true; break; case SettingsService.Theme.SystemPreferred: IsSystemPreferredTheme = true; break; default: IsSystemPreferredTheme = true; break; } }
/// <summary> /// Get's and applies the users preferred Theme /// </summary> public static void GetAppTheme() { string theme = Settings.GetSetting(Settings.Setting.AppTheme); if (!string.IsNullOrEmpty(theme)) { var appTheme = EnumsConverter.ConvertToEnum <Settings.Theme>(theme); switch (appTheme) { case Settings.Theme.LightTheme: ChangeToLightTheme(); break; case Settings.Theme.DarkTheme: ChangeToDarkTheme(); break; case Settings.Theme.SystemPreferred: ChangeToSystemPreferredTheme(); break; default: ChangeToSystemPreferredTheme(); break; } } else { ChangeToSystemPreferredTheme(); } }
/// <summary> /// Function to change user's Theme in realtime /// when user chooses a different Theme preference /// </summary> void ChangeTheme(string theme) { var appTheme = EnumsConverter.ConvertToEnum <SettingsService.Theme>(theme); switch (appTheme) { case SettingsService.Theme.LightTheme: IsLightTheme = true; ThemeHelper.ChangeToLightTheme(); break; case SettingsService.Theme.DarkTheme: IsDarkTheme = true; ThemeHelper.ChangeToDarkTheme(); break; case SettingsService.Theme.SystemPreferred: IsSystemPreferredTheme = true; ThemeHelper.ChangeToSystemPreferredTheme(); break; default: IsSystemPreferredTheme = true; ThemeHelper.ChangeToSystemPreferredTheme(); break; } }
/// <summary> /// Method to get setting /// </summary> /// <param name="preference">Takes in settings enum</param> /// <returns>Setting string</returns> public static string GetSetting(Setting preference) { bool hasKey = Preferences.ContainsKey(EnumsConverter.ConvertToString(preference)); if (hasKey) { return(Preferences.Get(EnumsConverter.ConvertToString(preference), null)); } return(null); }
/// <summary> /// Method to get clientType /// </summary> public static string GetClientType() { string client = ""; switch (Device.RuntimePlatform) { case Device.iOS: client = EnumsConverter.ConvertToString(ClientType.iOS); break; case Device.Android: client = EnumsConverter.ConvertToString(ClientType.Android); break; } return(client); }
/// <summary> /// Changes to SystemPreferred Theme /// </summary> public static void ChangeToSystemPreferredTheme() { AppTheme appTheme = AppInfo.RequestedTheme; if (appTheme == AppTheme.Dark) { ChangeToDarkTheme(); } else if (appTheme == AppTheme.Light) { ChangeToLightTheme(); } else { ChangeToLightTheme(); } SettingsService.AddSetting(SettingsService.Setting.AppTheme, EnumsConverter.ConvertToString(SettingsService.Theme.SystemPreferred)); }
/// <summary> /// Method to remove setting /// </summary> /// <param name="preference">Takes in the setting enum</param> public static void RemoveSetting(Setting preference) { Preferences.Remove(EnumsConverter.ConvertToString(preference)); }
/// <summary> /// Method to add setting /// </summary> /// <param name="preference">Takes in settings enum</param> /// <param name="setting">takes in the setting in string</param> public static void AddSetting(Setting preference, string setting) { Preferences.Set(EnumsConverter.ConvertToString(preference), setting); }
/// <summary> /// Changes to Dark Theme /// </summary> public static void ChangeToDarkTheme() { Application.Current.Resources = new DarkTheme(); DependencyService.Get <IStatusBar>().ChangeStatusBarColorToBlack(); SettingsService.AddSetting(SettingsService.Setting.AppTheme, EnumsConverter.ConvertToString(SettingsService.Theme.DarkTheme)); }