Error AdbClient::CreateByDeviceID(const std::string &device_id, AdbClient &adb) { DeviceIDList connect_devices; auto error = adb.GetDevices(connect_devices); if (error.Fail()) return error; if (device_id.empty()) { if (connect_devices.size() != 1) return Error("Expected a single connected device, got instead %" PRIu64, static_cast<uint64_t>(connect_devices.size())); adb.SetDeviceID(connect_devices.front()); } else { auto find_it = std::find(connect_devices.begin(), connect_devices.end(), device_id); if (find_it == connect_devices.end()) return Error("Device \"%s\" not found", device_id.c_str()); adb.SetDeviceID(*find_it); } return error; }
Error AdbClient::CreateByDeviceID(const std::string &device_id, AdbClient &adb) { DeviceIDList connect_devices; auto error = adb.GetDevices(connect_devices); if (error.Fail()) return error; std::string android_serial; if (!device_id.empty()) android_serial = device_id; else if (const char *env_serial = std::getenv("ANDROID_SERIAL")) android_serial = env_serial; if (android_serial.empty()) { if (connect_devices.size() != 1) return Error("Expected a single connected device, got instead %zu - try " "setting 'ANDROID_SERIAL'", connect_devices.size()); adb.SetDeviceID(connect_devices.front()); } else { auto find_it = std::find(connect_devices.begin(), connect_devices.end(), android_serial); if (find_it == connect_devices.end()) return Error("Device \"%s\" not found", android_serial.c_str()); adb.SetDeviceID(*find_it); } return error; }