From f1be23f16a14618560b7a022ad8adb58ff6e2ef9 Mon Sep 17 00:00:00 2001 From: Tomasz Marciniak Date: Mon, 22 Jun 2015 08:48:12 +0200 Subject: [PATCH] [Mediacontroller] Added function for defined custom commands. [Verification] Code compiles without errors. TCT pass rate 90.42%(167/151/4/12/0) Change-Id: Ib008fd709b96df7bd307ecc13447e420d01ef38b Signed-off-by: Tomasz Marciniak --- src/mediacontroller/mediacontroller_api.js | 49 +++++++++++++++++++--- 1 file changed, 44 insertions(+), 5 deletions(-) diff --git a/src/mediacontroller/mediacontroller_api.js b/src/mediacontroller/mediacontroller_api.js index 9e201768..a19e47ae 100755 --- a/src/mediacontroller/mediacontroller_api.js +++ b/src/mediacontroller/mediacontroller_api.js @@ -609,10 +609,19 @@ MediaControllerServerInfo.prototype.sendPlaybackPosition = function(position, su throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR); } + var callback = function(result) { + if (native_.isFailure(result)) { + native_.callIfPossible(args.errorCallback, native_.getErrorObject(result)); + return; + } + native_.callIfPossible(args.successCallback); + }; + var data = { position: args.position }; - this.sendCommand(internal_commands_.sendPlaybackPosition, data, successCallback, errorCallback); + + sendDefinedCommand(this.name, internal_commands_.sendPlaybackPosition, data, callback); }; MediaControllerServerInfo.prototype.sendShuffleMode = function(mode, successCallback, errorCallback) { @@ -622,10 +631,18 @@ MediaControllerServerInfo.prototype.sendShuffleMode = function(mode, successCall {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true} ]); + var callback = function(result) { + if (native_.isFailure(result)) { + native_.callIfPossible(args.errorCallback, native_.getErrorObject(result)); + return; + } + native_.callIfPossible(args.successCallback); + }; + var data = { mode: args.mode }; - this.sendCommand(internal_commands_.sendShuffleMode, data, successCallback, errorCallback); + sendDefinedCommand(this.name, internal_commands_.sendShuffleMode, data, callback); }; MediaControllerServerInfo.prototype.sendRepeatMode = function(mode, successCallback, errorCallback) { @@ -635,10 +652,33 @@ MediaControllerServerInfo.prototype.sendRepeatMode = function(mode, successCallb {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true} ]); + var callback = function(result) { + if (native_.isFailure(result)) { + native_.callIfPossible(args.errorCallback, native_.getErrorObject(result)); + return; + } + native_.callIfPossible(args.successCallback); + }; + var data = { mode: args.mode }; - this.sendCommand(internal_commands_.sendRepeatMode, data, successCallback, errorCallback); + sendDefinedCommand(this.name, internal_commands_.sendRepeatMode, data, callback); +}; + +function sendDefinedCommand(name_, command_, data_, callback_) { + var nativeData = { + command: command_, + data: data_, + name: name_ + }; + + var replyId = ReplyCommandListener.addListener(callback_); + + nativeData.replyId = replyId; + nativeData.listenerId = ReplyCommandListener.listenerName; + + native_.call('MediaControllerServerInfo_sendCommand', nativeData, callback_); }; MediaControllerServerInfo.prototype.sendCommand = function(command, data, successCallback, errorCallback) { @@ -659,13 +699,12 @@ MediaControllerServerInfo.prototype.sendCommand = function(command, data, succes nativeData.replyId = replyId; nativeData.listenerId = ReplyCommandListener.listenerName; - var callback = function(result) { if (native_.isFailure(result)) { native_.callIfPossible(args.errorCallback, native_.getErrorObject(result)); return; } - native_.callIfPossible(args.successCallback, native_.getResultObject(result)); + args.successCallback(native_.getResultObject(result)); }; native_.call('MediaControllerServerInfo_sendCommand', nativeData, callback); -- 2.34.1