namespace Tizen.System
{
/// <summary>
- /// The class for constants.
- /// </summary>
- internal static class Constants
- {
- internal const int NumberOfPattern = 39;
- }
-
- /// <summary>
/// The Feedback API provides functions to control haptic and sound.
/// The Feedback API provides the way to play and stop feedback, and get the information whether a specific pattern is supported.
/// Below is the supported pattern string:
{
private const string LogTag = "Tizen.System.Feedback";
- private readonly FeedbackPattern[] Pattern = new FeedbackPattern[39];
+ private readonly Dictionary<string, int> Pattern = new Dictionary<string, int>
+ {
+ {"Tap", 0},
+ {"SoftInputPanel", 1},
+ {"Key0", 6},
+ {"Key1", 7},
+ {"Key2", 8},
+ {"Key3", 9},
+ {"Key4", 10},
+ {"Key5", 11},
+ {"Key6", 12},
+ {"Key7", 13},
+ {"Key8", 14},
+ {"Key9", 15},
+ {"KeyStar", 16},
+ {"KeySharp", 17},
+ {"KeyBack", 18},
+ {"Hold", 19},
+ {"HardwareKeyPressed", 21},
+ {"HardwareKeyHold", 22},
+ {"Message", 23},
+ {"Email", 25},
+ {"WakeUp", 27},
+ {"Schedule", 29},
+ {"Timer", 31},
+ {"General", 33},
+ {"PowerOn", 36},
+ {"PowerOff", 37},
+ {"ChargerConnected", 38},
+ {"ChargingError", 40},
+ {"FullyCharged", 42},
+ {"LowBattery", 44},
+ {"Lock", 46},
+ {"UnLock", 47},
+ {"VibrationModeAbled", 55},
+ {"SilentModeDisabled", 56},
+ {"BluetoothDeviceConnected", 57},
+ {"BluetoothDeviceDisconnected", 58},
+ {"ListReorder", 62},
+ {"ListSlider", 63},
+ {"VolumeKeyPressed", 64},
+ };
/// <summary>
/// Constructor of Feedback class
/// </example>
public Feedback()
{
- Pattern[0].PatternNumber = 0;
- Pattern[0].PatternString = "Tap";
- Pattern[1].PatternNumber = 1;
- Pattern[1].PatternString = "SoftInputPanel";
- Pattern[2].PatternNumber = 6;
- Pattern[2].PatternString = "Key0";
- Pattern[3].PatternNumber = 7;
- Pattern[3].PatternString = "Key1";
- Pattern[4].PatternNumber = 8;
- Pattern[4].PatternString = "Key2";
- Pattern[5].PatternNumber = 9;
- Pattern[5].PatternString = "Key3";
- Pattern[6].PatternNumber = 10;
- Pattern[6].PatternString = "Key4";
- Pattern[7].PatternNumber = 11;
- Pattern[7].PatternString = "Key5";
- Pattern[8].PatternNumber = 12;
- Pattern[8].PatternString = "Key6";
- Pattern[9].PatternNumber = 13;
- Pattern[9].PatternString = "Key7";
- Pattern[10].PatternNumber = 14;
- Pattern[10].PatternString = "Key8";
- Pattern[11].PatternNumber = 15;
- Pattern[11].PatternString = "Key9";
- Pattern[12].PatternNumber = 16;
- Pattern[12].PatternString = "KeyStar";
- Pattern[13].PatternNumber = 17;
- Pattern[13].PatternString = "KeySharp";
- Pattern[14].PatternNumber = 18;
- Pattern[14].PatternString = "KeyBack";
- Pattern[15].PatternNumber = 19;
- Pattern[15].PatternString = "Hold";
- Pattern[16].PatternNumber = 21;
- Pattern[16].PatternString = "HardwareKeyPressed";
- Pattern[17].PatternNumber = 22;
- Pattern[17].PatternString = "HardwareKeyHold";
- Pattern[18].PatternNumber = 23;
- Pattern[18].PatternString = "Message";
- Pattern[19].PatternNumber = 25;
- Pattern[19].PatternString = "Email";
- Pattern[20].PatternNumber = 27;
- Pattern[20].PatternString = "WakeUp";
- Pattern[21].PatternNumber = 29;
- Pattern[21].PatternString = "Schedule";
- Pattern[22].PatternNumber = 31;
- Pattern[22].PatternString = "Timer";
- Pattern[23].PatternNumber = 33;
- Pattern[23].PatternString = "General";
- Pattern[24].PatternNumber = 36;
- Pattern[24].PatternString = "PowerOn";
- Pattern[25].PatternNumber = 37;
- Pattern[25].PatternString = "PowerOff";
- Pattern[26].PatternNumber = 38;
- Pattern[26].PatternString = "ChargerConnected";
- Pattern[27].PatternNumber = 40;
- Pattern[27].PatternString = "ChargingError";
- Pattern[28].PatternNumber = 42;
- Pattern[28].PatternString = "FullyCharged";
- Pattern[29].PatternNumber = 44;
- Pattern[29].PatternString = "LowBattery";
- Pattern[30].PatternNumber = 46;
- Pattern[30].PatternString = "Lock";
- Pattern[31].PatternNumber = 47;
- Pattern[31].PatternString = "UnLock";
- Pattern[32].PatternNumber = 55;
- Pattern[32].PatternString = "VibrationModeAbled";
- Pattern[33].PatternNumber = 56;
- Pattern[33].PatternString = "SilentModeDisabled";
- Pattern[34].PatternNumber = 57;
- Pattern[34].PatternString = "BluetoothDeviceConnected";
- Pattern[35].PatternNumber = 58;
- Pattern[35].PatternString = "BluetoothDeviceDisconnected";
- Pattern[36].PatternNumber = 62;
- Pattern[36].PatternString = "ListReorder";
- Pattern[37].PatternNumber = 63;
- Pattern[37].PatternString = "ListSlider";
- Pattern[38].PatternNumber = 64;
- Pattern[38].PatternString = "VolumeKeyPressed";
-
Interop.Feedback.FeedbackError res = (Interop.Feedback.FeedbackError)Interop.Feedback.Initialize();
if (res != Interop.Feedback.FeedbackError.None)
{
public bool IsSupportedPattern(FeedbackType type, String pattern)
{
bool supported = false;
- bool found = false;
- int i = 0;
+ int number;
Interop.Feedback.FeedbackError res;
- for (i = 0; i < Constants.NumberOfPattern; i++)
- {
- if (String.Compare(pattern, Pattern[i].PatternString) == 0)
- {
- found = true;
- break;
- }
- }
-
- if (!found)
- throw new ArgumentException("Invalid Arguments");
-
- res = (Interop.Feedback.FeedbackError)Interop.Feedback.IsSupportedPattern((Interop.Feedback.FeedbackType)type, Pattern[i].PatternNumber, out supported);
+ if (!Pattern.TryGetValue(pattern, out number))
+ throw new ArgumentException($"Not supported pattern string : {pattern}", nameof(pattern));
+ res = (Interop.Feedback.FeedbackError)Interop.Feedback.IsSupportedPattern((Interop.Feedback.FeedbackType)type, number, out supported);
if (res != Interop.Feedback.FeedbackError.None)
{
/// </example>
public void Play(FeedbackType type, String pattern)
{
- bool found = false;
- int i = 0;
+ int number;
Interop.Feedback.FeedbackError res;
- for (i = 0; i < Constants.NumberOfPattern; i++)
- {
- if (String.Compare(pattern, Pattern[i].PatternString) == 0)
- {
- found = true;
- break;
- }
- }
-
- if (!found)
- throw new ArgumentException("Invalid Arguments");
+ if (!Pattern.TryGetValue(pattern, out number))
+ throw new ArgumentException($"Not supported pattern string : {pattern}", nameof(pattern));
if (type == FeedbackType.All)
- res = (Interop.Feedback.FeedbackError)Interop.Feedback.Play(Pattern[i].PatternNumber);
+ res = (Interop.Feedback.FeedbackError)Interop.Feedback.Play(number);
else
- res = (Interop.Feedback.FeedbackError)Interop.Feedback.PlayType((Interop.Feedback.FeedbackType)type, Pattern[i].PatternNumber);
+ res = (Interop.Feedback.FeedbackError)Interop.Feedback.PlayType((Interop.Feedback.FeedbackType)type, number);
if (res != Interop.Feedback.FeedbackError.None)
{