From: Pawel Wasowski
Date: Tue, 29 Nov 2016 13:07:13 +0000 (+0100)
Subject: [TVInputDevice] Register/unregister keys from mandatoryMap
X-Git-Tag: submit/tizen/20161206.092612^2~10^2
X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F93%2F100893%2F4;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git
[TVInputDevice] Register/unregister keys from mandatoryMap
This commit introduce following changes to TVInputDevice API:
* list keys from mandatoryMap with getSupportedKeys
* register and unregister a single key from mandatoryMap
* register and unregister a batch of keys from mandatoryMap
Change-Id: I78ce888e8501fb245e5136f574c40d34f5907da3
Signed-off-by: Pawel Wasowski
---
diff --git a/src/tvinputdevice/tvinputdevice_api.js b/src/tvinputdevice/tvinputdevice_api.js
index b2f34f1b..94af4525 100755
--- a/src/tvinputdevice/tvinputdevice_api.js
+++ b/src/tvinputdevice/tvinputdevice_api.js
@@ -266,7 +266,11 @@ TVInputDeviceManager.prototype.getSupportedKeys = function() {
re.push(new TVInputDeviceKey({name: key, code: map[key].keyCode}));
}
}
-
+ for (var key in mandatoryMap) {
+ if (mandatoryMap.hasOwnProperty(key)) {
+ re.push(new TVInputDeviceKey({name: key, code: mandatoryMap[key].keyCode}));
+ }
+ }
return re;
};
@@ -303,12 +307,16 @@ TVInputDeviceManager.prototype.registerKey = function(keyName) {
var args = validator.validateArgs(arguments, [
{name: 'keyName', type: types.STRING}
]);
- if (!map[args.keyName]) {
+ if (!map[args.keyName] && !mandatoryMap[args.keyName]) {
throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
'Parameter "keyName" is invalid.');
}
- var ret = native.sendRuntimeSyncMessage('tizen://api/inputdevice/registerKey', map[args.keyName].keyName);
+ if (map[args.keyName]) {
+ var ret = native.sendRuntimeSyncMessage('tizen://api/inputdevice/registerKey', map[args.keyName].keyName);
+ } else {
+ var ret = native.sendRuntimeSyncMessage('tizen://api/inputdevice/registerKey', mandatoryMap[args.keyName].keyName);
+ }
if (ret === 'error') {
throw new WebAPIException(WebAPIException.UNKNOWN_ERR, 'UnknownError');
}
@@ -324,13 +332,16 @@ TVInputDeviceManager.prototype.unregisterKey = function(keyName) {
var args = validator.validateArgs(arguments, [
{name: 'keyName', type: types.STRING}
]);
-
- if (!map[args.keyName]) {
+ if (!map[args.keyName] && !mandatoryMap[args.keyName]) {
throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
'Parameter "keyName" is invalid.');
}
- var ret = native.sendRuntimeSyncMessage('tizen://api/inputdevice/unregisterKey', map[args.keyName].keyName);
+ if (map[args.keyName]) {
+ var ret = native.sendRuntimeSyncMessage('tizen://api/inputdevice/unregisterKey', map[args.keyName].keyName);
+ } else {
+ var ret = native.sendRuntimeSyncMessage('tizen://api/inputdevice/unregisterKey', mandatoryMap[args.keyName].keyName);
+ }
if (ret === 'error') {
throw new WebAPIException(WebAPIException.UNKNOWN_ERR, 'UnknownError');
}
@@ -360,11 +371,14 @@ TVInputDeviceManager.prototype.registerKeyBatch = function() {
var keysList = "";
for (var i = 0; i < args.keyNames.length; ++i) {
- if (!map[args.keyNames[i]]) {
+ if (map[args.keyNames[i]]) {
+ keysList += map[args.keyNames[i]].keyName + ((i < args.keyNames.length - 1) ? "," : "");
+ } else if (mandatoryMap[args.keyNames[i]]) {
+ keysList += mandatoryMap[args.keyNames[i]].keyName + ((i < args.keyNames.length - 1) ? "," : "");
+ } else {
throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
'Invalid key name: "' + args.keyNames[i] + '"');
}
- keysList += map[args.keyNames[i]].keyName + ((i < args.keyNames.length - 1) ? "," : "");
}
setTimeout(function() {
@@ -402,11 +416,14 @@ TVInputDeviceManager.prototype.registerKeyBatch = function() {
var keysList = "";
for (var i = 0; i < args.keyNames.length; ++i) {
- if (!map[args.keyNames[i]]) {
+ if (map[args.keyNames[i]]) {
+ keysList += map[args.keyNames[i]].keyName + ((i < args.keyNames.length - 1) ? "," : "");
+ } else if (mandatoryMap[args.keyNames[i]]) {
+ keysList += mandatoryMap[args.keyNames[i]].keyName + ((i < args.keyNames.length - 1) ? "," : "");
+ } else {
throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
'Invalid key name: "' + args.keyNames[i] + '"');
}
- keysList += map[args.keyNames[i]].keyName + ((i < args.keyNames.length - 1) ? "," : "");
}
setTimeout(function() {