private void createTreehopperFromDevice(UsbDevice device)
        {
            Log.Info(TAG, "createTreehopperFromDevice called");
            if (device.VendorId == 0x10c4 && device.ProductId == 0x8a7e)
            {
                if (Boards.Count(b => b.SerialNumber == device.SerialNumber) != 0)
                {
                    Log.Info(TAG, "device found. Not adding to list.");
                }
                else
                {
                    Log.Info(TAG, "device not found. Adding.");

                    Manager.RequestPermission(device, pendingIntent);
                }
            }
        }
Esempio n. 2
0
        public void Play(GameMode mode)
        {
            var boardCount = Boards.Count();

            for (int turn = 0; turn < DrawnNumbers.Count; turn++)
            {
                var goOn = (mode == GameMode.FirstWins && BoardsWithBingo == 0) || mode == GameMode.LastWins && BoardsWithBingo < boardCount;
                if (goOn)
                {
                    CallNumber(DrawnNumbers[turn]);
                }
                else
                {
                    return;
                }
            }
        }
 BoardLoader()
 {
     try
     {
         using (System.IO.StreamReader r = new StreamReader(@"config.json"))
         {
             string json = r.ReadToEnd();
             log.Info("json letto: " + json);
             log.Info("------------------------------------");
             Boards         = JsonConvert.DeserializeObject <List <Board> >(json);
             NumberOfBoards = Boards.Count();
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show("File di configurazione errato: " + ex.Message);
         Environment.Exit(009);
     }
 }
        public override void OnReceive(Context context, Intent intent)
        {
            if (intent.Action == UsbManager.ActionUsbDeviceDetached)
            {
                UsbDevice usbDevice = (UsbDevice)intent.GetParcelableExtra(UsbManager.ExtraDevice);
                DeviceRemoved(usbDevice);
            }

            if (intent.Action == UsbManager.ActionUsbDeviceAttached)
            {
                UsbDevice usbDevice = (UsbDevice)intent.GetParcelableExtra(UsbManager.ExtraDevice);
                createTreehopperFromDevice(usbDevice);
            }

            if (intent.Action == ActionUsbPermission)
            {
                lock (lockObject)
                {
                    UsbDevice device = (UsbDevice)intent.GetParcelableExtra(UsbManager.ExtraDevice);

                    if (intent.GetBooleanExtra(UsbManager.ExtraPermissionGranted, false))
                    {
                        if (device != null)
                        {
                            if (Boards.Count(b => b.SerialNumber == device.SerialNumber) > 0)
                            {
                                return;
                            }
                            var board = new TreehopperUsb(new UsbConnection(device, Manager));
                            Log.Info(TAG, "Got permission to add new board (name=" + board.Name + ", serial=" + board.SerialNumber + "). Total number of boards: " + Boards.Count);
                            Boards.Add(board);
                        }
                    }
                    else
                    {
                        Log.Debug(TAG, "permission denied for device " + device);
                    }
                }
            }
        }