123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- /* global APP, config */
- import Controller from "./Controller";
- import Receiver from "./Receiver";
-
- /**
- * Implements the remote control functionality.
- */
- class RemoteControl {
- /**
- * Constructs new instance. Creates controller and receiver properties.
- * @constructor
- */
- constructor() {
- this.controller = new Controller();
- this.receiver = new Receiver();
- this.enabled = false;
- this.initialized = false;
- }
-
- /**
- * Initializes the remote control - checks if the remote control should be
- * enabled or not, initializes the API module.
- */
- init() {
- if(config.disableRemoteControl || this.initialized) {
- return;
- }
- this.initialized = true;
- APP.API.init({
- forceEnable: true,
- });
- this.controller.enable(true);
- }
-
- /**
- * Handles API event for support for executing remote control events into
- * the wrapper application.
- * @param {boolean} isSupported true if the receiver side is supported by
- * the wrapper application.
- */
- onRemoteControlSupported(isSupported) {
- if(isSupported && !config.disableRemoteControl) {
- this.enabled = true;
- if(this.initialized) {
- this.receiver.enable(true);
- }
- }
- }
- }
-
- export default new RemoteControl();
|