[Mediacontroller] added display rotation feature 28/213828/13
authorRafal Walczyna <r.walczyna@samsung.com>
Fri, 13 Sep 2019 13:23:21 +0000 (15:23 +0200)
committerPiotr Kosko <p.kosko@samsung.com>
Thu, 19 Sep 2019 11:06:49 +0000 (11:06 +0000)
commit792e2df6e9e1cd67feb87417f52039e1afbb6ad0
tree655eba7713721825a59a53ce3026cbb303b24b66
parent7dfb9dbd4209d3d02f970357eea1f67184bd3e96
[Mediacontroller] added display rotation feature

[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(clientName, rotation)
{
  console.log("Display rotation change requested to: " + rotation + " by " + clientName);
  return new tizen.mediacontroller.RequestReply(new tizen.Bundle({"message": "Success"}), 0);
};
watcherId = mcServer.displayRotation.addChangeRequestListener(changeListener);

/// 2. checking NotSupportedError when sending without enabled ability
var mcClient = tizen.mediacontroller.getClient();
var mcServerInfo = mcClient.getLatestServerInfo()
var rotation = "ROTATION_180";
mcServerInfo.displayRotation.sendRequest(rotation,
    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.displayRotation.addDisplayRotationChangeListener(function(rotation)
{
  console.log(mcServerInfo.name + " server display rotation changed to " + rotation);
});

/// 4. change the value of mode 360 (should trigger listener from point 3)
mcServer.displayRotation.displayRotation = "ROTATION_180"

/// 5. enable ability of server
// TODO: mcServer.abilities.displayRotation = "?"

/// sendRequest again (should trigger listener from point 1)
mcServerInfo.displayRotation.sendRequest(rotation,
  function(data, code)
  {
    console.log(
        "Server replied with return data: " + JSON.stringify(data) + " and code: " + code);
  });

Change-Id: I9c497dbaaf5e7f491c2d57c568e52581c980951d
Signed-off-by: Rafal Walczyna <r.walczyna@samsung.com>
src/mediacontroller/mediacontroller_api.js
src/mediacontroller/mediacontroller_client.cc
src/mediacontroller/mediacontroller_client.h
src/mediacontroller/mediacontroller_instance.cc
src/mediacontroller/mediacontroller_instance.h
src/mediacontroller/mediacontroller_server.cc
src/mediacontroller/mediacontroller_server.h
src/mediacontroller/mediacontroller_utils.cc
src/mediacontroller/mediacontroller_utils.h