Esempio n. 1
0
        public override void Execute(ConnectionState state)
        {
            DeckDevice deckDevice = new DeckDevice(DeviceGuid, DeviceName);

            DevicePersistManager.PersistDevice(deckDevice);
            DevicePersistManager.ChangeConnectedState(state, deckDevice);


            DevicePersistManager.OnDeviceConnected(this, deckDevice);
            Debug.WriteLine("MOSTRANDO GUID PARA: " + DeviceName);
            Debug.WriteLine("MOSTRANDO GUID PARA: " + DeviceGuid);
        }
        public override void Execute(ConnectionState state)
        {
            DeckDevice deckDevice = new DeckDevice(DeviceGuid, DeviceName);

            DevicePersistManager.PersistDevice(deckDevice);
            DevicePersistManager.ChangeConnectedState(state, deckDevice);

            /*
             * var deckImage = new DeckImage(new System.Drawing.Bitmap("streamdeck_key.png"));
             * var packet = new SlotImageChangeChunkPacket();
             * packet.AddToQueue(1, deckImage);
             * packet.AddToQueue(3, deckImage);
             * packet.AddToQueue(5, deckImage);
             * packet.AddToQueue(15, deckImage);
             * state.SendPacket(packet);*/
            DevicePersistManager.OnDeviceConnected(this, deckDevice);
        }
