From 718c665194975ddcd4bb2bb360c94f81b5d916b8 Mon Sep 17 00:00:00 2001 From: Pawel Andruszkiewicz Date: Wed, 26 Aug 2015 15:47:14 +0200 Subject: [PATCH] [Application] Unmarshal the app ID and event name. Fixes: EventCallback_onevent [Verification] TCT pass rate (r36): 100% (184/184/0/0/0). Change-Id: I52d2e61c9e0a098749139d7d3d60f3200f7ce985 Signed-off-by: Pawel Andruszkiewicz --- src/application/application_api.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/application/application_api.js b/src/application/application_api.js index 7932be6b..08774c51 100755 --- a/src/application/application_api.js +++ b/src/application/application_api.js @@ -673,6 +673,7 @@ Application.prototype.addEventListener = function(event, callback) { _checkEventName(args.event.name); _checkAppId(args.event.appId); + // the 'event.' prefix is required by platform data.name = 'event.' + args.event.appId + '.' + args.event.name; // } @@ -684,7 +685,11 @@ Application.prototype.addEventListener = function(event, callback) { if (!Object.keys(event_listeners_[data.name]).length) { native.addListener(data.name, function(msg) { var eventName = msg.name; - var event = eventName.split('.').pop(); + var event = eventName.split('.'); + event = { + appId: event.slice(1, -1).join('.'), // app ID is everything besides the 'event' prefix and event name + name: event[event.length - 1] // event name cannot contain '.', so it's always the last element in array + }; for (var id in event_listeners_[eventName]) { if (event_listeners_[eventName].hasOwnProperty(id)) { if (msg.data) { @@ -692,7 +697,7 @@ Application.prototype.addEventListener = function(event, callback) { } else { delete msg.name; msg.type = event; //TODO: type should come from native site - event_listeners_[eventName][id](event.toUpperCase(), msg); + event_listeners_[eventName][id](event, msg); } } } -- 2.34.1