Commit Graph

1898 Commits

Author SHA1 Message Date
Tobias Hunger
fb71cac07b Android: Consistently use nullptr
Fixed by clang-tidy modernize-use-nullptr.

Change-Id: Ib0a73a06f6aea5284a93ee1e6c1b4411588a4ea1
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2018-05-09 12:14:46 +00:00
Tobias Hunger
7bd94b1db2 Android: Use override consistently
clang-tidy fixes from modernize-use-override check.

Change-Id: I06c9c0b27e178695328dc139a83203aec79528e4
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2018-05-09 12:14:21 +00:00
Vikas Pachdha
ee8b4f3512 Android: Do not deploy when missing build config
Fixes deployment on Android

Change-Id: Ie32407afc2151d7fdae62f69b4a1eecd1618da30
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2018-05-09 10:49:56 +00:00
hjk
ded34daa2b QmakeAndroid: Introduce two new functions in QmakeAndroidQtSupport
... and use them to remove direct dependency of the QmakeAndroidBuildApkStep
on qmake, so it can be merged into the base AndroidApkStep, leaving
less build system dependent code in the QmakeAndroid plugin.

Change-Id: Id7c6a9cb0e51d6b38850a0ad0e0e83a602f53338
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2018-05-09 10:36:37 +00:00
hjk
8e7c1bf1ab Android: Remove m_extraAppParams and m_extraEnvVars from Runnable
The idea was actually to make AndroidRunnable and "everything else",
i.e. StandardRunnable more similar over time to lessen the impact
of the "matrix" problem. The two removed items are avoidable.

Change-Id: I8ef011d76e2ad0154194ff5141ef8eb92cf235f3
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2018-05-09 09:27:37 +00:00
hjk
ba01d8729e Android: Remove m_deviceSerialNumber and m_apiLevel from Runnable
It's nothing that can be chosen freely, rather a feature of
the current setup/device.

Change-Id: I39460e22dab56adcce9da44f61a895923fb8c2a0
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2018-05-09 08:54:09 +00:00
hjk
2487768388 Android: Make runconfiguration use aspects
Change-Id: I6d89de901e64b2f29d62073e458eb6cd86c44acd
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2018-05-09 08:14:02 +00:00
Vikas Pachdha
02c7e76762 Android: Fix memory leak
Delete the toolchain instance if not used

Change-Id: I213f11d6f5e9ab3ffa98641d0a774a19e11849b3
Reviewed-by: hjk <hjk@qt.io>
2018-05-09 06:39:48 +00:00
hjk
a67b1e97de Android: Merge run configuration into base class
The base AndroidRunConfiguration as such is buildsystem agnostic now,
it is, however not usable with other buildsystems as the apk build
step relies on qmake specific information, so the run configuration
factory stays on the buildsystem specific side for now.

Change-Id: I00538846028cc060aceea15ffd2e63068450f1e8
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2018-05-08 15:54:04 +00:00
hjk
736f7f89d1 Android: Hide process deleter a bit
This also avoid a spurious(?) code model warning about
"function 'deleter' is not needed and will not be emitted"

Change-Id: I76372866ec1a51b3adc350d83b8efcd497b02cb5
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2018-05-08 12:52:49 +00:00
hjk
c4e3cda26a Android: Remove traces of special debugger setup
Change-Id: Ibf85a6e6e7c025287dd388bc5908cefc30fbaa2f
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2018-05-08 09:56:09 +00:00
Vikas Pachdha
fea16708b7 Android: Do not start AVD when AVD name is empty
Task-number: QTCREATORBUG-20350
Change-Id: I36b5c81b05b34c3caa515b32b504c4441b2a1f2b
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2018-05-03 06:17:17 +00:00
hjk
cf43803032 Make DeployConfigurationFactory more similar to RunConfigFactories
This follows some of the recent changes to RunConfigurations:
- pass Id from factory to DeployConfiguration constructors
- de-object-ify DeployConfigurationFactory
- use addSupportedTargetDeviceType(Id) instead of
  addSupportedTargetDeviceType(List<Id>)

