From b2ffb9c833f307732c3487c17ae26d276d986525 Mon Sep 17 00:00:00 2001 From: "jinwang.an" Date: Wed, 20 Sep 2017 19:54:46 +0900 Subject: [PATCH] [Tizen.System.SystemSettings] Add getting accessibility TTS. Change-Id: Ic3569bedf56509922c0ea691349930743ed0a28a Signed-off-by: jinwang.an --- .../Tizen.System.SystemSettings/SystemSettings.cs | 96 +++++++++++++++++++--- .../SystemSettingsEnums.cs | 8 +- .../SystemSettingsEventArgs.cs | 36 +++++++- 3 files changed, 123 insertions(+), 17 deletions(-) diff --git a/src/Tizen.System.SystemSettings/Tizen.System.SystemSettings/SystemSettings.cs b/src/Tizen.System.SystemSettings/Tizen.System.SystemSettings/SystemSettings.cs index 9c910f9..965ac07 100755 --- a/src/Tizen.System.SystemSettings/Tizen.System.SystemSettings/SystemSettings.cs +++ b/src/Tizen.System.SystemSettings/Tizen.System.SystemSettings/SystemSettings.cs @@ -329,24 +329,24 @@ namespace Tizen.System /// Not Supported feature /// Invalid operation /// Thrown when application does not have privilege to access this method. - public static string LockscreenApp + public static string LockScreenApp { get { string pkgName; - SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsGetValueString(SystemSettingsKeys.LockscreenApp, out pkgName); + SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsGetValueString(SystemSettingsKeys.LockScreenApp, out pkgName); if (res != SystemSettingsError.None) { - throw SystemSettingsExceptionFactory.CreateException(res, "unable to get LockscreenApp system setting."); + throw SystemSettingsExceptionFactory.CreateException(res, "unable to get LockScreenApp system setting."); } return pkgName; } set { - SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsSetValueString(SystemSettingsKeys.LockscreenApp, value); + SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsSetValueString(SystemSettingsKeys.LockScreenApp, value); if (res != SystemSettingsError.None) { - throw SystemSettingsExceptionFactory.CreateException(res, "unable to set LockscreenApp system setting."); + throw SystemSettingsExceptionFactory.CreateException(res, "unable to set LockScreenApp system setting."); } } } @@ -910,6 +910,29 @@ namespace Tizen.System } } + /// + /// Indicates whether the accessibility TTS is enabled on the device. + /// + /// http://tizen.org/privilege/systemsettings.admin + /// platform + /// http://tizen.org/feature/systemsetting + /// Invalid Argument + /// Not Supported feature + /// Invalid operation + /// Thrown when application does not have privilege to access this method. + public static bool AccessibilityTtsEnabled + { + get + { + bool isAccessibilityTTSEnabled; + SystemSettingsError res = (SystemSettingsError)Interop.Settings.SystemSettingsGetValueBool(SystemSettingsKeys.AccessibilityTtsEnabled, out isAccessibilityTTSEnabled); + if (res != SystemSettingsError.None) + { + throw SystemSettingsExceptionFactory.CreateException(res, "unable to get AccessibilityTTS system setting value."); + } + return isAccessibilityTTSEnabled; + } + } private static readonly Interop.Settings.SystemSettingsChangedCallback s_incomingCallRingtoneChangedCallback = (SystemSettingsKeys key, IntPtr userData) => @@ -1332,13 +1355,13 @@ namespace Tizen.System private static readonly Interop.Settings.SystemSettingsChangedCallback s_lockscreenAppChangedCallback = (SystemSettingsKeys key, IntPtr userData) => { - string lockScreenApp = SystemSettings.LockscreenApp; - LockscreenAppChangedEventArgs eventArgs = new LockscreenAppChangedEventArgs(lockScreenApp); + string lockScreenApp = SystemSettings.LockScreenApp; + LockScreenAppChangedEventArgs eventArgs = new LockScreenAppChangedEventArgs(lockScreenApp); s_lockscreenAppChanged?.Invoke(null, eventArgs); }; - private static event EventHandler s_lockscreenAppChanged; + private static event EventHandler s_lockscreenAppChanged; /// - /// The LockscreenAppChanged event is triggered when the lockscreen application package name is changed. + /// The LockScreenAppChanged event is triggered when the lockscreen application package name is changed. /// /// http://tizen.org/privilege/systemsettings.admin /// platform @@ -1348,13 +1371,13 @@ namespace Tizen.System /// Not Supported feature /// Invalid operation /// Thrown when application does not have privilege to access this method. - public static event EventHandler LockscreenAppChanged + public static event EventHandler LockScreenAppChanged { add { if (s_lockscreenAppChanged == null) { - SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsSetCallback(SystemSettingsKeys.LockscreenApp, s_lockscreenAppChangedCallback, IntPtr.Zero); + SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsSetCallback(SystemSettingsKeys.LockScreenApp, s_lockscreenAppChangedCallback, IntPtr.Zero); if (ret != SystemSettingsError.None) { throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling"); @@ -1368,7 +1391,7 @@ namespace Tizen.System s_lockscreenAppChanged -= value; if (s_lockscreenAppChanged == null) { - SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsRemoveCallback(SystemSettingsKeys.LockscreenApp); + SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsRemoveCallback(SystemSettingsKeys.LockScreenApp); if (ret != SystemSettingsError.None) { throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling"); @@ -1736,6 +1759,7 @@ namespace Tizen.System { s_soundTouchChanged -= value; if (s_soundTouchChanged == null) + { SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsRemoveCallback(SystemSettingsKeys.SoundTouchEnabled); if (ret != SystemSettingsError.None) @@ -2301,6 +2325,54 @@ namespace Tizen.System } } } + + private static readonly Interop.Settings.SystemSettingsChangedCallback s_accessibilityTtsChangedCallback = (SystemSettingsKeys key, IntPtr userData) => + { + bool accessibilityTts = SystemSettings.AccessibilityTtsEnabled; + AccessibilityTtsSettingChangedEventArgs eventArgs = new AccessibilityTtsSettingChangedEventArgs(accessibilityTts); + s_accessibilityTtsChanged?.Invoke(null, eventArgs); + }; + private static event EventHandler s_accessibilityTtsChanged; + /// + /// THe AccessibilityTtsChanged event is triggered when the screen touch sound enabled status is changed. + /// + /// http://tizen.org/privilege/systemsettings.admin + /// platform + /// http://tizen.org/feature/systemsetting + /// Invalid Argument + /// Not Supported feature + /// Invalid operation + /// Thrown when application does not have privilege to access this method. + public static event EventHandler AccessibilityTtsSettingChanged + { + add + { + if (s_accessibilityTtsChanged == null) + { + SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsSetCallback(SystemSettingsKeys.AccessibilityTtsEnabled, s_accessibilityTtsChangedCallback, IntPtr.Zero); + if (ret != SystemSettingsError.None) + { + throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling"); + } + } + s_accessibilityTtsChanged += value; + } + + remove + { + s_accessibilityTtsChanged -= value; + if (s_accessibilityTtsChanged == null) + + { + SystemSettingsError ret = (SystemSettingsError)Interop.Settings.SystemSettingsRemoveCallback(SystemSettingsKeys.AccessibilityTtsEnabled); + if (ret != SystemSettingsError.None) + { + throw SystemSettingsExceptionFactory.CreateException(ret, "Error in callback handling"); + } + } + } + } + } } diff --git a/src/Tizen.System.SystemSettings/Tizen.System.SystemSettings/SystemSettingsEnums.cs b/src/Tizen.System.SystemSettings/Tizen.System.SystemSettings/SystemSettingsEnums.cs index b402687..c708d6b 100755 --- a/src/Tizen.System.SystemSettings/Tizen.System.SystemSettings/SystemSettingsEnums.cs +++ b/src/Tizen.System.SystemSettings/Tizen.System.SystemSettings/SystemSettingsEnums.cs @@ -60,7 +60,7 @@ namespace Tizen.System /// /// GET (string) Indicates the lock-screen application package name. /// - LockscreenApp = Data3GNetworkEnabled + 2, + LockScreenApp = Data3GNetworkEnabled + 2, /// /// GET (string) The current system default font type (only supports Get). /// @@ -149,7 +149,11 @@ namespace Tizen.System /// /// GET (string) Indicates the Ultra Data Save Package List. Since 4.0, the list is a string containing whitelisted package names separated with semicolons (;). /// - UltraDataSavePackageList + UltraDataSavePackageList, + /// + /// GET (bool) Indicates whether the the accessibility TTS is enabled on the device. + /// + AccessibilityTtsEnabled, } /// /// Enumeration for the Idle Lock State. diff --git a/src/Tizen.System.SystemSettings/Tizen.System.SystemSettings/SystemSettingsEventArgs.cs b/src/Tizen.System.SystemSettings/Tizen.System.SystemSettings/SystemSettingsEventArgs.cs index 0895e51..ac3bb0c 100755 --- a/src/Tizen.System.SystemSettings/Tizen.System.SystemSettings/SystemSettingsEventArgs.cs +++ b/src/Tizen.System.SystemSettings/Tizen.System.SystemSettings/SystemSettingsEventArgs.cs @@ -293,7 +293,7 @@ namespace Tizen.System } /// - /// EventArgs type for the LockscreenAppChanged event. + /// EventArgs type for the LockScreenAppChanged event. /// /// http://tizen.org/privilege/systemsettings.admin /// platform @@ -303,10 +303,10 @@ namespace Tizen.System /// Not Supported feature /// Invalid operation /// Thrown when application does not have privilege to access this method. - public class LockscreenAppChangedEventArgs : EventArgs + public class LockScreenAppChangedEventArgs : EventArgs { private readonly string _lockscreenApp = null; - internal LockscreenAppChangedEventArgs(string val) + internal LockScreenAppChangedEventArgs(string val) { _lockscreenApp = val; } @@ -929,4 +929,34 @@ namespace Tizen.System } } } + /// + /// EventArgs type for the AccessibilityTtsChanged event. + /// + /// http://tizen.org/privilege/systemsettings.admin + /// platform + /// http://tizen.org/feature/systemsetting + /// Invalid Argument + /// Not Supported feature + /// Invalid operation + /// Thrown when application does not have privilege to access this method. + public class AccessibilityTtsSettingChangedEventArgs : EventArgs + { + private readonly bool _AccessibilityTts; + internal AccessibilityTtsSettingChangedEventArgs(bool val) + { + _AccessibilityTts = val; + } + + /// + /// Indicates whether the screen touch sound is enabled on the device. + /// + public bool Value + { + get + { + return _AccessibilityTts; + } + } + } + } -- 2.7.4