Android: Rework sdkTargets() to cache the output of adb

Also rename/change highestAvailablePlatform to highestAvailableSdk.
This fixes a bug reported on irc, where the lists for sdk and ndk
were different and the highestAvailablePlatform was not available
as in the sdk.

Change-Id: I17fec9e8ce1913e933ddcf8eaa21d6bb6e14c5be
Reviewed-by: BogDan Vatra <bogdan@kde.org>
This commit is contained in:
Daniel Teske
2013-10-17 13:23:08 +02:00
parent 723d4a973f
commit 1df66a18d1
4 changed files with 33 additions and 13 deletions

View File

@@ -124,7 +124,7 @@ public:
AndroidDeviceInfo showDeviceDialog(ProjectExplorer::Project *project, int apiLevel, const QString &abi);
void setDefaultDevice(ProjectExplorer::Project *project, const QString &abi, const QString &serialNumber); // serial number or avd name
QString defaultDevice(ProjectExplorer::Project *project, const QString &abi) const; // serial number or avd name
QString highestAvailableAndroidPlatform() const;
QString highestAndroidSdk() const;
public slots:
void clearDefaultDevices(ProjectExplorer::Project *project);
@@ -146,11 +146,14 @@ private:
int getSDKVersion(const QString &device) const;
QStringList getAbis(const QString &device) const;
void updateAvailableNdkPlatforms();
void updateAvailableSdkPlatforms();
static AndroidConfigurations *m_instance;
AndroidConfig m_config;
QVector<int> m_availableNdkPlatforms;
QVector<int> m_availableSdkPlatforms;
mutable QHash<QString, QString> m_serialNumberToDeviceName;
QMap<ProjectExplorer::Project *, QMap<QString, QString> > m_defaultDeviceForAbi;