Also, use stepList()->appendStep() instead of stepList()->insertStep(pos...)
with manual pos tracking in some cases.

Change-Id: I09c6a9d0f66f9f85b1c13361104f7878028e1ea8
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2018-05-02 13:55:43 +00:00
Alessandro Portale
1dbdd259be Remove some obsolete code inside QT_VERSION_CHECK sections
With Qt 5.9 as minimal build version, we don't need to handle 5.7 or 5.8

Change-Id: Ie1eed95ab46364452b0633f78bebc565a4a63f4a
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2018-04-27 07:43:49 +00:00
Eike Ziller
62050437c3 Merge remote-tracking branch 'origin/4.6'
Conflicts:
	src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp

Change-Id: Ia723411f4b5c9c90f9786223ac6a7346d7ab9b99
2018-04-26 10:16:32 +02:00
Eike Ziller
d1ec4c1204 Clean up options page category display name and icon set up
In cases where plugins extend an existing settings category of a plugin
that they depend on anyhow, they do not need to specify the translated
display name and icon for that category.
Some options pages were already not setting the icon, but still the
translated name, which makes even less sense.
Clean up this mess, only setting display name and icon if that is
necessary.

Change-Id: I8bc9d0c51b11d48f1d847337838704d663e70b45
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2018-04-23 11:12:26 +00:00
Vikas Pachdha
83d8de3366 Android: Check for AVD startup failure
Task-number: QTCREATORBUG-20160
Change-Id: Ifbae6d10da6c782e701bc7840ce4324526d0dd82
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-04-20 05:26:10 +00:00
Vikas Pachdha
503fb603c3 Android: Set proper environment for the avdmanager tool
Task-number: QTCREATORBUG-19988
Change-Id: If34b4ff570ed6d6fdbb91435913d9130feceb499
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-04-20 05:25:33 +00:00
Vikas Pachdha
6e4ae817c2 Android: Check for missing emulator tool
Task-number: QTCREATORBUG-20160
Change-Id: I481adfe9a7a1b2c9c151d01d2fe1b010735c898b
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2018-04-19 10:05:03 +00:00
Eike Ziller
7099f21586 Merge remote-tracking branch 'origin/4.6'
Change-Id: I959428882b9da427c6bf522145646048141888c6
2018-04-19 09:25:04 +02:00
Vikas Pachdha
717c7bfd9f Android: Add explicit tag for google_apis system images
Task-number: QTCREATORBUG-20298
Change-Id: I9bc4d9192584ffbc1180ae7b69f334c915ca16f4
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2018-04-19 06:30:34 +00:00
Eike Ziller
3309ed8783 Android: Add 'inline' to static function in header
Clang complains with a warning otherwise

Change-Id: Ia833529e4c37bb8c68d5445a04a7602481571a95
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2018-04-18 11:11:22 +00:00
Eike Ziller
185fe0c705 Merge remote-tracking branch 'origin/4.6'
Conflicts:
	src/plugins/android/androidrunnable.h
	src/plugins/android/androidrunner.cpp
	src/plugins/qmakeandroidsupport/qmakeandroidrunconfiguration.cpp
	src/plugins/qmakeprojectmanager/qmakeproject.cpp
	src/plugins/qmlprofiler/qmlprofilerruncontrol.cpp

Change-Id: I68093d44cfd672347eab82459ff70c21a32297ce
2018-04-17 10:09:35 +02:00
Vikas Pachdha
9a946decc3 Android: Give preference to detected deploy errors
Task-number: QTCREATORBUG-17414
Change-Id: I35171dc8649c9ecd790a1a508ccc3d4f690ee67b
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-04-17 05:02:46 +00:00
BogDan Vatra
429c596395 Android: Fix debugging on Android 8+
The new way is much reliable and now we can debug all the libs from very
first start, including static constructors, JNI_OnLoad, etc.

The downside is that the startup is a little bit slower then before.
On a Ryzen 1700X is 2 to 5 seconds slower.

