[Mediacontroller] added subtitles feature and related ability
[ACR] http://suprem.sec.samsung.net/jira/browse/TWDAPI-230
[Verification] Code compiles without errors.
Basic test in chrome console works properly.
/// 1. adding command listener
var mcServer = tizen.mediacontroller.createServer();
mcServer.updatePlaybackState("PLAY");
var changeListener = function(enabled, clientName)
{
console.log("Subtitles mode change requested to: " + enabled + " by " + clientName);
return new tizen.mediacontroller.RequestReply(new tizen.Bundle({"message": "Not allowed"}), 13);
};
watcherId = mcServer.subtitles.addChangeRequestListener(changeListener);
/// 2. checking NotSupportedError when sending without enabled ability
var mcClient = tizen.mediacontroller.getClient();
var mcServerInfo = mcClient.getLatestServerInfo()
var enabled = true;
mcServerInfo.subtitles.sendRequest(enabled,
function(data, code)
{
console.log(
"Server replied with return data: " + JSON.stringify(data) + " and code: " + code);
});
/// 3. register listener for mode changes (client side)
watcherId = mcServerInfo.subtitles.addModeChangeListener(function(status)
{
console.log(mcServerInfo.name + " server subtitles mode changed to " + status);
});
/// 4. change the value of subtitles (should trigger listener from point 3)
mcServer.subtitles.enabled = true
/// 5. enable ability of server
mcServer.abilities.subtitles = "YES"
/// sendRequest again (should trigger listener from point 1)
mcServerInfo.subtitles.sendRequest(enabled,
function(data, code)
{
console.log(
"Server replied with return data: " + JSON.stringify(data) + " and code: " + code);
});
/// 6. register ability change listener and trigger the update
var listener =
{
onsimpleabilitychanged: function(server, type, ability)
{
console.log(type + " ability changed, server name: " + server.name + ", ability: " + ability);
}
};
mcClient.addAbilityChangeListener(listener);
/// call updates to trigger listener
mcServer.abilities.subtitles = "NO"
mcServer.abilities.subtitles = "NO"
/// Listener should be triggered once
Change-Id: I00ad78a44b696a7d885d13499af77cf762e54c7e