Example #1
0
        private void LeaveWebAppCommandExecute(object obj)
        {
            if (mWebAppSession != null)
            {
                mWebAppSession.WebAppSessionListener = null;
                mWebAppSession.DisconnectFromWebApp();
                mWebAppSession = null;

                LaunchWebAppCommand.Enabled = true;
                JoinWebAppCommand.Enabled   = selectedDevice.HasCapability(WebAppLauncher.Join);
                SendJsonCommand.Enabled     = false;
                SendMessageCommand.Enabled  = false;
                LeaveWebAppCommand.Enabled  = false;
                CloseWebAppCommand.Enabled  = false;

                isLaunched = false;
            }
        }
Example #2
0
        private void JoinWebAppCommandExecute(object obj)
        {
            var listener = new ResponseListener
                           (
                loadEventArg =>
            {
                if (selectedDevice == null)
                {
                    return;
                }

                var webappSession = LoadEventArgs.GetValue <WebAppSession>(loadEventArg);

                webappSession.WebAppSessionListener = webAppListener;
                mWebAppSession = webappSession;

                SendMessageCommand.Enabled  = true;
                LaunchWebAppCommand.Enabled = false;
                LeaveWebAppCommand.Enabled  = selectedDevice.HasCapability(WebAppLauncher.Disconnect);

                if (selectedDevice.HasCapability(WebAppLauncher.MessageSendJson))
                {
                    SendJsonCommand.Enabled = true;
                }
                if (selectedDevice.HasCapability(WebAppLauncher.Close))
                {
                    CloseWebAppCommand.Enabled = true;
                }

                isLaunched = true;
                DisconnectMediaPlayerSession();
            },
                serviceCommandError =>
            {
                var msg =
                    new MessageDialog(
                        "Error joining webapp");
                msg.ShowAsync();
            }
                           );

            webAppLauncher.JoinWebApp(webAppId, listener);
        }
Example #3
0
        private void LaunchWebAppCommandExecute(object obj)
        {
            var listener = new ResponseListener
                           (
                loadEventArg =>
            {
                var webappSession = LoadEventArgs.GetValue <WebAppSession>(loadEventArg);

                webappSession.WebAppSessionListener = webAppListener;
                isLaunched = true;
                DisconnectMediaPlayerSession();
                mWebAppSession = webappSession;
                if (selectedDevice.HasAnyCapability(new List <string>
                {
                    WebAppLauncher.MessageSend,
                    WebAppLauncher.MessageReceive,
                    WebAppLauncher.MessageReceiveJson,
                    WebAppLauncher.MessageSendJson
                }))
                {
                    webappSession.Connect(connectionListener);
                }
                else
                {
                    connectionListener.OnSuccess(webappSession.LaunchSession);
                }
            },
                serviceCommandError =>
            {
                var msg =
                    new MessageDialog(
                        "Error launching webapp");
                msg.ShowAsync();
            }
                           );

            webAppLauncher.LaunchWebApp(webAppId, listener);
        }
Example #4
0
        private void SetWebAppControls()
        {
            if (selectedDevice != null)
            {
                LaunchWebAppCommand.Enabled = selectedDevice.HasCapability(WebAppLauncher.Launch);
                JoinWebAppCommand.Enabled   = selectedDevice.HasCapability(WebAppLauncher.Join);
                SendMessageCommand.Enabled  = selectedDevice.HasCapability(WebAppLauncher.MessageSend);
                SendJsonCommand.Enabled     = selectedDevice.HasCapability(WebAppLauncher.MessageSendJson);
                LeaveWebAppCommand.Enabled  = selectedDevice.HasCapability(WebAppLauncher.Disconnect);
                CloseWebAppCommand.Enabled  = selectedDevice.HasCapability(WebAppLauncher.Close);
                PinWebAppCommand.Enabled    = selectedDevice.HasCapability(WebAppLauncher.Pin);
                UnPinWebAppCommand.Enabled  = selectedDevice.HasCapability(WebAppLauncher.Pin);

                if (!isLaunched)
                {
                    CloseWebAppCommand.Enabled = false;
                    LeaveWebAppCommand.Enabled = false;
                    SendMessageCommand.Enabled = false;
                    SendJsonCommand.Enabled    = false;
                }
                else
                {
                    LaunchWebAppCommand.Enabled = true;
                }

                WebAppResponseMessage = "";

                if (selectedDevice.GetServiceByName(WebOsId) != null)
                {
                    webAppId = "WebAppTester";
                }

                if (selectedDevice.HasCapability(WebAppLauncher.Pin))
                {
                    SubscribeIfWebAppIsPinned();
                }
                else
                {
                    PinWebAppCommand.Enabled   = false;
                    UnPinWebAppCommand.Enabled = false;
                }
            }

            webAppListener = new WebAppSessionListener
                             (
                (session, message) =>
            {
                var str  = LoadEventArgs.GetValue <string>(message);
                var json = LoadEventArgs.GetValue <JsonObject>(message);
                App.MainDispatcher.RunAsync(CoreDispatcherPriority.High, () =>
                {
                    if (str != null)
                    {
                        WebAppResponseMessage += str + "\n";
                    }
                    else if (json != null)
                    {
                        WebAppResponseMessage += json.Stringify() + "\n";
                    }
                });
            },
                session =>
            {
                JoinWebAppCommand.Enabled  = selectedDevice.HasCapability(WebAppLauncher.Join);
                SendMessageCommand.Enabled = false;
                SendJsonCommand.Enabled    = false;
                CloseWebAppCommand.Enabled = false;
                LeaveWebAppCommand.Enabled = false;

                mWebAppSession = null;
                isLaunched     = false;
            }
                             );

            connectionListener = new ResponseListener
                                 (
                loadEventArg =>
            {
                if (selectedDevice == null)
                {
                    return;
                }

                if (selectedDevice.HasCapability(WebAppLauncher.MessageSendJson))
                {
                    SendJsonCommand.Enabled = true;
                }
                if (selectedDevice.HasCapability(WebAppLauncher.MessageSend))
                {
                    SendMessageCommand.Enabled = true;
                }

                LeaveWebAppCommand.Enabled  = selectedDevice.HasCapability(WebAppLauncher.Disconnect);
                CloseWebAppCommand.Enabled  = true;
                LaunchWebAppCommand.Enabled = true;
                isLaunched = true;
            },
                serviceCommandError =>
            {
                SendJsonCommand.Enabled     = false;
                SendMessageCommand.Enabled  = false;
                CloseWebAppCommand.Enabled  = false;
                LaunchWebAppCommand.Enabled = true;
                isLaunched = false;

                if (mWebAppSession != null)
                {
                    mWebAppSession.WebAppSessionListener = null;
                    mWebAppSession.Close(null);
                }
            }
                                 );
        }