Task-number: QTCREATORBUG-19081
Change-Id: Iacedf7b8aa84de5026f9c81eeca35dd377cf4640
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2018-04-13 14:05:40 +00:00
hjk
83c6a4916c ProjectExplorer: Streamline OutputFormatter creation a bit
Note that the concept of a single monolithic OutputFormatter per
RunConfiguration (and why RunConfiguration, not RunControl to start
with?) is unchanged and suboptimal as one cannot easily combine
existing use cases, e.g. Python_and_Qt.

Change-Id: Ibeb8191020387324f22ed313230293597f96e36a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2018-04-13 11:55:31 +00:00
Eike Ziller
428fcb476b Merge remote-tracking branch 'origin/4.6'
Conflicts:
	src/libs/utils/settingsaccessor.cpp
	src/plugins/autotest/autotestplugin.cpp
	src/plugins/git/gitclient.cpp
	src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp
	src/plugins/qbsprojectmanager/qbsrunconfiguration.h

Change-Id: I65f143cad18af509a2621d6c5925abbd038ea70f
2018-04-13 10:54:42 +02:00
Vikas Pachdha
56b6972994 Android: create a new toolchain when missing target triple
Though it should not happen that a toolchain is missing the triple
but in case the detection fails a new toolchain shall be created and
the misbehaving toolchain should be deleted

Task-number: QTCREATORBUG-20217
Change-Id: Iaa86331730f82b8e5abd37f1184a53d1e1312979
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
2018-04-10 07:31:59 +00:00
Vikas Pachdha
e6898fd863 Android: Fix app_process not being copied for 32bit cpu abi
Task-number: QTCREATORBUG-20084
Change-Id: Id06cfb6250030851211c7c170f8d0c8b0491b3d8
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2018-04-09 05:54:23 +00:00
Eike Ziller
9b563dc142 Merge remote-tracking branch 'origin/4.6'
Conflicts:
	qbs/modules/qtc/qtc.qbs
	qtcreator.pri

Change-Id: I3b2d81462b2dfb9753863c87c79ffbbf8d536aac
2018-03-31 08:53:21 +02:00
BogDan Vatra
aa2ea72679 Add stdcpp NDK paths to soLibSearchPath
It's useful when the application uses std::abort & co to get
a useful callstack.

Change-Id: I805478333bac3eba21db158df52942599a80c088
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2018-03-29 10:18:27 +00:00
Eike Ziller
cb84ae1a21 Merge remote-tracking branch 'origin/4.6'
Conflicts:
	src/plugins/android/androiddeployqtstep.cpp
	src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp
	src/plugins/qmakeprojectmanager/wizards/testwizard.cpp
	src/plugins/qtsupport/exampleslistmodel.cpp
	src/plugins/qtsupport/gettingstartedwelcomepage.cpp

Change-Id: I126823f5f60613509520c07f52be7bc9d4f4367c
2018-03-16 09:28:08 +01:00
Vikas Pachdha
1fae424f83 Android: Pull linker from device/emulator
Task-number: QTCREATORBUG-19931
Change-Id: If8f0b5fe767f9e816ac5163142d4fa38e0f6540f
Reviewed-by: hjk <hjk@qt.io>
2018-03-13 11:40:52 +00:00
Robert Loehning
37aea43479 Don't translate default windowTitle again and again
Change-Id: I4b4ff16e02c517bcd5a7c5ae73f62dd2a5bcc7cc
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2018-03-06 14:57:40 +00:00
Ulf Hermann
8e9454010b Android: Make qmlscene command configurable
Change-Id: Ife1dd4ae9fa3bcc822c27d744c3ed626bae99b8f
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2018-02-14 14:03:39 +00:00
Ulf Hermann
8b867e88f4 Support QML preview with qmlproject on android
Change-Id: I53a074d2064ddd2a20e745250d9620cd1969928b
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2018-02-14 14:03:33 +00:00
Ulf Hermann
6a964d8d0b Android: Support the extraenvvars and extraappparams options
The Qt/Android runtime does support passing parameters to the
application. We have to pass '-e extraappparams <base64 string>' and
'-e extraenvvars <base64 strings, concatenated by ";">'. This is very
handy and should actually be exposed in the GUI.

