--- /dev/null
+using System;
+
+namespace Tizen.System
+{
+ /// <summary>
+ /// The System Settings API provides APIs for sharing configuration over a system
+ /// </summary>
+ /// <remarks>
+ /// System Settings API provides functions for getting the system configuration related to user preferences.
+ /// The main features of the System Settings API include accessing system-wide configurations, such as ringtones, wallpapers, and etc
+ /// </remarks>
+ public static class SystemSettings
+ {
+ /// <summary>
+ /// The file path of the current ringtone
+ /// </summary>
+ public static string IncomingCallRingtone
+ {
+ get
+ {
+ string filePath;
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsGetValueString(SystemSettingsKeys.IncomingCallRingtone, out filePath);
+ if (res != SystemSettingsError.None)
+ {
+ Log.Warn(SystemSettingsExceptionFactory.LogTag, "unable to get IncomingCallRingtone system setting value.");
+ }
+ return filePath;
+ }
+ set
+ {
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsSetValueString(SystemSettingsKeys.IncomingCallRingtone, value);
+ if (res != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(res, "unable to set IncomingCallRingtone system setting.");
+ }
+ }
+ }
+
+ /// <summary>
+ /// The file path of the current home screen wallpaper
+ /// </summary>
+ public static string WallpaperHomeScreen
+ {
+ get
+ {
+ string filePath;
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsGetValueString(SystemSettingsKeys.WallpaperHomeScreen, out filePath);
+ if (res != SystemSettingsError.None)
+ {
+ Log.Warn(SystemSettingsExceptionFactory.LogTag, "unable to get WallpaperHomeScreen system setting value.");
+ }
+ return filePath;
+ }
+ set
+ {
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsSetValueString(SystemSettingsKeys.WallpaperHomeScreen, value);
+ if (res != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(res, "unable to set WallpaperHomeScreen system setting.");
+ }
+ }
+ }
+
+ /// <summary>
+ /// The file path of the current lock screen wallpaper
+ /// </summary>
+ public static string WallpaperLockScreen
+ {
+ get
+ {
+ string filePath;
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsGetValueString(SystemSettingsKeys.WallpaperLockScreen, out filePath);
+ if (res != SystemSettingsError.None)
+ {
+ Log.Warn(SystemSettingsExceptionFactory.LogTag, "unable to get WallpaperLockScreen system setting value.");
+ }
+ return filePath;
+ }
+ set
+ {
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsSetValueString(SystemSettingsKeys.WallpaperLockScreen, value);
+ if (res != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(res, "unable to set WallpaperLockScreen system setting.");
+ }
+ }
+ }
+
+ /// <summary>
+ /// The current system font size
+ /// </summary>
+ public static SystemSettingsFontSize FontSize
+ {
+ get
+ {
+ int fontSize;
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsGetValueInt(SystemSettingsKeys.FontSize, out fontSize);
+ if (res != SystemSettingsError.None)
+ {
+ Log.Warn(SystemSettingsExceptionFactory.LogTag, "unable to get FontSize system setting value.");
+ }
+ return (SystemSettingsFontSize)fontSize;
+ }
+ set
+ {
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsSetValueInt(SystemSettingsKeys.FontSize, (int)value);
+ if (res != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(res, "unable to set FontSize system setting.");
+ }
+ }
+ }
+
+ /// <summary>
+ /// The current system font type
+ /// </summary>
+ public static string FontType
+ {
+ get
+ {
+ string fontType;
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsGetValueString(SystemSettingsKeys.FontType, out fontType);
+ if (res != SystemSettingsError.None)
+ {
+ Log.Warn(SystemSettingsExceptionFactory.LogTag, "unable to get FontType system setting value.");
+ }
+ return fontType;
+ }
+ set
+ {
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsSetValueString(SystemSettingsKeys.FontType, value);
+ if (res != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(res, "unable to set FontType system setting.");
+ }
+ }
+ }
+
+ /// <summary>
+ /// Indicates whether the motion service is activated
+ /// </summary>
+ public static bool MotionActivationEnabled
+ {
+ get
+ {
+ bool isMotionServiceActivated;
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsGetValueBool(SystemSettingsKeys.MotionActivationEnabled, out isMotionServiceActivated);
+ if (res != SystemSettingsError.None)
+ {
+ Log.Warn(SystemSettingsExceptionFactory.LogTag, "unable to get MotionActivation system setting value.");
+ }
+ return isMotionServiceActivated;
+ }
+ set
+ {
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsSetValueBool(SystemSettingsKeys.MotionActivationEnabled, value);
+ if (res != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(res, "unable to set MotionActivation system setting.");
+ }
+ }
+ }
+
+ /// <summary>
+ /// The file path of the current email alert ringtone
+ /// </summary>
+ public static string EmailAlertRingtone
+ {
+ get
+ {
+ string filePath;
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsGetValueString(SystemSettingsKeys.EmailAlertRingtone, out filePath);
+ if (res != SystemSettingsError.None)
+ {
+ Log.Warn(SystemSettingsExceptionFactory.LogTag, "unable to get EmailAlertRingtone system setting value.");
+ }
+ return filePath;
+ }
+ set
+ {
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsSetValueString(SystemSettingsKeys.EmailAlertRingtone, value);
+ if (res != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(res, "unable to set EmailAlertRingtone system setting.");
+ }
+ }
+ }
+ /// <summary>
+ /// Indicates whether the USB debugging is enabled (Since 2.4)
+ /// </summary>
+ public static bool UsbDebuggingEnabled
+ {
+ get
+ {
+ bool isusbDebuggingEnabled;
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsGetValueBool(SystemSettingsKeys.UsbDebuggingEnabled, out isusbDebuggingEnabled);
+ if (res != SystemSettingsError.None)
+ {
+ Log.Warn(SystemSettingsExceptionFactory.LogTag, "unable to get UsbDebuggingEnabled system setting value.");
+ }
+ return isusbDebuggingEnabled;
+ }
+ set
+ {
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsSetValueBool(SystemSettingsKeys.UsbDebuggingEnabled, value);
+ if (res != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(res, "unable to set UsbDebuggingEnabled system setting.");
+ }
+ }
+ }
+
+ /// <summary>
+ /// Indicates whether the 3G data network is enabled (Since 2.4)
+ /// </summary>
+ public static bool Data3GNetworkEnabled
+ {
+ get
+ {
+ bool is3GDataEnabled;
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsGetValueBool(SystemSettingsKeys.Data3GNetworkEnabled, out is3GDataEnabled);
+ if (res != SystemSettingsError.None)
+ {
+ Log.Warn(SystemSettingsExceptionFactory.LogTag, "unable to get Data3GNetworkEnabled system setting value.");
+ }
+ return is3GDataEnabled;
+ }
+ set
+ {
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsSetValueBool(SystemSettingsKeys.Data3GNetworkEnabled, value);
+ if (res != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(res, "unable to set Data3GNetworkEnabled system setting.");
+ }
+ }
+ }
+
+ /// <summary>
+ /// Indicates lockscreen app pkg name
+ /// </summary>
+ public static string LockscreenApp
+ {
+ get
+ {
+ string pkgName;
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsGetValueString(SystemSettingsKeys.LockscreenApp, out pkgName);
+ if (res != SystemSettingsError.None)
+ {
+ Log.Warn(SystemSettingsExceptionFactory.LogTag, "unable to get LockscreenApp system setting value.");
+ }
+ return pkgName;
+ }
+ set
+ {
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsSetValueString(SystemSettingsKeys.LockscreenApp, value);
+ if (res != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(res, "unable to set LockscreenApp system setting.");
+ }
+ }
+ }
+
+ /// <summary>
+ /// The current system default font type (only support Get)
+ /// </summary>
+ public static string DefaultFontType
+ {
+ get
+ {
+ string defaultFontType;
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsGetValueString(SystemSettingsKeys.DefaultFontType, out defaultFontType);
+ if (res != SystemSettingsError.None)
+ {
+ Log.Warn(SystemSettingsExceptionFactory.LogTag, "unable to get DefaultFontType system setting value.");
+ }
+ return defaultFontType;
+ }
+ }
+
+ /// <summary>
+ /// Indicates the current country setting in the <LANGUAGE>_<REGION> syntax.
+ /// The country setting is in the ISO 639-2 format,
+ /// and the region setting is in the ISO 3166-1 alpha-2 format
+ /// </summary>
+ public static string LocaleCountry
+ {
+ get
+ {
+ string countrySetting;
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsGetValueString(SystemSettingsKeys.LocaleCountry, out countrySetting);
+ if (res != SystemSettingsError.None)
+ {
+ Log.Warn(SystemSettingsExceptionFactory.LogTag, "unable to get LocaleCountry system setting value.");
+ }
+ return countrySetting;
+ }
+ set
+ {
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsSetValueString(SystemSettingsKeys.LocaleCountry, value);
+ if (res != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(res, "unable to set LocaleCountry system setting.");
+ }
+ }
+ }
+
+ /// <summary>
+ /// Indicates the current language setting in the <LANGUAGE>_<REGION> syntax.
+ /// The language setting is in the ISO 639-2 format
+ /// and the region setting is in the ISO 3166-1 alpha-2 format.
+ /// </summary>
+ public static string LocaleLanguage
+ {
+ get
+ {
+ string languageSetting;
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsGetValueString(SystemSettingsKeys.LocaleLanguage, out languageSetting);
+ if (res != SystemSettingsError.None)
+ {
+ Log.Warn(SystemSettingsExceptionFactory.LogTag, "unable to get LocaleLanguage system setting value.");
+ }
+ return languageSetting;
+ }
+ set
+ {
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsSetValueString(SystemSettingsKeys.LocaleLanguage, value);
+ if (res != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(res, "unable to set LocaleLanguage system setting.");
+ }
+ }
+ }
+
+ /// <summary>
+ /// Indicates whether the 24-hour clock is used.
+ /// If the value is false, the 12-hour clock is used.
+ /// </summary>
+ public static bool LocaleTimeFormat24HourEnabled
+ {
+ get
+ {
+ bool is24HrFormat;
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsGetValueBool(SystemSettingsKeys.LocaleTimeFormat24HourEnabled, out is24HrFormat);
+ if (res != SystemSettingsError.None)
+ {
+ Log.Warn(SystemSettingsExceptionFactory.LogTag, "unable to get LocaleTimeFormat24Hour system setting value.");
+ }
+ return is24HrFormat;
+ }
+ set
+ {
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsSetValueBool(SystemSettingsKeys.LocaleTimeFormat24HourEnabled, value);
+ if (res != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(res, "unable to set LocaleTimeFormat24Hour system setting.");
+ }
+ }
+ }
+
+ /// <summary>
+ /// Indicates the current time zone.
+ /// </summary>
+ public static string LocaleTimeZone
+ {
+ get
+ {
+ string timeZone;
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsGetValueString(SystemSettingsKeys.LocaleTimeZone, out timeZone);
+ if (res != SystemSettingsError.None)
+ {
+ Log.Warn(SystemSettingsExceptionFactory.LogTag, "unable to get LocaleTimeZone system setting value.");
+ }
+ return timeZone;
+ }
+ set
+ {
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsSetValueString(SystemSettingsKeys.LocaleTimeZone, value);
+ if (res != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(res, "unable to set LocaleTimeZone system setting.");
+ }
+ }
+ }
+ /// <summary>
+ /// Indicates whether the screen lock sound is enabled on the device. ex) LCD on/off sound
+ /// </summary>
+ public static bool SoundLockEnabled
+ {
+ get
+ {
+ bool isSoundLockEnabled;
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsGetValueBool(SystemSettingsKeys.SoundLockEnabled, out isSoundLockEnabled);
+ if (res != SystemSettingsError.None)
+ {
+ Log.Warn(SystemSettingsExceptionFactory.LogTag, "unable to get SoundLock system setting value.");
+ }
+ return isSoundLockEnabled;
+ }
+ }
+
+ /// <summary>
+ /// Indicates whether the device is in the silent mode.
+ /// </summary>
+ public static bool SoundSilentModeEnabled
+ {
+ get
+ {
+ bool isSilent;
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsGetValueBool(SystemSettingsKeys.SoundSilentModeEnabled, out isSilent);
+ if (res != SystemSettingsError.None)
+ {
+ Log.Warn(SystemSettingsExceptionFactory.LogTag, "unable to get SoundSilentMode system setting value.");
+ }
+ return isSilent;
+ }
+ }
+
+ /// <summary>
+ /// Indicates whether the screen touch sound is enabled on the device.
+ /// </summary>
+ public static bool SoundTouchEnabled
+ {
+ get
+ {
+ bool isTouchSoundEnabled;
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsGetValueBool(SystemSettingsKeys.SoundTouchEnabled, out isTouchSoundEnabled);
+ if (res != SystemSettingsError.None)
+ {
+ Log.Warn(SystemSettingsExceptionFactory.LogTag, "unable to get SoundTouch system setting value.");
+ }
+ return isTouchSoundEnabled;
+ }
+ }
+
+ /// <summary>
+ /// Indicates whether rotation control is automatic.
+ /// </summary>
+ public static bool DisplayScreenRotationAutoEnabled
+ {
+ get
+ {
+ bool isRotationAutomatic;
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsGetValueBool(SystemSettingsKeys.DisplayScreenRotationAutoEnabled, out isRotationAutomatic);
+ if (res != SystemSettingsError.None)
+ {
+ Log.Warn(SystemSettingsExceptionFactory.LogTag, "unable to get DisplayScreenRotationAuto system setting value.");
+ }
+ return isRotationAutomatic;
+ }
+ }
+
+ /// <summary>
+ /// Indicates device name.
+ /// </summary>
+ public static string DeviceName
+ {
+ get
+ {
+ string deviceName;
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsGetValueString(SystemSettingsKeys.DeviceName, out deviceName);
+ if (res != SystemSettingsError.None)
+ {
+ Log.Warn(SystemSettingsExceptionFactory.LogTag, "unable to get DeviceName system setting value.");
+ }
+ return deviceName;
+ }
+ }
+ /// <summary>
+ /// Indicates whether the device user has enabled motion feature.
+ /// </summary>
+ public static bool MotionEnabled
+ {
+ get
+ {
+ bool isMotionEnabled;
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsGetValueBool(SystemSettingsKeys.MotionEnabled, out isMotionEnabled);
+ if (res != SystemSettingsError.None)
+ {
+ Log.Warn(SystemSettingsExceptionFactory.LogTag, "unable to get MotionEnabled system setting value.");
+ }
+ return isMotionEnabled;
+ }
+ }
+
+ /// <summary>
+ /// Indicates whether Wi-Fi-related notifications are enabled on the device.
+ /// </summary>
+ public static bool NetworkWifiNotificationEnabled
+ {
+ get
+ {
+ bool isWifiNotificationEnabled;
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsGetValueBool(SystemSettingsKeys.NetworkWifiNotificationEnabled, out isWifiNotificationEnabled);
+ if (res != SystemSettingsError.None)
+ {
+ Log.Warn(SystemSettingsExceptionFactory.LogTag, "unable to get NetworkWifiNotification system setting value.");
+ }
+ return isWifiNotificationEnabled;
+ }
+ }
+
+ /// <summary>
+ /// Indicates whether the device is in the flight mode.
+ /// </summary>
+ public static bool NetworkFlightModeEnabled
+ {
+ get
+ {
+ bool isFlightModeEnabled;
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsGetValueBool(SystemSettingsKeys.NetworkFlightModeEnabled, out isFlightModeEnabled);
+ if (res != SystemSettingsError.None)
+ {
+ Log.Warn(SystemSettingsExceptionFactory.LogTag, "unable to get NetworkFlightMode system setting value.");
+ }
+ return isFlightModeEnabled;
+ }
+ }
+
+ /// <summary>
+ /// Indicates the backlight time (in seconds). The following values can be used: 15, 30, 60, 120, 300, and 600.
+ /// </summary>
+ public static int ScreenBacklightTime
+ {
+ get
+ {
+ int backlightTime;
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsGetValueInt(SystemSettingsKeys.ScreenBacklightTime, out backlightTime);
+ if (res != SystemSettingsError.None)
+ {
+ Log.Warn(SystemSettingsExceptionFactory.LogTag, "unable to get ScreenBacklightTime system setting value.");
+ }
+ return backlightTime;
+ }
+ set
+ {
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsSetValueInt(SystemSettingsKeys.ScreenBacklightTime, value);
+ if (res != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(res, "unable to set ScreenBacklightTime system setting.");
+ }
+ }
+ }
+
+ /// <summary>
+ /// Indicates the file path of the current notification tone set by the user.
+ /// </summary>
+ public static string SoundNotification
+ {
+ get
+ {
+ string filePath;
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsGetValueString(SystemSettingsKeys.SoundNotification, out filePath);
+ if (res != SystemSettingsError.None)
+ {
+ Log.Warn(SystemSettingsExceptionFactory.LogTag, "unable to get SoundNotification system setting value.");
+ }
+ return filePath;
+ }
+ set
+ {
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsSetValueString(SystemSettingsKeys.SoundNotification, value);
+ if (res != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(res, "unable to set SoundNotification system setting.");
+ }
+ }
+ }
+
+ /// <summary>
+ /// Indicates the time period for notification repetitions.
+ /// </summary>
+ public static int SoundNotificationRepetitionPeriod
+ {
+ get
+ {
+ int notificationRepetitionPeriod;
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsGetValueInt(SystemSettingsKeys.SoundNotificationRepetitionPeriod, out notificationRepetitionPeriod);
+ if (res != SystemSettingsError.None)
+ {
+ Log.Warn(SystemSettingsExceptionFactory.LogTag, "unable to get SoundNotificationRepetitionPeriod system setting value.");
+ }
+ return notificationRepetitionPeriod;
+ }
+ set
+ {
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsSetValueInt(SystemSettingsKeys.SoundNotificationRepetitionPeriod, value);
+ if (res != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(res, "unable to set SoundNotificationRepetitionPeriod system setting.");
+ }
+ }
+ }
+
+ /// <summary>
+ /// Indicates the current lock state
+ /// </summary>
+ public static SystemSettingsIdleLockState LockState
+ {
+ get
+ {
+ int LockState;
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsGetValueInt(SystemSettingsKeys.LockState, out LockState);
+ if (res != SystemSettingsError.None)
+ {
+ Log.Warn(SystemSettingsExceptionFactory.LogTag, "unable to get LockState system setting value.");
+ }
+ return (SystemSettingsIdleLockState)LockState;
+ }
+ set
+ {
+ SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsSetValueInt(SystemSettingsKeys.LockState, (int)value);
+ if (res != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(res, "unable to set LockState system setting.");
+ }
+ }
+ }
+
+ private static readonly Interop.Settings.SystemSettingsChangedCallback s_incomingCallRingtoneChangedCallback = (SystemSettingsKeys key, IntPtr userData) =>
+ {
+ string path = SystemSettings.IncomingCallRingtone;
+ IncomingCallRingtoneChangedEventArgs eventArgs = new IncomingCallRingtoneChangedEventArgs(path);
+ s_incomingCallRingtoneChanged?.Invoke(null, eventArgs);
+ };
+ private static event EventHandler<IncomingCallRingtoneChangedEventArgs> s_incomingCallRingtoneChanged;
+ /// <summary>
+ /// IncomingCallRingtoneChanged event is triggered when the file path of the incoming ringtone is changed
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e">A IncomingCallRingtoneChangedEventArgs object that contains the key & changed value</param>
+ public static event EventHandler<IncomingCallRingtoneChangedEventArgs> IncomingCallRingtoneChanged
+ {
+ add
+ {
+ if (s_incomingCallRingtoneChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsSetCallback(SystemSettingsKeys.IncomingCallRingtone, s_incomingCallRingtoneChangedCallback, IntPtr.Zero);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ s_incomingCallRingtoneChanged += value;
+ }
+
+ remove
+ {
+ s_incomingCallRingtoneChanged -= value;
+ if (s_incomingCallRingtoneChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsRemoveCallback(SystemSettingsKeys.IncomingCallRingtone);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ }
+ }
+
+ private static readonly Interop.Settings.SystemSettingsChangedCallback s_wallpaperHomeScreenChangedCallback = (SystemSettingsKeys key, IntPtr userData) =>
+ {
+ string path = SystemSettings.WallpaperHomeScreen;
+ WallpaperHomeScreenChangedEventArgs eventArgs = new WallpaperHomeScreenChangedEventArgs(path);
+ s_wallpaperHomeScreenChanged?.Invoke(null, eventArgs);
+ };
+ private static event EventHandler<WallpaperHomeScreenChangedEventArgs> s_wallpaperHomeScreenChanged;
+ /// <summary>
+ /// WallpaperHomeScreenChanged event is triggered when the file path of the current home screen wallpaper is changed
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e">A WallpaperHomeScreenChangedEventArgs object that contains the key & changed value</param>
+ public static event EventHandler<WallpaperHomeScreenChangedEventArgs> WallpaperHomeScreenChanged
+ {
+ add
+ {
+ if (s_wallpaperHomeScreenChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsSetCallback(SystemSettingsKeys.WallpaperHomeScreen, s_wallpaperHomeScreenChangedCallback, IntPtr.Zero);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ s_wallpaperHomeScreenChanged += value;
+ }
+
+ remove
+ {
+ s_wallpaperHomeScreenChanged -= value;
+ if (s_wallpaperHomeScreenChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsRemoveCallback(SystemSettingsKeys.WallpaperHomeScreen);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ }
+ }
+
+ private static readonly Interop.Settings.SystemSettingsChangedCallback s_wallpaperLockScreenChangedCallback = (SystemSettingsKeys key, IntPtr userData) =>
+ {
+ string path = SystemSettings.WallpaperLockScreen;
+ WallpaperLockScreenChangedEventArgs eventArgs = new WallpaperLockScreenChangedEventArgs(path);
+ s_wallpaperLockScreenChanged?.Invoke(null, eventArgs);
+ };
+ private static event EventHandler<WallpaperLockScreenChangedEventArgs> s_wallpaperLockScreenChanged;
+ /// <summary>
+ /// WallpaperLockScreenChanged event is triggered when the file path of the current lock screen wallpaper is changed
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e">A WallpaperLockScreenChangedEventArgs object that contains the key & changed value</param>
+ public static event EventHandler<WallpaperLockScreenChangedEventArgs> WallpaperLockScreenChanged
+ {
+ add
+ {
+ if (s_wallpaperLockScreenChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsSetCallback(SystemSettingsKeys.WallpaperLockScreen, s_wallpaperLockScreenChangedCallback, IntPtr.Zero);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ s_wallpaperLockScreenChanged += value;
+ }
+
+ remove
+ {
+ s_wallpaperLockScreenChanged -= value;
+ if (s_wallpaperLockScreenChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsRemoveCallback(SystemSettingsKeys.WallpaperLockScreen);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ }
+ }
+
+ private static readonly Interop.Settings.SystemSettingsChangedCallback s_fontSizeChangedCallback = (SystemSettingsKeys key, IntPtr userData) =>
+ {
+ SystemSettingsFontSize fontSize = SystemSettings.FontSize;
+ FontSizeChangedEventArgs eventArgs = new FontSizeChangedEventArgs(fontSize);
+ s_fontSizeChanged?.Invoke(null, eventArgs);
+ };
+ private static event EventHandler<FontSizeChangedEventArgs> s_fontSizeChanged;
+ /// <summary>
+ /// FontSizeChanged event is triggered when the current system font size is changed
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e">A FontSizeChangedEventArgs object that contains the key & changed value</param>
+ public static event EventHandler<FontSizeChangedEventArgs> FontSizeChanged
+ {
+ add
+ {
+ if (s_fontSizeChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsSetCallback(SystemSettingsKeys.FontSize, s_fontSizeChangedCallback, IntPtr.Zero);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ s_fontSizeChanged += value;
+ }
+
+ remove
+ {
+ s_fontSizeChanged -= value;
+ if (s_fontSizeChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsRemoveCallback(SystemSettingsKeys.FontSize);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ }
+ }
+
+ private static readonly Interop.Settings.SystemSettingsChangedCallback s_fontTypeChangedCallback = (SystemSettingsKeys key, IntPtr userData) =>
+ {
+ string fontType = SystemSettings.FontType;
+ FontTypeChangedEventArgs eventArgs = new FontTypeChangedEventArgs(fontType);
+ s_fontTypeChanged?.Invoke(null, eventArgs);
+ };
+ private static event EventHandler<FontTypeChangedEventArgs> s_fontTypeChanged;
+ /// <summary>
+ /// FontTypeChanged event is triggered when the current system font type is changed
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e">A FontTypeChangedEventArgs object that contains the key & changed value</param>
+ public static event EventHandler<FontTypeChangedEventArgs> FontTypeChanged
+ {
+ add
+ {
+ if (s_fontTypeChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsSetCallback(SystemSettingsKeys.FontType, s_fontTypeChangedCallback, IntPtr.Zero);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ s_fontTypeChanged += value;
+ }
+
+ remove
+ {
+ s_fontTypeChanged -= value;
+ if (s_fontTypeChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsRemoveCallback(SystemSettingsKeys.FontType);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ }
+ }
+
+ private static readonly Interop.Settings.SystemSettingsChangedCallback s_motionActivationChangedCallback = (SystemSettingsKeys key, IntPtr userData) =>
+ {
+ bool motionActivation = SystemSettings.MotionActivationEnabled;
+ MotionActivationSettingChangedEventArgs eventArgs = new MotionActivationSettingChangedEventArgs(motionActivation);
+ s_motionActivationChanged?.Invoke(null, eventArgs);
+ };
+ private static event EventHandler<MotionActivationSettingChangedEventArgs> s_motionActivationChanged;
+ /// <summary>
+ /// MotionActivationChanged event is triggered when the motion service status is changed
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e">A MotionActivationChangedEventArgs object that contains the key & changed value</param>
+ public static event EventHandler<MotionActivationSettingChangedEventArgs> MotionActivationSettingChanged
+ {
+ add
+ {
+ if (s_motionActivationChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsSetCallback(SystemSettingsKeys.MotionActivationEnabled, s_motionActivationChangedCallback, IntPtr.Zero);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ s_motionActivationChanged += value;
+ }
+
+ remove
+ {
+ s_motionActivationChanged -= value;
+ if (s_motionActivationChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsRemoveCallback(SystemSettingsKeys.MotionActivationEnabled);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ }
+ }
+
+ private static readonly Interop.Settings.SystemSettingsChangedCallback s_emailAlertRingtoneChangedCallback = (SystemSettingsKeys key, IntPtr userData) =>
+ {
+ string emailAlertRingtone = SystemSettings.EmailAlertRingtone;
+ EmailAlertRingtoneChangedEventArgs eventArgs = new EmailAlertRingtoneChangedEventArgs(emailAlertRingtone);
+ s_emailAlertRingtoneChanged?.Invoke(null, eventArgs);
+ };
+ private static event EventHandler<EmailAlertRingtoneChangedEventArgs> s_emailAlertRingtoneChanged;
+ /// <summary>
+ /// EmailAlertRingtoneChanged event is triggered when the file path of the current email alert ringtone is changed
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e">A EmailAlertRingtoneChangedEventArgs object that contains the key & changed value</param>
+ public static event EventHandler<EmailAlertRingtoneChangedEventArgs> EmailAlertRingtoneChanged
+ {
+ add
+ {
+ if (s_emailAlertRingtoneChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsSetCallback(SystemSettingsKeys.EmailAlertRingtone, s_emailAlertRingtoneChangedCallback, IntPtr.Zero);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ s_emailAlertRingtoneChanged += value;
+ }
+
+ remove
+ {
+ s_emailAlertRingtoneChanged -= value;
+ if (s_emailAlertRingtoneChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsRemoveCallback(SystemSettingsKeys.EmailAlertRingtone);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ }
+ }
+
+ private static readonly Interop.Settings.SystemSettingsChangedCallback s_usbDebuggingSettingChangedCallback = (SystemSettingsKeys key, IntPtr userData) =>
+ {
+ bool usbDebuggingEnabled = SystemSettings.UsbDebuggingEnabled;
+ UsbDebuggingSettingChangedEventArgs eventArgs = new UsbDebuggingSettingChangedEventArgs(usbDebuggingEnabled);
+ s_usbDebuggingSettingChanged?.Invoke(null, eventArgs);
+ };
+ private static event EventHandler<UsbDebuggingSettingChangedEventArgs> s_usbDebuggingSettingChanged;
+ /// <summary>
+ /// UsbDebuggingSettingChangedEventArgs event is triggered when the USB debugging status is changed
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e">A UsbDebuggingSettingChangedEventArgs object that contains the key & changed value</param>
+ public static event EventHandler<UsbDebuggingSettingChangedEventArgs> UsbDebuggingSettingChanged
+ {
+ add
+ {
+ if (s_usbDebuggingSettingChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsSetCallback(SystemSettingsKeys.UsbDebuggingEnabled, s_usbDebuggingSettingChangedCallback, IntPtr.Zero);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ s_usbDebuggingSettingChanged += value;
+ }
+
+ remove
+ {
+ s_usbDebuggingSettingChanged -= value;
+ if (s_usbDebuggingSettingChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsRemoveCallback(SystemSettingsKeys.UsbDebuggingEnabled);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ }
+ }
+
+ private static readonly Interop.Settings.SystemSettingsChangedCallback s_data3GNetworkSettingChangedCallback = (SystemSettingsKeys key, IntPtr userData) =>
+ {
+ bool data3GEnabled = SystemSettings.Data3GNetworkEnabled;
+ Data3GNetworkSettingChangedEventArgs eventArgs = new Data3GNetworkSettingChangedEventArgs(data3GEnabled);
+ s_data3GNetworkSettingChanged?.Invoke(null, eventArgs);
+ };
+ private static event EventHandler<Data3GNetworkSettingChangedEventArgs> s_data3GNetworkSettingChanged;
+ /// <summary>
+ /// Data3GNetworkSettingChanged event is triggered when the 3G data network status is changed
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e">A Data3GNetworkSettingChangedEventArgs object that contains the key & changed value</param>
+ public static event EventHandler<Data3GNetworkSettingChangedEventArgs> Data3GNetworkSettingChanged
+ {
+ add
+ {
+ if (s_data3GNetworkSettingChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsSetCallback(SystemSettingsKeys.Data3GNetworkEnabled, s_data3GNetworkSettingChangedCallback, IntPtr.Zero);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ s_data3GNetworkSettingChanged += value;
+ }
+
+ remove
+ {
+ s_data3GNetworkSettingChanged -= value;
+ if (s_data3GNetworkSettingChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsRemoveCallback(SystemSettingsKeys.Data3GNetworkEnabled);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ }
+ }
+
+ private static readonly Interop.Settings.SystemSettingsChangedCallback s_lockscreenAppChangedCallback = (SystemSettingsKeys key, IntPtr userData) =>
+ {
+ string lockScreenApp = SystemSettings.LockscreenApp;
+ LockscreenAppChangedEventArgs eventArgs = new LockscreenAppChangedEventArgs(lockScreenApp);
+ s_lockscreenAppChanged?.Invoke(null, eventArgs);
+ };
+ private static event EventHandler<LockscreenAppChangedEventArgs> s_lockscreenAppChanged;
+ /// <summary>
+ /// LockscreenAppChanged event is triggered when the lockscreen app pkg name is changed
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e">A LockscreenAppChangedEventArgs object that contains the key & changed value</param>
+ public static event EventHandler<LockscreenAppChangedEventArgs> LockscreenAppChanged
+ {
+ add
+ {
+ if (s_lockscreenAppChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsSetCallback(SystemSettingsKeys.LockscreenApp, s_lockscreenAppChangedCallback, IntPtr.Zero);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ s_lockscreenAppChanged += value;
+ }
+
+ remove
+ {
+ s_lockscreenAppChanged -= value;
+ if (s_lockscreenAppChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsRemoveCallback(SystemSettingsKeys.LockscreenApp);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ }
+ }
+
+ private static readonly Interop.Settings.SystemSettingsChangedCallback s_localeCountryChangedCallback = (SystemSettingsKeys key, IntPtr userData) =>
+ {
+ string localeCountry = SystemSettings.LocaleCountry;
+ LocaleCountryChangedEventArgs eventArgs = new LocaleCountryChangedEventArgs(localeCountry);
+ s_localeCountryChanged?.Invoke(null, eventArgs);
+ };
+ private static event EventHandler<LocaleCountryChangedEventArgs> s_localeCountryChanged;
+ /// <summary>
+ /// LocaleCountryChanged event is triggered when the current country setting in the <LANGUAGE>_<REGION> syntax, is changed
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e">A LocaleCountryChangedEventArgs object that contains the key & changed value</param>
+ public static event EventHandler<LocaleCountryChangedEventArgs> LocaleCountryChanged
+ {
+ add
+ {
+ if (s_localeCountryChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsSetCallback(SystemSettingsKeys.LocaleCountry, s_localeCountryChangedCallback, IntPtr.Zero);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ s_localeCountryChanged += value;
+ }
+
+ remove
+ {
+ s_localeCountryChanged -= value;
+ if (s_localeCountryChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsRemoveCallback(SystemSettingsKeys.LocaleCountry);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ }
+ }
+
+ private static readonly Interop.Settings.SystemSettingsChangedCallback s_localeLanguageChangedCallback = (SystemSettingsKeys key, IntPtr userData) =>
+ {
+ string localeLanguage = SystemSettings.LocaleLanguage;
+ LocaleLanguageChangedEventArgs eventArgs = new LocaleLanguageChangedEventArgs(localeLanguage);
+ s_localeLanguageChanged?.Invoke(null, eventArgs);
+ };
+ private static event EventHandler<LocaleLanguageChangedEventArgs> s_localeLanguageChanged;
+ /// <summary>
+ /// LocaleLanguageChanged event is triggered when the current language setting in the <LANGUAGE>_<REGION> syntax, is changed
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e">A LocaleLanguageChangedEventArgs object that contains the key & changed value</param>
+ public static event EventHandler<LocaleLanguageChangedEventArgs> LocaleLanguageChanged
+ {
+ add
+ {
+ if (s_localeLanguageChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsSetCallback(SystemSettingsKeys.LocaleLanguage, s_localeLanguageChangedCallback, IntPtr.Zero);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ s_localeLanguageChanged += value;
+ }
+
+ remove
+ {
+ s_localeLanguageChanged -= value;
+ if (s_localeLanguageChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsRemoveCallback(SystemSettingsKeys.LocaleLanguage);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ }
+ }
+
+ private static readonly Interop.Settings.SystemSettingsChangedCallback s_localeTimeFormat24HourChangedCallback = (SystemSettingsKeys key, IntPtr userData) =>
+ {
+ bool localeTimeFormat24Hour = SystemSettings.LocaleTimeFormat24HourEnabled;
+ LocaleTimeFormat24HourSettingChangedEventArgs eventArgs = new LocaleTimeFormat24HourSettingChangedEventArgs(localeTimeFormat24Hour);
+ s_localeTimeFormat24HourChanged?.Invoke(null, eventArgs);
+ };
+ private static event EventHandler<LocaleTimeFormat24HourSettingChangedEventArgs> s_localeTimeFormat24HourChanged;
+ /// <summary>
+ /// LocaleTimeFormat24HourChanged event is triggered when the time format is changed
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e">A LocaleTimeFormat24HourChangedEventArgs object that contains the key & changed value</param>
+ public static event EventHandler<LocaleTimeFormat24HourSettingChangedEventArgs> LocaleTimeFormat24HourSettingChanged
+ {
+ add
+ {
+ if (s_localeTimeFormat24HourChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsSetCallback(SystemSettingsKeys.LocaleTimeFormat24HourEnabled, s_localeTimeFormat24HourChangedCallback, IntPtr.Zero);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ s_localeTimeFormat24HourChanged += value;
+ }
+
+ remove
+ {
+ s_localeTimeFormat24HourChanged -= value;
+ if (s_localeTimeFormat24HourChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsRemoveCallback(SystemSettingsKeys.LocaleTimeFormat24HourEnabled);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ }
+ }
+
+ private static readonly Interop.Settings.SystemSettingsChangedCallback s_localeTimeZoneChangedCallback = (SystemSettingsKeys key, IntPtr userData) =>
+ {
+ string localeTimeZone = SystemSettings.LocaleTimeZone;
+ LocaleTimeZoneChangedEventArgs eventArgs = new LocaleTimeZoneChangedEventArgs(localeTimeZone);
+ s_localeTimeZoneChanged?.Invoke(null, eventArgs);
+ };
+ private static event EventHandler<LocaleTimeZoneChangedEventArgs> s_localeTimeZoneChanged;
+ /// <summary>
+ /// LocaleTimeZoneChanged event is triggered when the current time zone is changed
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e">A LocaleTimeZoneChangedEventArgs object that contains the key & changed value</param>
+ public static event EventHandler<LocaleTimeZoneChangedEventArgs> LocaleTimeZoneChanged
+ {
+ add
+ {
+ if (s_localeTimeZoneChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsSetCallback(SystemSettingsKeys.LocaleTimeZone, s_localeTimeZoneChangedCallback, IntPtr.Zero);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ s_localeTimeZoneChanged += value;
+ }
+
+ remove
+ {
+ s_localeTimeZoneChanged -= value;
+ if (s_localeTimeZoneChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsRemoveCallback(SystemSettingsKeys.LocaleTimeZone);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ }
+ }
+
+ private static readonly Interop.Settings.SystemSettingsChangedCallback s_timeChangedCallback = (SystemSettingsKeys key, IntPtr userData) =>
+ {
+ //bool motionActivation = SystemSettings.Time;
+ TimeChangedEventArgs eventArgs = new TimeChangedEventArgs();
+ s_timeChanged?.Invoke(null, eventArgs);
+ };
+ private static event EventHandler<TimeChangedEventArgs> s_timeChanged;
+ /// <summary>
+ /// TimeChanged event is triggered when the system time is changed
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e">A TimeChangedEventArgs object that contains the key & changed value</param>
+ public static event EventHandler<TimeChangedEventArgs> TimeChanged
+ {
+ add
+ {
+ if (s_timeChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsSetCallback(SystemSettingsKeys.Time, s_timeChangedCallback, IntPtr.Zero);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ s_timeChanged += value;
+ }
+
+ remove
+ {
+ s_timeChanged -= value;
+ if (s_timeChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsRemoveCallback(SystemSettingsKeys.Time);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ }
+ }
+
+ private static readonly Interop.Settings.SystemSettingsChangedCallback s_soundLockChangedCallback = (SystemSettingsKeys key, IntPtr userData) =>
+ {
+ bool soundLock = SystemSettings.SoundLockEnabled;
+ SoundLockSettingChangedEventArgs eventArgs = new SoundLockSettingChangedEventArgs(soundLock);
+ s_soundLockChanged?.Invoke(null, eventArgs);
+ };
+ private static event EventHandler<SoundLockSettingChangedEventArgs> s_soundLockChanged;
+ /// <summary>
+ /// SoundLockChanged event is triggered when the screen lock sound enabled status is changed
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e">A SoundLockChangedEventArgs object that contains the key & changed value</param>
+ public static event EventHandler<SoundLockSettingChangedEventArgs> SoundLockSettingChanged
+ {
+ add
+ {
+ if (s_soundLockChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsSetCallback(SystemSettingsKeys.SoundLockEnabled, s_soundLockChangedCallback, IntPtr.Zero);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ s_soundLockChanged += value;
+ }
+
+ remove
+ {
+ s_soundLockChanged -= value;
+ if (s_soundLockChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsRemoveCallback(SystemSettingsKeys.SoundLockEnabled);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ }
+ }
+
+ private static readonly Interop.Settings.SystemSettingsChangedCallback s_soundSilentModeChangedCallback = (SystemSettingsKeys key, IntPtr userData) =>
+ {
+ bool soundSilentMode = SystemSettings.SoundSilentModeEnabled;
+ SoundSilentModeSettingChangedEventArgs eventArgs = new SoundSilentModeSettingChangedEventArgs(soundSilentMode);
+ s_soundSilentModeChanged?.Invoke(null, eventArgs);
+ };
+ private static event EventHandler<SoundSilentModeSettingChangedEventArgs> s_soundSilentModeChanged;
+ /// <summary>
+ /// SoundSilentModeChanged event is triggered when the silent mode status is changed
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e">A SoundSilentModeChangedEventArgs object that contains the key & changed value</param>
+ public static event EventHandler<SoundSilentModeSettingChangedEventArgs> SoundSilentModeSettingChanged
+ {
+ add
+ {
+ if (s_soundSilentModeChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsSetCallback(SystemSettingsKeys.SoundSilentModeEnabled, s_soundSilentModeChangedCallback, IntPtr.Zero);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ s_soundSilentModeChanged += value;
+ }
+
+ remove
+ {
+ s_soundSilentModeChanged -= value;
+ if (s_soundSilentModeChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsRemoveCallback(SystemSettingsKeys.SoundSilentModeEnabled);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ }
+ }
+
+ private static readonly Interop.Settings.SystemSettingsChangedCallback s_soundTouchChangedCallback = (SystemSettingsKeys key, IntPtr userData) =>
+ {
+ bool soundTouch = SystemSettings.SoundTouchEnabled;
+ SoundTouchSettingChangedEventArgs eventArgs = new SoundTouchSettingChangedEventArgs(soundTouch);
+ s_soundTouchChanged?.Invoke(null, eventArgs);
+ };
+ private static event EventHandler<SoundTouchSettingChangedEventArgs> s_soundTouchChanged;
+ /// <summary>
+ /// SoundTouchChanged event is triggered when the screen touch sound enabled status is changed
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e">A SoundTouchChangedEventArgs object that contains the key & changed value</param>
+ public static event EventHandler<SoundTouchSettingChangedEventArgs> SoundTouchSettingChanged
+ {
+ add
+ {
+ if (s_soundTouchChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsSetCallback(SystemSettingsKeys.SoundTouchEnabled, s_soundTouchChangedCallback, IntPtr.Zero);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ s_soundTouchChanged += value;
+ }
+
+ remove
+ {
+ s_soundTouchChanged -= value;
+ if (s_soundTouchChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsRemoveCallback(SystemSettingsKeys.SoundTouchEnabled);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ }
+ }
+
+ private static readonly Interop.Settings.SystemSettingsChangedCallback s_displayScreenRotationAutoChangedCallback = (SystemSettingsKeys key, IntPtr userData) =>
+ {
+ bool displayScreenRotationAuto = SystemSettings.DisplayScreenRotationAutoEnabled;
+ DisplayScreenRotationAutoSettingChangedEventArgs eventArgs = new DisplayScreenRotationAutoSettingChangedEventArgs(displayScreenRotationAuto);
+ s_displayScreenRotationAutoChanged?.Invoke(null, eventArgs);
+ };
+ private static event EventHandler<DisplayScreenRotationAutoSettingChangedEventArgs> s_displayScreenRotationAutoChanged;
+ /// <summary>
+ /// DisplayScreenRotationAutoChanged event is triggered when the automatic rotation control status is changed
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e">A DisplayScreenRotationAutoChangedEventArgs object that contains the key & changed value</param>
+ public static event EventHandler<DisplayScreenRotationAutoSettingChangedEventArgs> DisplayScreenRotationAutoSettingChanged
+ {
+ add
+ {
+ if (s_displayScreenRotationAutoChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsSetCallback(SystemSettingsKeys.DisplayScreenRotationAutoEnabled, s_displayScreenRotationAutoChangedCallback, IntPtr.Zero);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ s_displayScreenRotationAutoChanged += value;
+ }
+
+ remove
+ {
+ s_displayScreenRotationAutoChanged -= value;
+ if (s_displayScreenRotationAutoChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsRemoveCallback(SystemSettingsKeys.DisplayScreenRotationAutoEnabled);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ }
+ }
+
+ private static readonly Interop.Settings.SystemSettingsChangedCallback s_deviceNameChangedCallback = (SystemSettingsKeys key, IntPtr userData) =>
+ {
+ string deviceName = SystemSettings.DeviceName;
+ DeviceNameChangedEventArgs eventArgs = new DeviceNameChangedEventArgs(deviceName);
+ s_deviceNameChanged?.Invoke(null, eventArgs);
+ };
+ private static event EventHandler<DeviceNameChangedEventArgs> s_deviceNameChanged;
+ /// <summary>
+ /// DeviceNameChanged event is triggered when the device name is changed
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e">A DeviceNameChangedEventArgs object that contains the key & changed value</param>
+ public static event EventHandler<DeviceNameChangedEventArgs> DeviceNameChanged
+ {
+ add
+ {
+ if (s_deviceNameChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsSetCallback(SystemSettingsKeys.DeviceName, s_deviceNameChangedCallback, IntPtr.Zero);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ s_deviceNameChanged += value;
+ }
+
+ remove
+ {
+ s_deviceNameChanged -= value;
+ if (s_deviceNameChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsRemoveCallback(SystemSettingsKeys.DeviceName);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ }
+ }
+
+ private static readonly Interop.Settings.SystemSettingsChangedCallback s_motionSettingChangedCallback = (SystemSettingsKeys key, IntPtr userData) =>
+ {
+ bool motionEnabled = SystemSettings.MotionEnabled;
+ MotionSettingChangedEventArgs eventArgs = new MotionSettingChangedEventArgs(motionEnabled);
+ s_motionSettingChanged?.Invoke(null, eventArgs);
+ };
+ private static event EventHandler<MotionSettingChangedEventArgs> s_motionSettingChanged;
+ /// <summary>
+ /// MotionSettingChanged event is triggered when the motion feature enabled status is changed
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e">A MotionSettingChangedEventArgs object that contains the key & changed value</param>
+ public static event EventHandler<MotionSettingChangedEventArgs> MotionSettingChanged
+ {
+ add
+ {
+ if (s_motionSettingChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsSetCallback(SystemSettingsKeys.MotionEnabled, s_motionSettingChangedCallback, IntPtr.Zero);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ s_motionSettingChanged += value;
+ }
+
+ remove
+ {
+ s_motionSettingChanged -= value;
+ if (s_motionSettingChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsRemoveCallback(SystemSettingsKeys.MotionEnabled);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ }
+ }
+
+ private static readonly Interop.Settings.SystemSettingsChangedCallback s_networkWifiNotificationChangedCallback = (SystemSettingsKeys key, IntPtr userData) =>
+ {
+ bool networkWifiNotification = SystemSettings.NetworkWifiNotificationEnabled;
+ NetworkWifiNotificationSettingChangedEventArgs eventArgs = new NetworkWifiNotificationSettingChangedEventArgs(networkWifiNotification);
+ s_networkWifiNotificationChanged?.Invoke(null, eventArgs);
+ };
+ private static event EventHandler<NetworkWifiNotificationSettingChangedEventArgs> s_networkWifiNotificationChanged;
+ /// <summary>
+ /// NetworkWifiNotificationChanged event is triggered when the Wi-Fi-related notifications enabled status is changed
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e">A NetworkWifiNotificationChangedEventArgs object that contains the key & changed value</param>
+ public static event EventHandler<NetworkWifiNotificationSettingChangedEventArgs> NetworkWifiNotificationSettingChanged
+ {
+ add
+ {
+ if (s_networkWifiNotificationChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsSetCallback(SystemSettingsKeys.NetworkWifiNotificationEnabled, s_networkWifiNotificationChangedCallback, IntPtr.Zero);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ s_networkWifiNotificationChanged += value;
+ }
+
+ remove
+ {
+ s_networkWifiNotificationChanged -= value;
+ if (s_networkWifiNotificationChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsRemoveCallback(SystemSettingsKeys.NetworkWifiNotificationEnabled);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ }
+ }
+
+ private static readonly Interop.Settings.SystemSettingsChangedCallback s_networkFlightModeChangedCallback = (SystemSettingsKeys key, IntPtr userData) =>
+ {
+ bool networkFlightMode = SystemSettings.NetworkFlightModeEnabled;
+ NetworkFlightModeSettingChangedEventArgs eventArgs = new NetworkFlightModeSettingChangedEventArgs(networkFlightMode);
+ s_networkFlightModeChanged?.Invoke(null, eventArgs);
+ };
+ private static event EventHandler<NetworkFlightModeSettingChangedEventArgs> s_networkFlightModeChanged;
+ /// <summary>
+ /// NetworkFlightModeChanged event is triggered when the flight mode status is changed
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e">A NetworkFlightModeChangedEventArgs object that contains the key & changed value</param>
+ public static event EventHandler<NetworkFlightModeSettingChangedEventArgs> NetworkFlightModeSettingChanged
+ {
+ add
+ {
+ if (s_networkFlightModeChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsSetCallback(SystemSettingsKeys.NetworkFlightModeEnabled, s_networkFlightModeChangedCallback, IntPtr.Zero);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ s_networkFlightModeChanged += value;
+ }
+
+ remove
+ {
+ s_networkFlightModeChanged -= value;
+ if (s_networkFlightModeChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsRemoveCallback(SystemSettingsKeys.NetworkFlightModeEnabled);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ }
+ }
+
+ private static readonly Interop.Settings.SystemSettingsChangedCallback s_screenBacklightTimeChangedCallback = (SystemSettingsKeys key, IntPtr userData) =>
+ {
+ int screenBacklightTime = SystemSettings.ScreenBacklightTime;
+ ScreenBacklightTimeChangedEventArgs eventArgs = new ScreenBacklightTimeChangedEventArgs(screenBacklightTime);
+ s_screenBacklightTimeChanged?.Invoke(null, eventArgs);
+ };
+ private static event EventHandler<ScreenBacklightTimeChangedEventArgs> s_screenBacklightTimeChanged;
+ /// <summary>
+ /// ScreenBacklightTimeChanged event is triggered when the backlight time is changed.
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e">A ScreenBacklightTimeChangedEventArgs object that contains the key & changed value</param>
+ public static event EventHandler<ScreenBacklightTimeChangedEventArgs> ScreenBacklightTimeChanged
+ {
+ add
+ {
+ if (s_screenBacklightTimeChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsSetCallback(SystemSettingsKeys.ScreenBacklightTime, s_screenBacklightTimeChangedCallback, IntPtr.Zero);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ s_screenBacklightTimeChanged += value;
+ }
+
+ remove
+ {
+ s_screenBacklightTimeChanged -= value;
+ if (s_screenBacklightTimeChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsRemoveCallback(SystemSettingsKeys.ScreenBacklightTime);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ }
+ }
+
+ private static readonly Interop.Settings.SystemSettingsChangedCallback s_soundNotificationChangedCallback = (SystemSettingsKeys key, IntPtr userData) =>
+ {
+ string soundNotification = SystemSettings.SoundNotification;
+ SoundNotificationChangedEventArgs eventArgs = new SoundNotificationChangedEventArgs(soundNotification);
+ s_soundNotificationChanged?.Invoke(null, eventArgs);
+ };
+ private static event EventHandler<SoundNotificationChangedEventArgs> s_soundNotificationChanged;
+ /// <summary>
+ /// SoundNotificationChanged event is triggered when the file path of the current notification tone set by the user is changed
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e">A SoundNotificationChangedEventArgs object that contains the key & changed value</param>
+ public static event EventHandler<SoundNotificationChangedEventArgs> SoundNotificationChanged
+ {
+ add
+ {
+ if (s_soundNotificationChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsSetCallback(SystemSettingsKeys.SoundNotification, s_soundNotificationChangedCallback, IntPtr.Zero);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ s_soundNotificationChanged += value;
+ }
+
+ remove
+ {
+ s_soundNotificationChanged -= value;
+ if (s_soundNotificationChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsRemoveCallback(SystemSettingsKeys.SoundNotification);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ }
+ }
+
+ private static readonly Interop.Settings.SystemSettingsChangedCallback s_soundNotificationRepetitionPeriodChangedCallback = (SystemSettingsKeys key, IntPtr userData) =>
+ {
+ int soundNotificationRepetitionPeriod = SystemSettings.SoundNotificationRepetitionPeriod;
+ SoundNotificationRepetitionPeriodChangedEventArgs eventArgs = new SoundNotificationRepetitionPeriodChangedEventArgs(soundNotificationRepetitionPeriod);
+ s_soundNotificationRepetitionPeriodChanged?.Invoke(null, eventArgs);
+ };
+ private static event EventHandler<SoundNotificationRepetitionPeriodChangedEventArgs> s_soundNotificationRepetitionPeriodChanged;
+ /// <summary>
+ /// SoundNotificationRepetitionPeriodChanged event is triggered when the time period for notification repetitions is changed
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e">A SoundNotificationRepetitionPeriodChangedEventArgs object that contains the key & changed value</param>
+ public static event EventHandler<SoundNotificationRepetitionPeriodChangedEventArgs> SoundNotificationRepetitionPeriodChanged
+ {
+ add
+ {
+ if (s_soundNotificationRepetitionPeriodChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsSetCallback(SystemSettingsKeys.SoundNotificationRepetitionPeriod, s_soundNotificationRepetitionPeriodChangedCallback, IntPtr.Zero);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ s_soundNotificationRepetitionPeriodChanged += value;
+ }
+
+ remove
+ {
+ s_soundNotificationRepetitionPeriodChanged -= value;
+ if (s_soundNotificationRepetitionPeriodChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsRemoveCallback(SystemSettingsKeys.SoundNotificationRepetitionPeriod);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ }
+ }
+
+ private static readonly Interop.Settings.SystemSettingsChangedCallback s_lockStateChangedCallback = (SystemSettingsKeys key, IntPtr userData) =>
+ {
+ SystemSettingsIdleLockState lockState = SystemSettings.LockState;
+ LockStateChangedEventArgs eventArgs = new LockStateChangedEventArgs(lockState);
+ s_lockStateChanged?.Invoke(null, eventArgs);
+ };
+ private static event EventHandler<LockStateChangedEventArgs> s_lockStateChanged;
+ /// <summary>
+ /// LockStateChanged event is triggered when the current lock state is changed
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e">A LockStateChangedEventArgs object that contains the key & changed value</param>
+ public static event EventHandler<LockStateChangedEventArgs> LockStateChanged
+ {
+ add
+ {
+ if (s_lockStateChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsSetCallback(SystemSettingsKeys.LockState, s_lockStateChangedCallback, IntPtr.Zero);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ s_lockStateChanged += value;
+ }
+
+ remove
+ {
+ s_lockStateChanged -= value;
+ if (s_lockStateChanged == null)
+ {
+ SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsRemoveCallback(SystemSettingsKeys.LockState);
+ if (ret != SystemSettingsError.None)
+ {
+ throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling");
+ }
+ }
+ }
+ }
+ }
+}
+
--- /dev/null
+using System;
+
+namespace Tizen.System
+{
+ /// <summary>
+ /// EventArgs type for the event IncomingCallRingtoneChanged
+ /// </summary>
+ public class IncomingCallRingtoneChangedEventArgs : EventArgs
+ {
+ private readonly string _incomingCallRingtone = null;
+ /// <summary>
+ /// The enum for IncomingCallRingtone system setting key
+ /// </summary>
+ public SystemSettingsKeys Key
+ {
+ get
+ {
+ return SystemSettingsKeys.IncomingCallRingtone;
+ }
+ }
+
+ internal IncomingCallRingtoneChangedEventArgs(string val)
+ {
+ _incomingCallRingtone = val;
+ }
+
+ /// <summary>
+ /// The file path of the current ringtone
+ /// </summary>
+ public string Value
+ {
+ get
+ {
+ return _incomingCallRingtone;
+ }
+ }
+ }
+
+ /// <summary>
+ /// EventArgs type for the event WallpaperHomeScreenChanged
+ /// </summary>
+ public class WallpaperHomeScreenChangedEventArgs : EventArgs
+ {
+ private readonly string _wallpaperHomeScreen = null;
+ /// <summary>
+ /// The enum for WallpaperHomeScreen system setting key
+ /// </summary>
+ public SystemSettingsKeys Key
+ {
+ get
+ {
+ return SystemSettingsKeys.WallpaperHomeScreen;
+ }
+ }
+
+ internal WallpaperHomeScreenChangedEventArgs(string val)
+ {
+ _wallpaperHomeScreen = val;
+ }
+
+ /// <summary>
+ /// The file path of the current home screen wallpaper
+ /// </summary>
+ public string Value
+ {
+ get
+ {
+ return _wallpaperHomeScreen;
+ }
+ }
+ }
+
+ /// <summary>
+ /// EventArgs type for the event WallpaperLockScreenChanged
+ /// </summary>
+ public class WallpaperLockScreenChangedEventArgs : EventArgs
+ {
+ private readonly string _wallpaperLockScreen = null;
+ /// <summary>
+ /// The enum for WallpaperLockScreen system setting key
+ /// </summary>
+ public SystemSettingsKeys Key
+ {
+ get
+ {
+ return SystemSettingsKeys.WallpaperLockScreen;
+ }
+ }
+
+ internal WallpaperLockScreenChangedEventArgs(string val)
+ {
+ _wallpaperLockScreen = val;
+ }
+
+ /// <summary>
+ /// The file path of the current lock screen wallpaper
+ /// </summary>
+ public string Value
+ {
+ get
+ {
+ return _wallpaperLockScreen;
+ }
+ }
+ }
+
+ /// <summary>
+ /// EventArgs type for the event FontSizeChanged
+ /// </summary>
+ public class FontSizeChangedEventArgs : EventArgs
+ {
+ private readonly SystemSettingsFontSize _fontSize;
+ /// <summary>
+ /// The enum for FontSize system setting key
+ /// </summary>
+ public SystemSettingsKeys Key
+ {
+ get
+ {
+ return SystemSettingsKeys.FontSize;
+ }
+ }
+ internal FontSizeChangedEventArgs(SystemSettingsFontSize val)
+ {
+ _fontSize = val;
+ }
+
+ /// <summary>
+ /// The current system font size
+ /// </summary>
+ public SystemSettingsFontSize Value
+ {
+ get
+ {
+ return _fontSize;
+ }
+ }
+ }
+
+ /// <summary>
+ /// EventArgs type for the event FontTypeChanged
+ /// </summary>
+ public class FontTypeChangedEventArgs : EventArgs
+ {
+ private readonly string _fontType = null;
+ /// <summary>
+ /// The enum for FontType system setting key
+ /// </summary>
+ public SystemSettingsKeys Key
+ {
+ get
+ {
+ return SystemSettingsKeys.FontType;
+ }
+ }
+ internal FontTypeChangedEventArgs(string val)
+ {
+ _fontType = val;
+ }
+
+ /// <summary>
+ /// The current system font type
+ /// </summary>
+ public string Value
+ {
+ get
+ {
+ return _fontType;
+ }
+ }
+ }
+
+ /// <summary>
+ /// EventArgs type for the event MotionActivationChanged
+ /// </summary>
+ public class MotionActivationSettingChangedEventArgs : EventArgs
+ {
+ private readonly bool _motionActivation;
+ /// <summary>
+ /// The enum for MotionActivation system setting key
+ /// </summary>
+ public SystemSettingsKeys Key
+ {
+ get
+ {
+ return SystemSettingsKeys.MotionActivationEnabled;
+ }
+ }
+ internal MotionActivationSettingChangedEventArgs(bool val)
+ {
+ _motionActivation = val;
+ }
+
+ /// <summary>
+ /// Indicates whether the motion service is activated
+ /// </summary>
+ public bool Value
+ {
+ get
+ {
+ return _motionActivation;
+ }
+ }
+ }
+
+ /// <summary>
+ /// EventArgs type for the event EmailAlertRingtoneChanged
+ /// </summary>
+ public class EmailAlertRingtoneChangedEventArgs : EventArgs
+ {
+ private readonly string _emailAlertRingtone = null;
+ /// <summary>
+ /// The enum for EmailAlertRingtone system setting key
+ /// </summary>
+ public SystemSettingsKeys Key
+ {
+ get
+ {
+ return SystemSettingsKeys.EmailAlertRingtone;
+ }
+ }
+ internal EmailAlertRingtoneChangedEventArgs(string val)
+ {
+ _emailAlertRingtone = val;
+ }
+
+ /// <summary>
+ /// The file path of the current email alert ringtone
+ /// </summary>
+ public string Value
+ {
+ get
+ {
+ return _emailAlertRingtone;
+ }
+ }
+ }
+
+ /// <summary>
+ /// EventArgs type for the event UsbDebuggingSettingChanged
+ /// </summary>
+ public class UsbDebuggingSettingChangedEventArgs : EventArgs
+ {
+ private readonly bool _usbDebuggingEnabled;
+ /// <summary>
+ /// The enum for UsbDebuggingEnabled system setting key
+ /// </summary>
+ public SystemSettingsKeys Key
+ {
+ get
+ {
+ return SystemSettingsKeys.UsbDebuggingEnabled;
+ }
+ }
+ internal UsbDebuggingSettingChangedEventArgs(bool val)
+ {
+ _usbDebuggingEnabled = val;
+ }
+
+ /// <summary>
+ /// Indicates whether the USB debugging is enabled
+ /// </summary>
+ public bool Value
+ {
+ get
+ {
+ return _usbDebuggingEnabled;
+ }
+ }
+ }
+
+ /// <summary>
+ /// EventArgs type for the event Data3GNetworkSettingChanged
+ /// </summary>
+ public class Data3GNetworkSettingChangedEventArgs : EventArgs
+ {
+ private readonly bool _data3GNetworkEnabled;
+ /// <summary>
+ /// The enum for Data3GNetworkEnabled system setting key
+ /// </summary>
+ public SystemSettingsKeys Key
+ {
+ get
+ {
+ return SystemSettingsKeys.Data3GNetworkEnabled;
+ }
+ }
+ internal Data3GNetworkSettingChangedEventArgs(bool val)
+ {
+ _data3GNetworkEnabled = val;
+ }
+
+ /// <summary>
+ /// Indicates whether the 3G data network is enabled
+ /// </summary>
+ public bool Value
+ {
+ get
+ {
+ return _data3GNetworkEnabled;
+ }
+ }
+ }
+
+ /// <summary>
+ /// EventArgs type for the event LockscreenAppChanged
+ /// </summary>
+ public class LockscreenAppChangedEventArgs : EventArgs
+ {
+ private readonly string _lockscreenApp = null;
+ /// <summary>
+ /// The enum for LockscreenApp system setting key
+ /// </summary>
+ public SystemSettingsKeys Key
+ {
+ get
+ {
+ return SystemSettingsKeys.LockscreenApp;
+ }
+ }
+ internal LockscreenAppChangedEventArgs(string val)
+ {
+ _lockscreenApp = val;
+ }
+
+ /// <summary>
+ /// Indicates lockscreen app pkg name
+ /// </summary>
+ public string Value
+ {
+ get
+ {
+ return _lockscreenApp;
+ }
+ }
+ }
+
+ /// <summary>
+ /// EventArgs type for the event DefaultFontTypeChanged
+ /// </summary>
+ public class DefaultFontTypeChangedEventArgs : EventArgs
+ {
+ private readonly string _defaultFontType = null;
+ /// <summary>
+ /// The enum for DefaultFontType system setting key
+ /// </summary>
+ public SystemSettingsKeys Key
+ {
+ get
+ {
+ return SystemSettingsKeys.DefaultFontType;
+ }
+ }
+ internal DefaultFontTypeChangedEventArgs(string val)
+ {
+ _defaultFontType = val;
+ }
+
+ /// <summary>
+ /// The current system default font type
+ /// </summary>
+ public string Value
+ {
+ get
+ {
+ return _defaultFontType;
+ }
+ }
+ }
+
+ /// <summary>
+ /// EventArgs type for the event LocaleCountryChanged
+ /// </summary>
+ public class LocaleCountryChangedEventArgs : EventArgs
+ {
+ private readonly string _localeCountry = null;
+ /// <summary>
+ /// The enum for LocaleCountry system setting key
+ /// </summary>
+ public SystemSettingsKeys Key
+ {
+ get
+ {
+ return SystemSettingsKeys.LocaleCountry;
+ }
+ }
+ internal LocaleCountryChangedEventArgs(string val)
+ {
+ _localeCountry = val;
+ }
+
+ /// <summary>
+ /// Indicates the current country setting in the <LANGUAGE>_<REGION> syntax.
+ /// The country setting is in the ISO 639-2 format, and the region setting is in the ISO 3166-1 alpha-2 format
+ /// </summary>
+ public string Value
+ {
+ get
+ {
+ return _localeCountry;
+ }
+ }
+ }
+
+ /// <summary>
+ /// EventArgs type for the event LocaleLanguageChanged
+ /// </summary>
+ public class LocaleLanguageChangedEventArgs : EventArgs
+ {
+ private readonly string _localeLanguage = null;
+ /// <summary>
+ /// The enum for LocaleLanguage system setting key
+ /// </summary>
+ public SystemSettingsKeys Key
+ {
+ get
+ {
+ return SystemSettingsKeys.LocaleLanguage;
+ }
+ }
+ internal LocaleLanguageChangedEventArgs(string val)
+ {
+ _localeLanguage = val;
+ }
+
+ /// <summary>
+ /// Indicates the current language setting in the <LANGUAGE>_<REGION> syntax.
+ /// The language setting is in the ISO 639-2 format and the region setting is in the ISO 3166-1 alpha-2 format
+ /// </summary>
+ public string Value
+ {
+ get
+ {
+ return _localeLanguage;
+ }
+ }
+ }
+
+ /// <summary>
+ /// EventArgs type for the event LocaleTimeFormat24HourChanged
+ /// </summary>
+ public class LocaleTimeFormat24HourSettingChangedEventArgs : EventArgs
+ {
+ private readonly bool _localeTimeFormat24Hour;
+ /// <summary>
+ /// The enum for LocaleTimeFormat24Hour system setting key
+ /// </summary>
+ public SystemSettingsKeys Key
+ {
+ get
+ {
+ return SystemSettingsKeys.LocaleTimeFormat24HourEnabled;
+ }
+ }
+ internal LocaleTimeFormat24HourSettingChangedEventArgs(bool val)
+ {
+ _localeTimeFormat24Hour = val;
+ }
+
+ /// <summary>
+ /// Indicates whether the 24-hour clock is used. If the value is false, the 12-hour clock is used.
+ /// </summary>
+ public bool Value
+ {
+ get
+ {
+ return _localeTimeFormat24Hour;
+ }
+ }
+ }
+
+ /// <summary>
+ /// EventArgs type for the event LocaleTimeZoneChanged
+ /// </summary>
+ public class LocaleTimeZoneChangedEventArgs : EventArgs
+ {
+ private readonly string _localeTimeZone = null;
+ /// <summary>
+ /// The enum for LocaleTimeZone system setting key
+ /// </summary>
+ public SystemSettingsKeys Key
+ {
+ get
+ {
+ return SystemSettingsKeys.LocaleTimeZone;
+ }
+ }
+ internal LocaleTimeZoneChangedEventArgs(string val)
+ {
+ _localeTimeZone = val;
+ }
+
+ /// <summary>
+ /// Indicates the current time zone
+ /// </summary>
+ public string Value
+ {
+ get
+ {
+ return _localeTimeZone;
+ }
+ }
+ }
+
+ /// <summary>
+ /// EventArgs type for the event TimeChanged
+ /// </summary>
+ public class TimeChangedEventArgs : EventArgs
+ {
+ /// <summary>
+ /// The enum for Time system setting event
+ /// </summary>
+ public SystemSettingsKeys Key
+ {
+ get
+ {
+ return SystemSettingsKeys.Time;
+ }
+ }
+ }
+
+ /// <summary>
+ /// EventArgs type for the event SoundLockChanged
+ /// </summary>
+ public class SoundLockSettingChangedEventArgs : EventArgs
+ {
+ private readonly bool _soundLock;
+ /// <summary>
+ /// The enum for SoundLock system setting key
+ /// </summary>
+ public SystemSettingsKeys Key
+ {
+ get
+ {
+ return SystemSettingsKeys.SoundLockEnabled;
+ }
+ }
+ internal SoundLockSettingChangedEventArgs(bool val)
+ {
+ _soundLock = val;
+ }
+
+ /// <summary>
+ /// Indicates whether the screen lock sound is enabled on the device. ex) LCD on/off sound
+ /// </summary>
+ public bool Value
+ {
+ get
+ {
+ return _soundLock;
+ }
+ }
+ }
+
+ /// <summary>
+ /// EventArgs type for the event SoundSilentModeChanged
+ /// </summary>
+ public class SoundSilentModeSettingChangedEventArgs : EventArgs
+ {
+ private readonly bool _soundSilentMode;
+ /// <summary>
+ /// The enum for SoundSilentMode system setting key
+ /// </summary>
+ public SystemSettingsKeys Key
+ {
+ get
+ {
+ return SystemSettingsKeys.SoundSilentModeEnabled;
+ }
+ }
+ internal SoundSilentModeSettingChangedEventArgs(bool val)
+ {
+ _soundSilentMode = val;
+ }
+
+ /// <summary>
+ /// Indicates whether the device is in the silent mode.
+ /// </summary>
+ public bool Value
+ {
+ get
+ {
+ return _soundSilentMode;
+ }
+ }
+ }
+
+ /// <summary>
+ /// EventArgs type for the event SoundTouchChanged
+ /// </summary>
+ public class SoundTouchSettingChangedEventArgs : EventArgs
+ {
+ private readonly bool _soundTouch;
+ /// <summary>
+ /// The enum for SoundTouch system setting key
+ /// </summary>
+ public SystemSettingsKeys Key
+ {
+ get
+ {
+ return SystemSettingsKeys.SoundTouchEnabled;
+ }
+ }
+ internal SoundTouchSettingChangedEventArgs(bool val)
+ {
+ _soundTouch = val;
+ }
+
+ /// <summary>
+ /// Indicates whether the screen touch sound is enabled on the device.
+ /// </summary>
+ public bool Value
+ {
+ get
+ {
+ return _soundTouch;
+ }
+ }
+ }
+
+ /// <summary>
+ /// EventArgs type for the event DisplayScreenRotationAutoChanged
+ /// </summary>
+ public class DisplayScreenRotationAutoSettingChangedEventArgs : EventArgs
+ {
+ private readonly bool _displayScreenRotationAuto;
+ /// <summary>
+ /// The enum for DisplayScreenRotationAuto system setting key
+ /// </summary>
+ public SystemSettingsKeys Key
+ {
+ get
+ {
+ return SystemSettingsKeys.DisplayScreenRotationAutoEnabled;
+ }
+ }
+ internal DisplayScreenRotationAutoSettingChangedEventArgs(bool val)
+ {
+ _displayScreenRotationAuto = val;
+ }
+
+ /// <summary>
+ /// Indicates whether rotation control is automatic
+ /// </summary>
+ public bool Value
+ {
+ get
+ {
+ return _displayScreenRotationAuto;
+ }
+ }
+ }
+
+ /// <summary>
+ /// EventArgs type for the event DeviceNameChanged
+ /// </summary>
+ public class DeviceNameChangedEventArgs : EventArgs
+ {
+ private readonly string _deviceName = null;
+ /// <summary>
+ /// The enum for DeviceName system setting key
+ /// </summary>
+ public SystemSettingsKeys Key
+ {
+ get
+ {
+ return SystemSettingsKeys.DeviceName;
+ }
+ }
+ internal DeviceNameChangedEventArgs(string val)
+ {
+ _deviceName = val;
+ }
+
+ /// <summary>
+ /// Indicates device name
+ /// </summary>
+ public string Value
+ {
+ get
+ {
+ return _deviceName;
+ }
+ }
+ }
+
+ /// <summary>
+ /// EventArgs type for the event MotionSettingChanged
+ /// </summary>
+ public class MotionSettingChangedEventArgs : EventArgs
+ {
+ private readonly bool _motionEnabled;
+ /// <summary>
+ /// The enum for MotionEnabled system setting key
+ /// </summary>
+ public SystemSettingsKeys Key
+ {
+ get
+ {
+ return SystemSettingsKeys.MotionEnabled;
+ }
+ }
+ internal MotionSettingChangedEventArgs(bool val)
+ {
+ _motionEnabled = val;
+ }
+
+ /// <summary>
+ /// Indicates whether the device user has enabled motion feature
+ /// </summary>
+ public bool Value
+ {
+ get
+ {
+ return _motionEnabled;
+ }
+ }
+ }
+
+ /// <summary>
+ /// EventArgs type for the event NetworkWifiNotificationChanged
+ /// </summary>
+ public class NetworkWifiNotificationSettingChangedEventArgs : EventArgs
+ {
+ private readonly bool _networkWifiNotification;
+ /// <summary>
+ /// The enum for NetworkWifiNotification system setting key
+ /// </summary>
+ public SystemSettingsKeys Key
+ {
+ get
+ {
+ return SystemSettingsKeys.NetworkWifiNotificationEnabled;
+ }
+ }
+ internal NetworkWifiNotificationSettingChangedEventArgs(bool val)
+ {
+ _networkWifiNotification = val;
+ }
+
+ /// <summary>
+ /// Indicates whether Wi-Fi-related notifications are enabled on the device
+ /// </summary>
+ public bool Value
+ {
+ get
+ {
+ return _networkWifiNotification;
+ }
+ }
+ }
+
+ /// <summary>
+ /// EventArgs type for the event NetworkFlightModeChanged
+ /// </summary>
+ public class NetworkFlightModeSettingChangedEventArgs : EventArgs
+ {
+ private readonly bool _networkFlightMode;
+ /// <summary>
+ /// The enum for NetworkFlightMode system setting key
+ /// </summary>
+ public SystemSettingsKeys Key
+ {
+ get
+ {
+ return SystemSettingsKeys.NetworkFlightModeEnabled;
+ }
+ }
+ internal NetworkFlightModeSettingChangedEventArgs(bool val)
+ {
+ _networkFlightMode = val;
+ }
+
+ /// <summary>
+ /// Indicates whether the device is in the flight mode
+ /// </summary>
+ public bool Value
+ {
+ get
+ {
+ return _networkFlightMode;
+ }
+ }
+ }
+
+ /// <summary>
+ /// EventArgs type for the event ScreenBacklightTimeChanged
+ /// </summary>
+ public class ScreenBacklightTimeChangedEventArgs : EventArgs
+ {
+ private readonly int _screenBacklightTime;
+ /// <summary>
+ /// The enum for ScreenBacklightTime system setting key
+ /// </summary>
+ public SystemSettingsKeys Key
+ {
+ get
+ {
+ return SystemSettingsKeys.ScreenBacklightTime;
+ }
+ }
+ internal ScreenBacklightTimeChangedEventArgs(int val)
+ {
+ _screenBacklightTime = val;
+ }
+
+ /// <summary>
+ /// Indicates the backlight time (in seconds)
+ /// </summary>
+ public int Value
+ {
+ get
+ {
+ return _screenBacklightTime;
+ }
+ }
+ }
+
+ /// <summary>
+ /// EventArgs type for the event SoundNotificationChanged
+ /// </summary>
+ public class SoundNotificationChangedEventArgs : EventArgs
+ {
+ private readonly string _soundNotification = null;
+ /// <summary>
+ /// The enum for SoundNotification system setting key
+ /// </summary>
+ public SystemSettingsKeys Key
+ {
+ get
+ {
+ return SystemSettingsKeys.SoundNotification;
+ }
+ }
+ internal SoundNotificationChangedEventArgs(string val)
+ {
+ _soundNotification = val;
+ }
+
+ /// <summary>
+ /// Indicates the file path of the current notification tone set by the user
+ /// </summary>
+ public string Value
+ {
+ get
+ {
+ return _soundNotification;
+ }
+ }
+ }
+
+ /// <summary>
+ /// EventArgs type for the event SoundNotificationRepetitionPeriodChanged
+ /// </summary>
+ public class SoundNotificationRepetitionPeriodChangedEventArgs : EventArgs
+ {
+ private readonly int _soundNotificationRepetitionPeriod;
+ /// <summary>
+ /// The enum for SoundNotificationRepetitionPeriod system setting key
+ /// </summary>
+ public SystemSettingsKeys Key
+ {
+ get
+ {
+ return SystemSettingsKeys.SoundNotificationRepetitionPeriod;
+ }
+ }
+ internal SoundNotificationRepetitionPeriodChangedEventArgs(int val)
+ {
+ _soundNotificationRepetitionPeriod = val;
+ }
+
+ /// <summary>
+ /// Indicates the time period for notification repetitions
+ /// </summary>
+ public int Value
+ {
+ get
+ {
+ return _soundNotificationRepetitionPeriod;
+ }
+ }
+ }
+
+ /// <summary>
+ /// EventArgs type for the event LockStateChanged
+ /// </summary>
+ public class LockStateChangedEventArgs : EventArgs
+ {
+ private readonly SystemSettingsIdleLockState _lockState;
+ /// <summary>
+ /// The enum for LockState system setting key
+ /// </summary>
+ public SystemSettingsKeys Key
+ {
+ get
+ {
+ return SystemSettingsKeys.LockState;
+ }
+ }
+ internal LockStateChangedEventArgs(SystemSettingsIdleLockState val)
+ {
+ _lockState = val;
+ }
+
+ /// <summary>
+ /// Indicates the current lock state
+ /// </summary>
+ public SystemSettingsIdleLockState Value
+ {
+ get
+ {
+ return _lockState;
+ }
+ }
+ }
+}