예제 #1
0
        private void SubscribeIfWebAppIsPinned()
        {
            if (webAppId == null)
            {
                return;
            }

            var listener = new ResponseListener
                           (
                loadEventArg =>
            {
                var status = LoadEventArgs.GetValueBool(loadEventArg);
                UpdatePinButton(status);
            },
                serviceCommandError =>
            {
            }
                           );

            webAppLauncher.SubscribeIsWebAppPinned(webAppId, listener);
        }
예제 #2
0
        private void SetControlSystem()
        {
            if (selectedDevice != null)
            {
                KeyCommand.Enabled   = selectedDevice.HasCapability(KeyControl.KeyCode);
                InputCommand.Enabled = selectedDevice.HasCapability(ExternalInputControl.PickerLaunch);
                CanMute = selectedDevice.HasCapability(VolumeControl.MuteSet);

                PlayInputCommand.Enabled        = selectedDevice.HasCapability(MediaControl.Play);
                PauseInputCommand.Enabled       = selectedDevice.HasCapability(MediaControl.Pause);
                StopInputCommand.Enabled        = selectedDevice.HasCapability(MediaControl.Stop);
                FastForwardInputCommand.Enabled = selectedDevice.HasCapability(MediaControl.FastForward);
                RewindInputCommand.Enabled      = selectedDevice.HasCapability(MediaControl.Rewind);
                VolumeUpCommand.Enabled         = selectedDevice.HasCapability(VolumeControl.VolumeUpDown);
                VolumeDownCommand.Enabled       = selectedDevice.HasCapability(VolumeControl.VolumeUpDown);

                var muteListener = new ResponseListener
                                   (
                    loadEventArg =>
                {
                    var vm = LoadEventArgs.GetValueBool(loadEventArg);
                    App.MainDispatcher.RunAsync(CoreDispatcherPriority.High, () =>
                    {
                        IsMuted = vm;
                    });
                },
                    serviceCommandError =>
                {
                }
                                   );

                var externalInputListener = new ResponseListener
                                            (
                    loadEventArg =>
                {
                    var inputs    = LoadEventArgs.GetValue <JsonArray>(loadEventArg);
                    var inputList = new List <ExternalInputInfo>();

                    foreach (var input in inputs)
                    {
                        var ei = ExternalInputInfo.FromJson(input.Stringify());
                        inputList.Add(ei);
                    }

                    App.MainDispatcher.RunAsync(CoreDispatcherPriority.High, () =>
                    {
                        ExternalInputs = inputList;
                    });
                },
                    serviceCommandError =>
                {
                }
                                            );

                if (selectedDevice.HasCapability(VolumeControl.MuteSubscribe))
                {
                    volumeControl.SubscribeMute(muteListener);
                }

                if (selectedDevice.HasCapability(ExternalInputControl.List))
                {
                    externalInputControl.GetExternalInputList(externalInputListener);
                }
            }
        }