diff options
| author | Daniel Teske <daniel.teske@digia.com> | 2013-03-27 15:49:11 +0100 |
|---|---|---|
| committer | Daniel Teske <daniel.teske@digia.com> | 2013-04-09 19:08:23 +0200 |
| commit | befd041dbd7e2081e7071498b794620e27e35252 (patch) | |
| tree | ae4ab0b1b54981247c9ed77d9f289d9f630d8134 /src/plugins | |
| parent | 5a3dfb767f9585be1049509db0441c93278e0163 (diff) | |
| download | qt-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.cpp | 12 | ||||
| -rw-r--r-- | src/plugins/android/androidconfigurations.h | 1 | ||||
| -rw-r--r-- | src/plugins/android/androiddevice.h | 5 | ||||
| -rw-r--r-- | src/plugins/android/androidplugin.cpp | 3 |
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())); |
