//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public AndroidDevice GetPrioritisedConnectedDevice() { // // Refresh ADB service and evaluate a list of connected devices or emulators. // // We want to prioritise devices over emulators here, which makes the logic a little dodgy. // LoggingUtils.PrintFunction(); var connectedDevices = AndroidAdb.GetConnectedDevices(); foreach (var device in connectedDevices) { if (!device.IsEmulator) { return(device); } } foreach (var device in connectedDevices) { if (device.IsEmulator) { return(device); } } return(null); }
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public AndroidDevice GetPrioritisedConnectedDevice() { // // Refresh ADB service and evaluate a list of connected devices or emulators. // // We want to prioritise devices over emulators here, which makes the logic a little dodgy. // LoggingUtils.PrintFunction(); AndroidDevice debuggingDevice = null; AndroidDevice [] connectedDevices = AndroidAdb.GetConnectedDevices(); if (connectedDevices.Length > 0) { for (int i = 0; i < connectedDevices.Length; ++i) { if (!connectedDevices [i].IsEmulator) { debuggingDevice = connectedDevices [i]; } } if (debuggingDevice == null) { debuggingDevice = connectedDevices [0]; } } return(debuggingDevice); }
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public int EnumPorts(out IEnumDebugPorts2 ppEnum) { // // Retrieves a list of all the ports supplied by a port supplier. // LoggingUtils.PrintFunction(); try { AndroidAdb.Refresh(); AndroidDevice [] connectedDevices = AndroidAdb.GetConnectedDevices(); foreach (AndroidDevice device in connectedDevices) { IDebugPort2 ppPort; LoggingUtils.RequireOk(AddPort(new DevicePortRequest(device), out ppPort)); } IDebugPort2 [] ports = new IDebugPort2 [m_registeredPorts.Count]; m_registeredPorts.Values.CopyTo(ports, 0); ppEnum = new DebugPortEnumerator(ports); return(Constants.S_OK); } catch (Exception e) { LoggingUtils.HandleException(e); ppEnum = null; return(Constants.E_FAIL); } }