Change-Id: I8c84a53ab8f6f07ea5b6e01c902f53385df8b35f
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2018-02-14 12:31:45 +00:00
Ulf Hermann
9771333f9f Android: Tolerate foreign run configurations
The only things specific to AndroidRunConfiguration are
amStartExtraArgs() and postFinishShellCommands(). Those are considered
to be empty on foreign configurations.

Change-Id: Ia0b8381c30225942e8704db04d17a8bdd3d2c806
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2018-02-14 12:31:15 +00:00
Ulf Hermann
b088972a9c Android: Tolerate empty build/deploy configurations
If there is no build or deploy configuration, just skip the building and
deploying.

Change-Id: I8b6f6d14100f366df5683eb77490d7c0dc588f94
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2018-02-14 12:30:49 +00:00
hjk
b0b4022470 Android: Some code cosmetics
The naming scheme of the internal object was changed
to the usual pimpl pattern.

Also setup device update connection in the device constructory

Change-Id: I5cbb7a9d870a7d1f0e91e54f2ad6dfb95ea63e37
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2018-02-14 10:12:07 +00:00
Eike Ziller
c7fdb93865 Merge remote-tracking branch 'origin/4.6'
Conflicts:
	qbs/modules/qtc/qtc.qbs
	qtcreator.pri
	src/plugins/qbsprojectmanager/qbsrunconfiguration.cpp

Change-Id: I2445882a270731b866b04f28ff87d161224c539a
2018-02-13 13:37:37 +01:00
Tobias Hunger
3874b6b6ec KitInformation: Improve robustness to nullptr passed as kit
All the KitInformation methods need to gracefully handle a kit that is
a nullptr. Ensure this is indeed the case.

This might fix the actual trigger for QTCREATORBUG-19469.

Change-Id: Id78ac8a26c1be908f41a425ff1935b86888e4b8b
Reviewed-by: hjk <hjk@qt.io>
2018-02-13 08:46:35 +00:00
Robert Loehning
7282e05554 Improve translated strings
Change-Id: I7a45c6f8dcbb0e1b3c17a60823664fe1943c5654
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2018-02-09 16:36:54 +00:00
hjk
59d2505441 Remove two unneeded uses of ICore::instance()
The functions are static nowadays.

Change-Id: Ic6f6cb9c58319f3b33d8201aefb630b9381b2af3
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
2018-02-02 07:23:23 +00:00
hjk
7ab872ce6a Android: Remove dependency on plugin object pool
Change-Id: Ic6908cca581a0d6155c8c43c86163347ca578a4c
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2018-01-30 10:21:18 +00:00
Robert Loehning
63e47f903f Improve translated strings and make them consistent
Change-Id: I88a6e6ceaa44b22539449037faa788caa9f349fc
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2018-01-22 11:56:01 +00:00
Eike Ziller
f42ea09b74 Do not construct settings/resource paths from QSettings object
These paths are controlled by ICore.

Add ICore::installerResourcePath() to replace constructions with
settings(SystemScope)
Replace constructions with settings()->fileName() by usage of
ICore::userResourcePath().

Change-Id: I5a9fa9d09f2563c39dc5d11a4586da825c62f9ac
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2018-01-11 10:42:09 +00:00
Robert Loehning
e4b07d6f74 Android: Fix typo
Change-Id: I5f732957d893ab94cd7486658019407137069891
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2018-01-05 17:53:29 +00:00
Robert Loehning
517b35c9d7 Android: Initialize members
Change-Id: Iba2ec7c99d4083edf92601a8a7f2e5074f30cd7b
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2018-01-05 16:48:34 +00:00
Eike Ziller
f8f882ecdf Fix focus handling in android manifest editor
If focus gets set on the editor widget, either the current focus widget
of the current page (gui/text) should receive application focus, or the
page itself (where the gui page should defer that to its first input
widget).

Change-Id: I8a35c2e9ca06fe694069b594788f7f40307abbda
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
2018-01-04 07:41:46 +00:00