示例#1
0
        /// <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;
            }
        }
示例#2
0
        /// <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();
            }
        }
示例#3
0
        /// <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);
        }
示例#6
0
        /// <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);
 }
示例#9
0
 /// <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));
 }