From 8b867e88f47d8336ca5a961cca69ae1bade0f894 Mon Sep 17 00:00:00 2001 From: Ulf Hermann Date: Tue, 30 Jan 2018 18:41:56 +0100 Subject: [PATCH] Support QML preview with qmlproject on android Change-Id: I53a074d2064ddd2a20e745250d9620cd1969928b Reviewed-by: Vikas Pachdha --- src/plugins/android/androiddevice.cpp | 2 ++ src/plugins/android/androidplugin.cpp | 15 +++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/src/plugins/android/androiddevice.cpp b/src/plugins/android/androiddevice.cpp index 08ae83892d1..ae1fa68fc8c 100644 --- a/src/plugins/android/androiddevice.cpp +++ b/src/plugins/android/androiddevice.cpp @@ -47,6 +47,8 @@ AndroidDevice::AndroidDevice() { setDisplayName(QCoreApplication::translate("Android::Internal::AndroidDevice", "Run on Android")); setDeviceState(DeviceReadyToUse); + setQmlsceneCommand( + "org.qtproject.example.qmlscene/org.qtproject.qt5.android.bindings.QtActivity"); } AndroidDevice::AndroidDevice(const AndroidDevice &other) diff --git a/src/plugins/android/androidplugin.cpp b/src/plugins/android/androidplugin.cpp index a52e67292de..c9360527fb4 100644 --- a/src/plugins/android/androidplugin.cpp +++ b/src/plugins/android/androidplugin.cpp @@ -50,7 +50,9 @@ #endif #include +#include #include +#include #include @@ -93,6 +95,19 @@ bool AndroidPlugin::initialize(const QStringList &arguments, QString *errorMessa RunControl::registerWorker( QML_PREVIEW_RUN_MODE); + RunControl::registerWorker(QML_PREVIEW_RUN_MODE, [](RunControl *runControl) -> RunWorker* { + const Runnable runnable = runControl->runConfiguration()->runnable(); + QTC_ASSERT(runnable.is(), return nullptr); + const StandardRunnable standardRunnable = runnable.as(); + return new AndroidQmlToolingSupport(runControl, standardRunnable.executable, + standardRunnable.commandLineArguments); + }, [](RunConfiguration *runConfig) { + return runConfig->isEnabled() + && runConfig->id().name().startsWith("QmlProjectManager.QmlRunConfiguration") + && DeviceTypeKitInformation::deviceTypeId(runConfig->target()->kit()) + == Android::Constants::ANDROID_DEVICE_TYPE; + }); + d = new AndroidPluginPrivate; KitManager::registerKitInformation(new Internal::AndroidGdbServerKitInformation);