Esempio n. 3
0
        protected override void OnDoubleClick(EventArgs e)
        {
            base.OnDoubleClick(e);
            if (e is MouseEventArgs e2)
            {
                if (Program.mode == 1)
                {
                    if (NameLabelRectangle.Contains(e2.Location))
                    {
                        if (DeckUsb != null)
                        {
                            TextBox txtBox = new TextBox()
                            {
                                Bounds      = NameLabelRectangleWithoutPrefix,
                                Width       = Width - Padding.Right * 2,
                                Text        = DeckUsb.Model,
                                BorderStyle = BorderStyle.None,
                                BackColor   = BackColor,
                                ForeColor   = ForeColor,
                            };
                            txtBox.LostFocus += (s, ee) =>
                            {
                                if (txtBox.Text.Trim() != string.Empty)
                                {
                                    DeckUsb.Model = txtBox.Text.Trim();
                                    Refresh();
                                }
                                Controls.Remove(txtBox);
                            };
                            txtBox.KeyUp += (s, ee) =>
                            {
                                if (ee.KeyCode != Keys.Enter)
                                {
                                    return;
                                }
                                if (txtBox.Text.Trim() != string.Empty)
                                {
                                    DeckUsb.Model = txtBox.Text.Trim();
                                    Refresh();
                                }
                                Controls.Remove(txtBox);
                            };
                            Controls.Add(txtBox);
                            txtBox.Focus();
                        }
                    }
                    else
                    {
                        if (Tag is MainForm frm)
                        {
                            if (DevicePersistManager.IsDeviceTest)
                            {
                                Program.client.RemoveAllForwards(DeckUsb);
                                Program.client.CreateForward(DevicePersistManager.DeviceUsb, $"tcp:{ApplicationSettingsManager.Settings.PORT}", $"tcp:{ApplicationSettingsManager.Settings.PORT}", true);

                                Program.client.ExecuteRemoteCommand("am force-stop net.nickac.DisplayButtons", DeckUsb, null);
                                Thread.Sleep(1400);
                                Program.client.ExecuteRemoteCommand("am start -a android.intent.action.VIEW -e mode 1 net.nickac.DisplayButtons/.MainActivity", DeckUsb, null);
                                Thread.Sleep(1200);
                                Initilizator.ClientThread.Stop();
                                Initilizator.ClientThread = new Misc.ClientThread();
                                Initilizator.ClientThread.Start();
                                //   DevicePersistManager.PersistUsbMode(DeckUsb);
                                //       MainForm.Instance.StartLoad(true);
                                //   MainForm.Instance.Start_configs();
                            }
                            else
                            {
                                //  PersistUsbMode(DeckUsb);
                                Program.client.RemoveAllForwards(DeckUsb);
                                Program.client.CreateForward(DevicePersistManager.DeviceUsb, $"tcp:{ApplicationSettingsManager.Settings.PORT}", $"tcp:{ApplicationSettingsManager.Settings.PORT}", true);

                                Initilizator.ClientThread.Stop();
                                Initilizator.ClientThread = new Misc.ClientThread();
                                Initilizator.ClientThread.Start();
                            }
                        }
                    }
                }
                else
                {
                    if (DeckDevice != null)
                    {
                        if (NameLabelRectangle.Contains(e2.Location))
                        {
                            TextBox txtBox = new TextBox()
                            {
                                Bounds      = NameLabelRectangleWithoutPrefix,
                                Width       = Width - Padding.Right * 2,
                                Text        = DeckDevice.DeviceName,
                                BorderStyle = BorderStyle.None,
                                BackColor   = BackColor,
                                ForeColor   = ForeColor,
                            };
                            txtBox.LostFocus += (s, ee) =>
                            {
                                if (txtBox.Text.Trim() != string.Empty)
                                {
                                    DeckDevice.DeviceName = txtBox.Text.Trim();
                                    Refresh();
                                }
                                Controls.Remove(txtBox);
                            };
                            txtBox.KeyUp += (s, ee) =>
                            {
                                if (ee.KeyCode != Keys.Enter)
                                {
                                    return;
                                }
                                if (txtBox.Text.Trim() != string.Empty)
                                {
                                    DeckDevice.DeviceName = txtBox.Text.Trim();
                                    Refresh();
                                }
                                Controls.Remove(txtBox);
                            };
                            Controls.Add(txtBox);
                            txtBox.Focus();
                        }
                        else
                        {
                            if (Tag is MainForm frm)
                            {
                                if (DevicePersistManager.IsVirtualDeviceConnected)
                                {
                                    Debug.WriteLine("DEVICE MNANAWE 2");
                                    if (frm.CurrentDevice.DeviceGuid == DeckDevice.DeviceGuid)
                                    {
                                        //Someone clicked on the same device. Unload this one.
                                        DevicePersistManager.OnDeviceDisconnected(this, DeckDevice);
                                        DevicePersistManager.IsVirtualDeviceConnected = false;


                                        frm.ChangeButtonsVisibility(false);
                                        frm.CurrentDevice = null;
                                        frm.RefreshAllButtons(false);
                                        frm.Activate();
                                    }
                                    else
                                    {
                                        Debug.WriteLine("DEVICE MNANAWE 2");
                                        //Someone requested another device. Unload current virtual device..
                                        DevicePersistManager.OnDeviceDisconnected(this, frm.CurrentDevice);
                                        DevicePersistManager.IsVirtualDeviceConnected = false;
                                        frm.ChangeButtonsVisibility(false);
                                        frm.CurrentDevice = null;
                                        frm.RefreshAllButtons(false);
                                    }
                                }
                                else
                                {
                                    Debug.WriteLine("DEVICE MNANAWE 3");
                                    frm.CurrentDevice = DeckDevice;
                                    DevicePersistManager.IsVirtualDeviceConnected = true;
                                    DevicePersistManager.OnDeviceConnected(this, DeckDevice);
                                    frm.ChangeButtonsVisibility(true);
                                    frm.RefreshAllButtons(false);
                                    void tempConnected(object s, DevicePersistManager.DeviceEventArgs ee)
                                    {
                                        if (ee.Device.DeviceGuid == DeckDevice.DeviceGuid)
                                        {
                                            return;
                                        }
                                        DevicePersistManager.DeviceConnected -= tempConnected;
                                        if (DevicePersistManager.IsVirtualDeviceConnected)
                                        {
                                            //We had a virtual device.
                                            DevicePersistManager.OnDeviceDisconnected(this, DeckDevice);
                                            DevicePersistManager.IsVirtualDeviceConnected = false;
                                            frm.ChangeButtonsVisibility(false);
                                        }
                                    }

                                    DevicePersistManager.DeviceConnected += tempConnected;
                                }
                            }
                        }
                    }
                }
            }
        }