summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorJiyoung Yun <jy910.yun@samsung.com>2015-03-16 15:07:26 +0900
committertaeyoung <ty317.kim@samsung.com>2015-06-11 14:25:27 +0900
commitc4868d52f1a2bc254128f1b1f55553fdb152ad81 (patch)
tree38dc2dd48bfe04e5952d57fddaba3451184a4ed8 /common
parentddafb7d6eaedb0fcc669d6c40fe663b7e58fc370 (diff)
downloadlibsvi-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')
-rw-r--r--common/data/sound.xml157
-rwxr-xr-xcommon/data/sound/operation/operation.wavbin0 -> 27644 bytes
-rwxr-xr-xcommon/data/sound/operation/shutter.wavbin0 -> 149108 bytes
-rwxr-xr-xcommon/data/sound/touch/key0.wavbin0 -> 9064 bytes
-rwxr-xr-xcommon/data/sound/touch/key1.wavbin0 -> 9000 bytes
-rwxr-xr-xcommon/data/sound/touch/key2.wavbin0 -> 8968 bytes
-rwxr-xr-xcommon/data/sound/touch/key3.wavbin0 -> 9000 bytes
-rwxr-xr-xcommon/data/sound/touch/key4.wavbin0 -> 8976 bytes
-rwxr-xr-xcommon/data/sound/touch/key5.wavbin0 -> 8936 bytes
-rwxr-xr-xcommon/data/sound/touch/key6.wavbin0 -> 8976 bytes
-rwxr-xr-xcommon/data/sound/touch/key7.wavbin0 -> 8964 bytes
-rwxr-xr-xcommon/data/sound/touch/key8.wavbin0 -> 9000 bytes
-rwxr-xr-xcommon/data/sound/touch/key9.wavbin0 -> 8968 bytes
-rwxr-xr-xcommon/data/sound/touch/keyasterisk.wavbin0 -> 9000 bytes
-rwxr-xr-xcommon/data/sound/touch/keysharp.wavbin0 -> 9000 bytes
-rwxr-xr-xcommon/data/sound/touch/sip.wavbin0 -> 8832 bytes
-rwxr-xr-xcommon/data/sound/touch/touch.wavbin0 -> 7974 bytes
-rw-r--r--common/src/check.c141
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
new file mode 100755
index 0000000..5383bdf
--- /dev/null
+++ b/common/data/sound/operation/operation.wav
Binary files differ
diff --git a/common/data/sound/operation/shutter.wav b/common/data/sound/operation/shutter.wav
new file mode 100755
index 0000000..9dea92b
--- /dev/null
+++ b/common/data/sound/operation/shutter.wav
Binary files differ
diff --git a/common/data/sound/touch/key0.wav b/common/data/sound/touch/key0.wav
new file mode 100755
index 0000000..e2cd877
--- /dev/null
+++ b/common/data/sound/touch/key0.wav
Binary files differ
diff --git a/common/data/sound/touch/key1.wav b/common/data/sound/touch/key1.wav
new file mode 100755
index 0000000..fa77cf4
--- /dev/null
+++ b/common/data/sound/touch/key1.wav
Binary files differ
diff --git a/common/data/sound/touch/key2.wav b/common/data/sound/touch/key2.wav
new file mode 100755
index 0000000..53da84c
--- /dev/null
+++ b/common/data/sound/touch/key2.wav
Binary files differ
diff --git a/common/data/sound/touch/key3.wav b/common/data/sound/touch/key3.wav
new file mode 100755
index 0000000..ede9a2b
--- /dev/null
+++ b/common/data/sound/touch/key3.wav
Binary files differ
diff --git a/common/data/sound/touch/key4.wav b/common/data/sound/touch/key4.wav
new file mode 100755
index 0000000..105bddc
--- /dev/null
+++ b/common/data/sound/touch/key4.wav
Binary files differ
diff --git a/common/data/sound/touch/key5.wav b/common/data/sound/touch/key5.wav
new file mode 100755
index 0000000..a34b4d0
--- /dev/null
+++ b/common/data/sound/touch/key5.wav
Binary files differ
diff --git a/common/data/sound/touch/key6.wav b/common/data/sound/touch/key6.wav
new file mode 100755
index 0000000..34a8bec
--- /dev/null
+++ b/common/data/sound/touch/key6.wav
Binary files differ
diff --git a/common/data/sound/touch/key7.wav b/common/data/sound/touch/key7.wav
new file mode 100755
index 0000000..3b845a4
--- /dev/null
+++ b/common/data/sound/touch/key7.wav
Binary files differ
diff --git a/common/data/sound/touch/key8.wav b/common/data/sound/touch/key8.wav
new file mode 100755
index 0000000..2a05528
--- /dev/null
+++ b/common/data/sound/touch/key8.wav
Binary files differ
diff --git a/common/data/sound/touch/key9.wav b/common/data/sound/touch/key9.wav
new file mode 100755
index 0000000..80699c8
--- /dev/null
+++ b/common/data/sound/touch/key9.wav
Binary files differ
diff --git a/common/data/sound/touch/keyasterisk.wav b/common/data/sound/touch/keyasterisk.wav
new file mode 100755
index 0000000..9ec2e71
--- /dev/null
+++ b/common/data/sound/touch/keyasterisk.wav
Binary files differ
diff --git a/common/data/sound/touch/keysharp.wav b/common/data/sound/touch/keysharp.wav
new file mode 100755
index 0000000..ce7cd88
--- /dev/null
+++ b/common/data/sound/touch/keysharp.wav
Binary files differ
diff --git a/common/data/sound/touch/sip.wav b/common/data/sound/touch/sip.wav
new file mode 100755
index 0000000..5b44d12
--- /dev/null
+++ b/common/data/sound/touch/sip.wav
Binary files differ
diff --git a/common/data/sound/touch/touch.wav b/common/data/sound/touch/touch.wav
new file mode 100755
index 0000000..1ec9de4
--- /dev/null
+++ b/common/data/sound/touch/touch.wav
Binary files differ
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);