diff options
author | Jiyoung Yun <jy910.yun@samsung.com> | 2015-03-16 15:07:26 +0900 |
---|---|---|
committer | taeyoung <ty317.kim@samsung.com> | 2015-06-11 14:25:27 +0900 |
commit | c4868d52f1a2bc254128f1b1f55553fdb152ad81 (patch) | |
tree | 38dc2dd48bfe04e5952d57fddaba3451184a4ed8 /common | |
parent | ddafb7d6eaedb0fcc669d6c40fe663b7e58fc370 (diff) | |
download | libsvi-c4868d52f1a2bc254128f1b1f55553fdb152ad81.tar.gz libsvi-c4868d52f1a2bc254128f1b1f55553fdb152ad81.tar.bz2 libsvi-c4868d52f1a2bc254128f1b1f55553fdb152ad81.zip |
feedback: Seperate codes between common and mobile profile
feedback-ids.h and feedback.h will be public api on Tizen v2.4.
If you need a specific enum for your profile,
you can make new file like feedback-ids-[PROFILE].h.
Change-Id: Iedcd7092866351a6c0b07fed3060b096e073973a
Signed-off-by: Jiyoung Yun <jy910.yun@samsung.com>
Signed-off-by: taeyoung <ty317.kim@samsung.com>
Diffstat (limited to 'common')
18 files changed, 298 insertions, 0 deletions
diff --git a/common/data/sound.xml b/common/data/sound.xml new file mode 100644 index 0000000..72f4f77 --- /dev/null +++ b/common/data/sound.xml @@ -0,0 +1,157 @@ +<?xml version="1.0" encoding="utf-8"?> +<config> + <label>svi-data</label> + <description>Sound Resource</description> + <sound> + <label>FEEDBACK_PATTERN_TAP</label> + <data>/usr/share/feedback/sound/touch/touch.wav</data> + </sound> + <sound> + <label>FEEDBACK_PATTERN_SIP</label> + <data>/usr/share/feedback/sound/touch/sip.wav</data> + </sound> + <sound> + <label>FEEDBACK_PATTERN_KEY0</label> + <data>/usr/share/feedback/sound/touch/key0.wav</data> + </sound> + <sound> + <label>FEEDBACK_PATTERN_KEY1</label> + <data>/usr/share/feedback/sound/touch/key1.wav</data> + </sound> + <sound> + <label>FEEDBACK_PATTERN_KEY2</label> + <data>/usr/share/feedback/sound/touch/key2.wav</data> + </sound> + <sound> + <label>FEEDBACK_PATTERN_KEY3</label> + <data>/usr/share/feedback/sound/touch/key3.wav</data> + </sound> + <sound> + <label>FEEDBACK_PATTERN_KEY4</label> + <data>/usr/share/feedback/sound/touch/key4.wav</data> + </sound> + <sound> + <label>FEEDBACK_PATTERN_KEY5</label> + <data>/usr/share/feedback/sound/touch/key5.wav</data> + </sound> + <sound> + <label>FEEDBACK_PATTERN_KEY6</label> + <data>/usr/share/feedback/sound/touch/key6.wav</data> + </sound> + <sound> + <label>FEEDBACK_PATTERN_KEY7</label> + <data>/usr/share/feedback/sound/touch/key7.wav</data> + </sound> + <sound> + <label>FEEDBACK_PATTERN_KEY8</label> + <data>/usr/share/feedback/sound/touch/key8.wav</data> + </sound> + <sound> + <label>FEEDBACK_PATTERN_KEY9</label> + <data>/usr/share/feedback/sound/touch/key9.wav</data> + </sound> + <sound> + <label>FEEDBACK_PATTERN_KEY_STAR</label> + <data>/usr/share/feedback/sound/touch/keyasterisk.wav</data> + </sound> + <sound> + <label>FEEDBACK_PATTERN_KEY_SHARP</label> + <data>/usr/share/feedback/sound/touch/keysharp.wav</data> + </sound> + <sound> + <label>FEEDBACK_PATTERN_KEY_BACK</label> + <data>/usr/share/feedback/sound/touch/touch.wav</data> + </sound> + <sound> + <label>FEEDBACK_PATTERN_HW_TAP</label> + <data>/usr/share/feedback/sound/touch/touch.wav</data> + </sound> + <sound> + <label>FEEDBACK_PATTERN_POWERON</label> + <data>/usr/share/feedback/sound/operation/operation.wav</data> + </sound> + <sound> + <label>FEEDBACK_PATTERN_CHARGERCONN</label> + <data>/usr/share/feedback/sound/operation/operation.wav</data> + </sound> + <sound> + <label>FEEDBACK_PATTERN_LOWBATT</label> + <data>/usr/share/feedback/sound/operation/operation.wav</data> + </sound> + <sound> + <label>FEEDBACK_PATTERN_LOCK</label> + <data>/usr/share/feedback/sound/operation/operation.wav</data> + </sound> + <sound> + <label>FEEDBACK_PATTERN_UNLOCK</label> + <data>/usr/share/feedback/sound/operation/operation.wav</data> + </sound> + <sound> + <label>FEEDBACK_PATTERN_SILENT_OFF</label> + <data>/usr/share/feedback/sound/operation/operation.wav</data> + </sound> + <sound> + <label>FEEDBACK_PATTERN_LIST_REORDER</label> + <data>/usr/share/feedback/sound/operation/operation.wav</data> + </sound> + <sound> + <label>FEEDBACK_PATTERN_LIST_SLIDER</label> + <data>/usr/share/feedback/sound/operation/operation.wav</data> + </sound> + <sound> + <label>FEEDBACK_PATTERN_VOLUME_KEY</label> + <data>/usr/share/feedback/sound/operation/operation.wav</data> + </sound> + <sound> + <label>FEEDBACK_PATTERN_MOBILE_SIP_BACKSPACE</label> + <data>/usr/share/feedback/sound/touch/sip.wav</data> + </sound> + <sound> + <label>FEEDBACK_PATTERN_MOBILE_SIP_FUNCTION</label> + <data>/usr/share/feedback/sound/touch/sip.wav</data> + </sound> + <sound> + <label>FEEDBACK_PATTERN_MOBILE_SIP_FJKEY</label> + <data>/usr/share/feedback/sound/touch/sip.wav</data> + </sound> + <sound> + <label>FEEDBACK_PATTERN_MOBILE_MAX_CHARACTER</label> + <data>/usr/share/feedback/sound/touch/sip.wav</data> + </sound> + <sound> + <label>FEEDBACK_PATTERN_MOBILE_CHARGERCONN_ON_CALL</label> + <data>/usr/share/feedback/sound/operation/operation.wav</data> + </sound> + <sound> + <label>FEEDBACK_PATTERN_MOBILE_LOWBATT_ON_CALL</label> + <data>/usr/share/feedback/sound/operation/operation.wav</data> + </sound> + <sound> + <label>FEEDBACK_PATTERN_MOBILE_LOCK_SWIPE</label> + <data>/usr/share/feedback/sound/operation/operation.wav</data> + </sound> + <sound> + <label>FEEDBACK_PATTERN_MOBILE_UNLOCK_SWIPE</label> + <data>/usr/share/feedback/sound/operation/operation.wav</data> + </sound> + <sound> + <label>FEEDBACK_PATTERN_MOBILE_GEOMETRIC_LOCK</label> + <data>/usr/share/feedback/sound/operation/operation.wav</data> + </sound> + <sound> + <label>FEEDBACK_PATTERN_MOBILE_CALLCONNECT</label> + <data>/usr/share/feedback/sound/operation/operation.wav</data> + </sound> + <sound> + <label>FEEDBACK_PATTERN_MOBILE_DISCALLCONNECT</label> + <data>/usr/share/feedback/sound/operation/operation.wav</data> + </sound> + <sound> + <label>FEEDBACK_PATTERN_MOBILE_MINUTEMINDER</label> + <data>/usr/share/feedback/sound/operation/operation.wav</data> + </sound> + <sound> + <label>FEEDBACK_PATTERN_MOBILE_SCREEN_CAPTURE</label> + <data>/usr/share/feedback/sound/operation/shutter.wav</data> + </sound> +</config> diff --git a/common/data/sound/operation/operation.wav b/common/data/sound/operation/operation.wav Binary files differnew file mode 100755 index 0000000..5383bdf --- /dev/null +++ b/common/data/sound/operation/operation.wav diff --git a/common/data/sound/operation/shutter.wav b/common/data/sound/operation/shutter.wav Binary files differnew file mode 100755 index 0000000..9dea92b --- /dev/null +++ b/common/data/sound/operation/shutter.wav diff --git a/common/data/sound/touch/key0.wav b/common/data/sound/touch/key0.wav Binary files differnew file mode 100755 index 0000000..e2cd877 --- /dev/null +++ b/common/data/sound/touch/key0.wav diff --git a/common/data/sound/touch/key1.wav b/common/data/sound/touch/key1.wav Binary files differnew file mode 100755 index 0000000..fa77cf4 --- /dev/null +++ b/common/data/sound/touch/key1.wav diff --git a/common/data/sound/touch/key2.wav b/common/data/sound/touch/key2.wav Binary files differnew file mode 100755 index 0000000..53da84c --- /dev/null +++ b/common/data/sound/touch/key2.wav diff --git a/common/data/sound/touch/key3.wav b/common/data/sound/touch/key3.wav Binary files differnew file mode 100755 index 0000000..ede9a2b --- /dev/null +++ b/common/data/sound/touch/key3.wav diff --git a/common/data/sound/touch/key4.wav b/common/data/sound/touch/key4.wav Binary files differnew file mode 100755 index 0000000..105bddc --- /dev/null +++ b/common/data/sound/touch/key4.wav diff --git a/common/data/sound/touch/key5.wav b/common/data/sound/touch/key5.wav Binary files differnew file mode 100755 index 0000000..a34b4d0 --- /dev/null +++ b/common/data/sound/touch/key5.wav diff --git a/common/data/sound/touch/key6.wav b/common/data/sound/touch/key6.wav Binary files differnew file mode 100755 index 0000000..34a8bec --- /dev/null +++ b/common/data/sound/touch/key6.wav diff --git a/common/data/sound/touch/key7.wav b/common/data/sound/touch/key7.wav Binary files differnew file mode 100755 index 0000000..3b845a4 --- /dev/null +++ b/common/data/sound/touch/key7.wav diff --git a/common/data/sound/touch/key8.wav b/common/data/sound/touch/key8.wav Binary files differnew file mode 100755 index 0000000..2a05528 --- /dev/null +++ b/common/data/sound/touch/key8.wav diff --git a/common/data/sound/touch/key9.wav b/common/data/sound/touch/key9.wav Binary files differnew file mode 100755 index 0000000..80699c8 --- /dev/null +++ b/common/data/sound/touch/key9.wav diff --git a/common/data/sound/touch/keyasterisk.wav b/common/data/sound/touch/keyasterisk.wav Binary files differnew file mode 100755 index 0000000..9ec2e71 --- /dev/null +++ b/common/data/sound/touch/keyasterisk.wav diff --git a/common/data/sound/touch/keysharp.wav b/common/data/sound/touch/keysharp.wav Binary files differnew file mode 100755 index 0000000..ce7cd88 --- /dev/null +++ b/common/data/sound/touch/keysharp.wav diff --git a/common/data/sound/touch/sip.wav b/common/data/sound/touch/sip.wav Binary files differnew file mode 100755 index 0000000..5b44d12 --- /dev/null +++ b/common/data/sound/touch/sip.wav diff --git a/common/data/sound/touch/touch.wav b/common/data/sound/touch/touch.wav Binary files differnew file mode 100755 index 0000000..1ec9de4 --- /dev/null +++ b/common/data/sound/touch/touch.wav diff --git a/common/src/check.c b/common/src/check.c new file mode 100644 index 0000000..b6a70e2 --- /dev/null +++ b/common/src/check.c @@ -0,0 +1,141 @@ +/* + * libfeedback + * Copyright (c) 2015 Samsung Electronics Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +#include <stdio.h> + +#include "feedback.h" +#include "profiles.h" +#include "log.h" + + +static const char *common_str_type[] = +{ + "FEEDBACK_TYPE_NONE", + "FEEDBACK_TYPE_SOUND", + "FEEDBACK_TYPE_VIBRATION", +}; + +static const char *common_str_pattern[] = +{ + "FEEDBACK_PATTERN_TAP", + "FEEDBACK_PATTERN_SIP", + "FEEDBACK_PATTERN_KEY0", + "FEEDBACK_PATTERN_KEY1", + "FEEDBACK_PATTERN_KEY2", + "FEEDBACK_PATTERN_KEY3", + "FEEDBACK_PATTERN_KEY4", + "FEEDBACK_PATTERN_KEY5", + "FEEDBACK_PATTERN_KEY6", + "FEEDBACK_PATTERN_KEY7", + "FEEDBACK_PATTERN_KEY8", + "FEEDBACK_PATTERN_KEY9", + "FEEDBACK_PATTERN_KEY_STAR", + "FEEDBACK_PATTERN_KEY_SHARP", + "FEEDBACK_PATTERN_KEY_BACK", + "FEEDBACK_PATTERN_HOLD", + "FEEDBACK_PATTERN_HW_TAP", + "FEEDBACK_PATTERN_HW_HOLD", + + "FEEDBACK_PATTERN_MESSAGE", + "FEEDBACK_PATTERN_EMAIL", + "FEEDBACK_PATTERN_WAKEUP", + "FEEDBACK_PATTERN_SCHEDULE", + "FEEDBACK_PATTERN_TIMER", + "FEEDBACK_PATTERN_GENERAL", + + "FEEDBACK_PATTERN_POWERON", + "FEEDBACK_PATTERN_POWEROFF", + "FEEDBACK_PATTERN_CHARGERCONN", + "FEEDBACK_PATTERN_CHARGING_ERROR", + "FEEDBACK_PATTERN_FULLCHARGED", + "FEEDBACK_PATTERN_LOWBATT", + "FEEDBACK_PATTERN_LOCK", + "FEEDBACK_PATTERN_UNLOCK", + "FEEDBACK_PATTERN_VIBRATION_ON", + "FEEDBACK_PATTERN_SILENT_OFF", + "FEEDBACK_PATTERN_BT_CONNECTED", + "FEEDBACK_PATTERN_BT_DISCONNECTED", + "FEEDBACK_PATTERN_LIST_REORDER", + "FEEDBACK_PATTERN_LIST_SLIDER", + "FEEDBACK_PATTERN_VOLUME_KEY", +}; + +static bool common_get_always_alert_case(int type, int pattern) +{ + switch (pattern) { + case FEEDBACK_PATTERN_SIP: + case FEEDBACK_PATTERN_TIMER: + if (CHECK_VIBRATION(type)) + return true; + break; + case FEEDBACK_PATTERN_WAKEUP: + return true; + default: + break; + } + return false; +} + +static bool common_get_always_off_case(int type, int pattern) +{ + switch (pattern) { + case FEEDBACK_PATTERN_TAP ... FEEDBACK_PATTERN_SIP: + case FEEDBACK_PATTERN_HOLD ... FEEDBACK_PATTERN_HW_HOLD: + if (CHECK_SOUND(type) && !is_touch_sndstatus()) + return true; + break; + case FEEDBACK_PATTERN_KEY0 ... FEEDBACK_PATTERN_KEY_BACK: + if (CHECK_SOUND(type) && !is_keytone_sndstatus()) + return true; + break; + default: + break; + } + return false; +} + +static int common_get_strength_type(int type, int pattern) +{ + if (CHECK_SOUND(type)) { + if (pattern == FEEDBACK_PATTERN_TAP) + return VOLUME_TYPE_SYSTEM|VOLUME_GAIN_TOUCH; + else if (pattern >= FEEDBACK_PATTERN_KEY0 && pattern <= FEEDBACK_PATTERN_KEY_BACK) + return VOLUME_TYPE_SYSTEM|VOLUME_GAIN_DIALER; + else if (pattern == FEEDBACK_PATTERN_VOLUME_KEY) + return VOLUME_TYPE_RINGTONE; + else + return VOLUME_TYPE_SYSTEM; + } else if (CHECK_VIBRATION(type)) { + return DEFAULT_VIB_LEVEL * HAPTIC_FEEDBACK_STEP; + } + + return -EINVAL; +} + +static const struct profile_ops common_profile_ops = { + .profile = "common", + .get_always_alert_case = common_get_always_alert_case, + .get_always_off_case = common_get_always_off_case, + .get_strength_type = common_get_strength_type, + .max_type = FEEDBACK_TYPE_END, + .max_pattern = FEEDBACK_PATTERN_END, + .str_type = common_str_type, + .str_pattern = common_str_pattern, +}; + +PROFILE_OPS_REGISTER(&common_profile_ops); |