summaryrefslogtreecommitdiff
path: root/src/plugins
diff options
context:
space:
mode:
authorDaniel Teske <daniel.teske@digia.com>2013-03-27 15:49:11 +0100
committerDaniel Teske <daniel.teske@digia.com>2013-04-09 19:08:23 +0200
commitbefd041dbd7e2081e7071498b794620e27e35252 (patch)
treeae4ab0b1b54981247c9ed77d9f289d9f630d8134 /src/plugins
parent5a3dfb767f9585be1049509db0441c93278e0163 (diff)
downloadqt-creator-befd041dbd7e2081e7071498b794620e27e35252.tar.gz
Android: Add/Remove Android Device on configuring android sdk path
Task-number: QTCREATORBUG-9017 Change-Id: I5adf4be57b76cf8d0f8e0afebe9540a9f92a29a2 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/android/androidconfigurations.cpp12
-rw-r--r--src/plugins/android/androidconfigurations.h1
-rw-r--r--src/plugins/android/androiddevice.h5
-rw-r--r--src/plugins/android/androidplugin.cpp3
4 files changed, 15 insertions, 6 deletions
diff --git a/src/plugins/android/androidconfigurations.cpp b/src/plugins/android/androidconfigurations.cpp
index e1164e93bf..b4890e7be6 100644
--- a/src/plugins/android/androidconfigurations.cpp
+++ b/src/plugins/android/androidconfigurations.cpp
@@ -198,6 +198,7 @@ void AndroidConfigurations::setConfig(const AndroidConfig &devConfigs)
save();
updateAvailablePlatforms();
updateAutomaticKitList();
+ updateAndroidDevice();
emit updated();
}
@@ -697,6 +698,17 @@ void AndroidConfigurations::load()
settings->beginGroup(SettingsGroup);
m_config = AndroidConfig(*settings);
settings->endGroup();
+ updateAndroidDevice();
+}
+
+void AndroidConfigurations::updateAndroidDevice()
+{
+ if (adbToolPath().toFileInfo().exists())
+ ProjectExplorer::DeviceManager::instance()
+ ->addDevice(ProjectExplorer::IDevice::Ptr(new Internal::AndroidDevice));
+ else
+ ProjectExplorer::DeviceManager::instance()
+ ->removeDevice(Core::Id(Constants::ANDROID_DEVICE_ID));
}
AndroidConfigurations *AndroidConfigurations::m_instance = 0;
diff --git a/src/plugins/android/androidconfigurations.h b/src/plugins/android/androidconfigurations.h
index 1c3e6dd9fb..7ce0999778 100644
--- a/src/plugins/android/androidconfigurations.h
+++ b/src/plugins/android/androidconfigurations.h
@@ -132,6 +132,7 @@ private:
int getSDKVersion(const QString &device) const;
void updateAvailablePlatforms();
+ void updateAndroidDevice();
static AndroidConfigurations *m_instance;
diff --git a/src/plugins/android/androiddevice.h b/src/plugins/android/androiddevice.h
index 6578c52905..224564bbc0 100644
--- a/src/plugins/android/androiddevice.h
+++ b/src/plugins/android/androiddevice.h
@@ -33,9 +33,8 @@
#include <projectexplorer/devicesupport/idevice.h>
namespace Android {
-class AndroidPlugin; // needed for friend declaration
-
namespace Internal {
+class AndroidConfigurations; // needed for friend declaration
class AndroidDevice : public ProjectExplorer::IDevice
{
@@ -52,7 +51,7 @@ public:
protected:
friend class AndroidDeviceFactory;
- friend class Android::AndroidPlugin;
+ friend class AndroidConfigurations;
AndroidDevice();
AndroidDevice(const AndroidDevice &other);
};
diff --git a/src/plugins/android/androidplugin.cpp b/src/plugins/android/androidplugin.cpp
index 5e7bb3cade..b762f10db1 100644
--- a/src/plugins/android/androidplugin.cpp
+++ b/src/plugins/android/androidplugin.cpp
@@ -74,9 +74,6 @@ bool AndroidPlugin::initialize(const QStringList &arguments, QString *errorMessa
addAutoReleasedObject(new Internal::AndroidDeviceFactory);
ProjectExplorer::KitManager::instance()->registerKitInformation(new Internal::AndroidGdbServerKitInformation);
- ProjectExplorer::DeviceManager::instance()
- ->addDevice(ProjectExplorer::IDevice::Ptr(new Internal::AndroidDevice));
-
connect(ProjectExplorer::KitManager::instance(), SIGNAL(kitsLoaded()),
this, SLOT(kitsRestored()));