diff --git a/src/plugins/android/androidconfigurations.cpp b/src/plugins/android/androidconfigurations.cpp index 0c8efedb4bb..bc0a939e399 100644 --- a/src/plugins/android/androidconfigurations.cpp +++ b/src/plugins/android/androidconfigurations.cpp @@ -431,7 +431,12 @@ QVector AndroidConfig::connectedDevices(QString *error) const dev.type = serialNo.startsWith(QLatin1String("emulator")) ? AndroidDeviceInfo::Emulator : AndroidDeviceInfo::Hardware; dev.sdk = getSDKVersion(dev.serialNumber); dev.cpuAbi = getAbis(dev.serialNumber); - dev.unauthorized = (deviceType == QLatin1String("unauthorized")); + if (deviceType == QLatin1String("unauthorized")) + dev.state = AndroidDeviceInfo::UnAuthorizedState; + else if (deviceType == QLatin1String("offline")) + dev.state = AndroidDeviceInfo::OfflineState; + else + dev.state = AndroidDeviceInfo::OkState; devices.push_back(dev); } @@ -575,7 +580,7 @@ QVector AndroidConfig::androidVirtualDevices() const // armeabi-v7a devices can also run armeabi code if (dev.cpuAbi == QStringList(QLatin1String("armeabi-v7a"))) dev.cpuAbi << QLatin1String("armeabi"); - dev.unauthorized = false; + dev.state = AndroidDeviceInfo::OkState; dev.type = AndroidDeviceInfo::Emulator; devices.push_back(dev); } diff --git a/src/plugins/android/androidconfigurations.h b/src/plugins/android/androidconfigurations.h index 45fea1901b6..9d2fcc630a3 100644 --- a/src/plugins/android/androidconfigurations.h +++ b/src/plugins/android/androidconfigurations.h @@ -56,6 +56,8 @@ struct AndroidDeviceInfo QString serialNumber; QStringList cpuAbi; int sdk; + enum State { OkState, UnAuthorizedState, OfflineState }; + State state; bool unauthorized; enum AndroidDeviceType { Hardware, Emulator }; AndroidDeviceType type; diff --git a/src/plugins/android/androiddevicedialog.cpp b/src/plugins/android/androiddevicedialog.cpp index a67f8364ef0..ff243188f6d 100644 --- a/src/plugins/android/androiddevicedialog.cpp +++ b/src/plugins/android/androiddevicedialog.cpp @@ -331,9 +331,12 @@ void AndroidDeviceModel::setDevices(const QVector &devices) AndroidDeviceModelNode *incompatibleDevices = 0; // created on demand foreach (const AndroidDeviceInfo &device, devices) { QString error; - if (device.unauthorized) { + if (device.state == AndroidDeviceInfo::UnAuthorizedState) { error = AndroidDeviceDialog::tr("Unauthorized. Please check the confirmation dialog on your device %1.") .arg(device.serialNumber); + }else if (device.state == AndroidDeviceInfo::OfflineState) { + error = AndroidDeviceDialog::tr("Offline. Please check the state of your device %1.") + .arg(device.serialNumber); } else if (!device.cpuAbi.contains(m_abi)) { error = AndroidDeviceDialog::tr("ABI is incompatible, device supports ABIs: %1.") .arg(device.cpuAbi.join(QLatin1String(" ")));