Commit Graph

576 Commits (55141c59cdc9144cd3aa9f5085df9db523f54736)

Author SHA1 Message Date
Qt Forward Merge Bot efd7757154 Merge remote-tracking branch 'origin/5.15' into dev
Conflicts:
	src/widgets/widgets/qabstractbutton.cpp
	src/widgets/widgets/qbuttongroup.cpp
	src/widgets/widgets/qbuttongroup.h
	src/widgets/widgets/qsplashscreen.cpp
	tests/auto/widgets/widgets/qbuttongroup/tst_qbuttongroup.cpp
        tests/benchmarks/opengl/main.cpp

  Needed update:
	src/plugins/platforms/cocoa/CMakeLists.txt

Change-Id: I7be4baebb63844ec2b3e0de859ca9de1bc730bb5
2020-04-22 15:28:01 +02:00
Andy Shaw e7eff98401 Android: Only check for uri permissions when it is a file or content
This amends f36b042e2b to only check
permissions for uris that are going to be local to the device itself.
Other uris, such as http, https etc, should go through fine without a
check.

Change-Id: If05caadb6e0712d9db8f57185ef017d724d9e172
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2020-04-14 14:51:17 +01:00
Eskil Abrahamsen Blomfeldt a35a7fcb5a Android: Implement MaximizeUsingFullscreenGeometryHint
(This reintroduces c17a5cec19,
which was reverted in Qt 5 because it requires API level 23.)

This flag tells the app to use as much of the screen as possible
while still keeping system UI visible, and can be supported on Android
by using translucent system UI, similar to iOS.

What this does:
1. It changes the current fullscreen/not-fullscreen logic to
allow three states: fullscreen, fullscreen with translucent
decorations and not-fullscreen.

2. In order for it to work, we have to send the actual
screen geometry and available geometry, at least in the case
where the user needs to know the available geometry to
know the safe area of the window. So we get the real screen
metrics and pass these to the QPA plugin (API level 17, so
we can do that now that the minimum version is 21.)

3. Note that getting the insets and calculating the useable
area does not work for non-fullscreen windows, since Android
is quite inconsistent in this respect. So in this case we
just use the window size and origin of 0,0 for the available
geometry.

4. Since we are touching this code anyway, this patch also tries to use
more consistent wording (calling it "available geometry" everywhere
instead of desktop geometry in some places and just geometry in
others, etc.)

[ChangeLog][Android] Qt::MaximizeUsingFullscreenGeometryHint window
flag is now supported, and will make the window fullscreen, but keep
the system UI on-screen, with a translucent background color.

Fixes: QTBUG-74202
Change-Id: I4cc5ef9cc2a3bd22d4d8d2bb767c6ff8a3aa75c0
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
2020-03-30 13:03:49 +01:00
Qt Forward Merge Bot 865afac250 Merge remote-tracking branch 'origin/5.15' into dev
Change-Id: Ibee5acec72a1a1769d4bc5f23f56c7dc8d4cf3cb
2020-03-11 15:34:21 +01:00
BogDan Vatra 519ea72108 Android: Bump gradle (plugin) versions
Move min & target sdk from AndroidManifest.xml to build.gradle

Fixes: QTBUG-70817
Change-Id: Id9bb9825a3232587e0255b2d3d6f0273c5f9b66a
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-03-04 18:02:35 +00:00
Lars Schmertmann 5ee1dac8d6 Finally remove splash.xml to fix a lint warning
Unused resources
----------------
src/android/java/res/layout/splash.xml:2:
The resource R.layout.splash appears to be unused

Fixes: QTBUG-72976
Change-Id: I8f23438503d21f3279e0577a9caac745810fffc3
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2020-03-04 16:31:13 +01:00
Eskil Abrahamsen Blomfeldt 5f1afeacf6 Android: Increase minimum API level to Android-23 / Android 6
There are certain APIs we need which cannot be used without this,
and in general it simplifies some code.

[ChangeLog][Android] Minimum Android version is now Android 6.0,
API level 23.

Change-Id: I72ca3b429bf48969e16e2bc6b99d9c4af993ea77
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2020-03-04 08:28:04 +01:00
Qt Forward Merge Bot 63312fe2ec Merge remote-tracking branch 'origin/5.15' into dev
Change-Id: If36d96c0fef3de5ab6503977501c55c62a2ecc97
2020-03-03 14:13:02 +01:00
Andy Shaw 7e5f38aec6 Android: Add support for getting information about content uris
This enables things like size(), exists() to work with Android content
uris with the provided uri given from a filedialog. It is expected that
it is always a full path due to the nature of content uris, so relative
paths will not work.

Change-Id: I9c9ea42833677eb9d937b33e9dd42ee2a7d9c7c5
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2020-02-28 16:37:34 +02:00
Qt Forward Merge Bot 75c0ffaf6d Merge remote-tracking branch 'origin/5.15' into dev
Conflicts:
	examples/network/bearermonitor/CMakeLists.txt
	examples/network/CMakeLists.txt
	src/corelib/tools/qlinkedlist.h
	src/sql/kernel/qsqldriver_p.h
	src/sql/kernel/qsqlresult_p.h
	src/widgets/kernel/qwidget.cpp
	src/widgets/kernel/qwidget_p.h
	tests/auto/network/socket/platformsocketengine/tst_platformsocketengine.cpp
	tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp
	tests/auto/tools/moc/allmocs_baseline_in.json

Change-Id: I21a3c34570ae79ea9d30107fae71759d7eac17d9
2020-02-26 18:39:21 +01:00
Assam Boudjelthia f36b042e2b Android: handle check permissions before any file operations
This is required because opening a Uri with no permissions can cause
crashes.
Some exceptions were not handled at all.

Change-Id: I2e8f9505879b9fc4c1c47bdfa1bf173b39ada3ea
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2020-02-17 19:05:20 +02:00
Liang Qi 6b2535ea15 Merge remote-tracking branch 'origin/5.15' into dev
Conflicts:
	examples/widgets/graphicsview/boxes/scene.h
	src/corelib/Qt5CoreMacros.cmake
	src/corelib/Qt6CoreMacros.cmake
	src/network/ssl/qsslsocket.cpp
	src/network/ssl/qsslsocket.h
	src/platformsupport/fontdatabases/windows/qwindowsfontenginedirectwrite.cpp
	src/testlib/CMakeLists.txt
	src/testlib/.prev_CMakeLists.txt
	tests/auto/corelib/tools/qscopeguard/tst_qscopeguard.cpp

Disabled building manual tests with CMake for now, because qmake
doesn't do it, and it confuses people.

Done-With: Alexandru Croitor <alexandru.croitor@qt.io>
Done-With: Volker Hilsheimer <volker.hilsheimer@qt.io>
Change-Id: I865ae347bd01f4e59f16d007b66d175a52f1f152
2020-02-13 18:31:40 +01:00
Assam Boudjelthia 77e8023eaf Android: use the correct string resources for ok and cancel
Fixes: QTBUG-76942
Change-Id: I0c0ccad4980a458ab291ca8ee533fadbedc90456
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2020-02-03 15:47:57 +02:00
Mike Achtelik 287b570ad5 Handle exceptions when accessing android clipboard
In some circumstances android throws an exception or returns null,
when trying to access the clipboard.

Fixes: QTBUG-80689
Change-Id: I92c134e2a002fc648ff966e15a19eb3307c428a1
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2020-01-31 14:02:53 +01:00
Leander Beernaert 502d3d6744 Merge remote-tracking branch 'origin/dev' into merge-dev
Change-Id: I31b761cfd5ea01373c60d02a5da8c33398d34739
2020-01-24 13:17:33 +01:00
Lars Schmertmann 34e467b481 Remove dead code to fix a lint warning
Obsolete SDK_INT Version Check
------------------------------
This check flags version checks that are not necessary,
because the minSdkVersion (or surrounding known API level)
is already at least as high as the version checked for.

The mindSdkVersion in templates/AndroidManifest.xml is 21 for Qt 5.14
and androiddeployqt also ensures that the minSdkVersion is not below 21.

Change-Id: I452de5b152f572efc69e6b292a8b15dbbfba639b
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
(cherry picked from commit b8e404f6d0631e04d30a864dc68b0574bfca90f1)
2020-01-09 08:04:41 +01:00
Leander Beernaert 373be4200b Add conversion code for Java code
Add support to pro2cmake to convert java code for android.

Add support to override API_LEVEL for the Android sdk jar file. If the
sdk is not found, we'll default to the one located by QT_ANDROID_JAR.

Change-Id: If0b746dc7f9148ac43e6592a4a4dd23d46bbd4cd
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-10-18 13:20:46 +00:00
Alexandru Croitor 440286655e Merge remote-tracking branch 'origin/dev' into wip/cmake
Change-Id: I4a78428a8ea273b6960792e3b8043f816fa37fcf
2019-10-14 17:46:34 +02:00
Alexandru Croitor f4b4c4f79b Merge remote-tracking branch 'origin/wip/qt6' into wip/cmake
Change-Id: I3a1d7673c3c20019ab12a2ea0a60f1619920a34c
2019-10-11 16:23:19 +02:00
Alexandru Croitor 319f81126b Annotate some projects that should not to be regenerated
Because they are completely custom written.

Change-Id: I2f3d2e82ebf037a7bf42b3112fe4282589322b0e
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-10-08 13:12:00 +00:00
BogDan Vatra c8b07f7da3 Android: Do not extract QML assets data
Instead to extract the assets QML file, we create a .rcc bundle file
which is register by android qpa plugin before the it invokes the main
function. Thsi way we avoid extracting the QML files from assets as they
can be accessed directly from resources.

[ChangeLog][Android] Instead of bundling QML resources in assets
and extracting them on first start, Qt now creates an .rcc file
and register it before invoking the main function.

Change-Id: Icb2fda79d82c5af102cc9a0276ff26bb0d1599e8
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2019-10-02 15:00:35 +00:00
BogDan Vatra fb09a8bfcf Android: rework assets support
The new version fix QDirIterators and it lists all the files and dirs.

Change-Id: I5a30eedb61ab2397a84365d00f308cda0c194de2
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2019-10-02 18:00:29 +03:00
BogDan Vatra 5bb178c479 Say hello to Android multi arch build in one go
Multi arch build in one go is need to support the new .aab packaging format.

By default the users apps are built for all Android ABIs: arm64-v8a armeabi-v7a x86_64 x86
The user can pass ANDROID_ABIS to qmake to filter the ABIs during development,
e.g. qmake ANDROID_ABIS="arm64-v8a armeabi-v7a" will build only for arm ABIs.

[ChangeLog][Android] Android multi arch build in one go,
needed to support the new .aab packaging format.

Change-Id: I3a64caf9621c2a195863976a62a57cdf47e6e3b5
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2019-08-26 12:59:15 +03:00
Alexandru Croitor c7ec7cd2a1 Merge branch 'wip/qt6' into wip/cmake
Change-Id: I50ac36b8803c296998149e98cc61e38687cdd14b
2019-08-15 16:53:19 +02:00
Alexandru Croitor 4dac45c9ee Merge remote-tracking branch 'origin/wip/qt6' into wip/cmake
Change-Id: I715b1d743d5f11560e7b3fbeb8fd64a5e5ddb277
2019-07-11 17:17:51 +02:00
Qt Forward Merge Bot 6fd20defb9 Merge remote-tracking branch 'origin/5.13' into dev
Conflicts:
	src/corelib/time/qdatetime.cpp
	src/widgets/widgets/qcombobox.h

Change-Id: Ib84352e8fe34aed2986a1c94e7346a46a71c803b
2019-07-10 10:39:33 +02:00
Nicolas Fella 5ca2b081fe [androidcontentfileengine] Catch SecurityException during file opening
resolver.openFileDescriptor throws a SecurityException when the caller doesn't have sufficient permissions to access the URL. This will make an application crash.

We should handle this case gracefully and report it to the user. I'm unsure if there is a better way to do this than simply logging the exception.

Change-Id: I36bfbd3e398c8176e57042a27740aa15bce63a7c
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2019-07-05 21:46:06 +02:00
Liang Qi d25c322729 Merge remote-tracking branch 'origin/5.13' into dev
Conflicts:
	src/network/ssl/qsslsocket_openssl.cpp
	src/platformsupport/vkconvenience/qvkconvenience.cpp

Change-Id: I97ce6ed185f7fdad8102cc58d3cfec0119fd7bb4
2019-07-01 10:21:37 +02:00
Qt Forward Merge Bot 134ee9d548 Merge remote-tracking branch 'origin/5.12' into 5.13
Change-Id: I4cb91777e7ae9f462fa219d5b9ebeb277fde49c3
2019-06-29 01:00:34 +02:00
BogDan Vatra 1e4dec12d5 Android: Stick with buildToolsVersion 28.0.3
On Windows buildToolsVersion 29.0.0 have problems, therefore,
it's better to use a version that we know it works on all platofrms.

Change-Id: I25cdea4b8101bfe5f022025fcd7cc4cbf358fa03
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2019-06-28 12:03:29 +03:00
Leander Beernaert 152b22a7b0 Android: Generate deployment-settings.json
Generate the android deployment settings json for android apk
targets. QtPlatformAndroid is now also deployed as a public
build dependency of QtCore. Some minor refactoring has been
performed to the naming of variables and functions to
better match the public facing apis.

Extra settings for the file can be configured using the
following target properties:

set_target_properties(Core
    PROPERTIES QT_ANDROID_DEPLOYMENT_DEPENDENCIES "foo;bar"
    QT_ANDROID_EXTRA_LIBS "foo;bar"
    QT_ANDROID_EXTRA_PLUGINS "foo;bar"
    QT_ANDROID_PACKAGE_SOURCE_DIR "/foo/bar/"
    )

The file is generated using the function
qt_android_generate_depoyment_settings().

We need to install the android template files and jar
files during the android build as the androiddeployqt tool
wont work if parts of it are split between the host
install and the android install.

Added QT_BUILD_QT variable to check whether we are building
Qt from source.

Finally, we also force the stdlib to shared via cmake
configuration with -DANDROID_STL="c++_shared"

Change-Id: I063c47e11749d56ba4c6f02101dbcc09e1b9fe87
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-06-12 07:21:01 +00:00
Leander Beernaert 04da0df568 Android: SDK Support
Enable building androiddeployqt when performing host builds only.
Added QtPlatformAndroid.cmake to locate Java and the setup the
android SDK platform when building on android.
Install the androiddeployqt support files when performing a host
build.
Added ANDROID_SDK_ROOT configuration variable for specifying the
android sdk directory.
Generating the deployment-settings.json will be done in another
change.

Change-Id: I1bf15315af4ed904d2fb1d22b0e8e834df32d6ed
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-06-05 14:20:31 +00:00
BogDan Vatra 743bc1254c Android: Fix resources folder
Resources are usually needed to add extra stuff to apk lib/<arch> which normally
are stripped by gradle.

Change-Id: Id96ce246fdc2a4606e39ecfb75d5b3294aad3c08
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2019-05-29 09:42:53 +03:00
Qt Forward Merge Bot f8212b87d9 Merge remote-tracking branch 'origin/5.12' into 5.13
Change-Id: I0c00ffe0eabebc919f22d6faa4bf958b288e8fd9
2019-05-12 01:00:08 +02:00
Vova Mshanetskiy 341c910688 Android: Fix wrong height of text editor context menu in some locales
Combined width of all four buttons (cut, copy, paste, select all) is
greater than width of the screen in some locales and/or on some devices.
This was causing width of the last button to be set to zero and height
of the whole popup to grow too much due to word wrapping in the last
button. The context menu used to look something like this then:

  Cut    Copy    Paste    S
                          e
                          l
                          e
                          c
                          t

                          a
                          l
                          l

This commit disables word wrapping and enables text ellipsizing for
button labels. This fixes height of the popup. In the long term though
Qt will probably have to implement an overflow button like in Android's
built context menu.

The linked bug report contains before and after screenshots.

Fixes: QTBUG-72933
Change-Id: I8e270dbf8ca66f99748cdc531a77e11a5ab11c2b
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2019-05-10 20:24:07 +00:00
Liang Qi 166889ddcb Merge remote-tracking branch 'origin/5.12' into 5.13
Conflicts:
	src/corelib/kernel/qobject.cpp

Change-Id: I8ca1163a1fa8072dcd16ea4426c58219149599fd
2019-05-02 09:39:31 +02:00
Vova Mshanetskiy 5f4b03659b Android: Fix positioning of text editor context menu
The old code in QtActivityDelegate.updateHandles() and
EditPopupMenu.setPosition() could use size of EditPopupMenu.m_view to
calculate position of context menu before that size was calculated
during an asynchronous layout pass. In particular m_view reports size
0x0 when context menu is opened for the first time after start of the
application. In this case the context menu was displayed on top of the
text editor instead of being displayed above it.

This patch fixes that problem by moving all positioning code from
QtActivityDelegate.updateHandles() to EditPopupMenu.setPosition() and
adding an OnLayoutChangeListener which calls setPosition() again each
time the size of m_view changes, including when it changes for the first
time from 0x0 to a real value.

Change-Id: I670fef811a4dcba5524f7520ea41a47978dd10f1
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2019-05-01 12:11:04 +00:00
Vova Mshanetskiy a04629d9c2 Android: Fix positioning of selection handles in text editors
The old code used size of m_cursorView to calculate position of the
cursor handle popup. But since on Android layout process is
asynchronous, both width and height of m_cursorView was 0 upon first
call to setPosition(). This resulted in selection handles being
initially displayed at a wrong position for a fraction of second and
then quickly moving to the correct position. In some cases handles
stayed at the wrong position until touched by user.

This patch replaces use of m_cursorView's size with use of m_popup's
size. Width and height of m_popup may be used immediately because they
are explicitly assigned in initOverlay(). The size of m_popup should be
always equal to the would-be size of m_cursorView because of how it is
calculated.

Change-Id: I9868c9a5ce0103d8328b2478cf82feaceba7f404
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2019-05-01 12:10:50 +00:00
Qt Forward Merge Bot 19510477b4 Merge remote-tracking branch 'origin/5.12' into 5.13
Change-Id: Ie7f68dcd5650e0037b6c3313cc9ffdcd7c494fbe
2019-03-21 01:00:07 +01:00
Eskil Abrahamsen Blomfeldt 12978d4ad0 Android: Support for separate landscape/portrait splash screens
To get appropriate aspect ratios for the splash screen, you usually
need separate drawables for the portrait and landscape versions.

We support this by adding two new meta data entries that can be used.
If they are not available, we will fall back to the generic one,
so we are still compatible with existing AndroidManifest.xmls.

[ChangeLog][Android] Added entries in the AndroidManifest.xml for
specific portrait and landscape splash screens. If one is present
for the current orientation, it will be preferred over the generic
one.

Task-number: QTBUG-74029
Change-Id: I5ffea56320aef85f62f21a59df4d077b4163a65a
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2019-03-20 13:57:12 +00:00
Val Doroshchuk 1d58d2e987 Android: Use DisplayListener to detect rotation
Since Activity's onConfigurationChanged is not called
when rotating from landscape to landscape (through 180 degrees),
added display listener to detect the rotation.

DisplayManager.DisplayListener.onDisplayChanged() is called exactly when
Display.getRotation() value is changed.

Task-number: QTBUG-56919
Change-Id: Iabf376adf0a0756dddacaece62e5a2ac604ea947
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2019-03-06 12:36:58 +00:00
Qt Forward Merge Bot 607338f98f Merge remote-tracking branch 'origin/5.12' into 5.13
Change-Id: I83f6ed9480bf21020ce7a9431010d87a88df84a1
2019-03-02 01:00:08 +01:00
Andy Shaw 11c728713f Android: Show correct keyboard when using Gboard and Japanese layout
In 71a63836ed a workaround for Samsung
devices using ImhNoPredictiveText was included as there is a bug on
those devices. However this causes a problem with other keyboards such
as Gboard when using languages such as Japanese, as it would not show
the right keyboard at all and only showed a qwerty one in those cases.

Therefore we default to not working around the issue as it is more of a
problem to not allow certain keyboard layouts as opposed to having
predictive text even if it is turned off. For those who want to disable
predictive text and as such have the consequences of not showing some
keyboard layouts, they can set the
QT_ANDROID_ENABLE_WORKAROUND_TO_DISABLE_PREDICTIVE_TEXT environment
variable.

[ChangeLog][Platform Specific Changes][Android] Text fields with
ImhNoPredictiveText set are no longer working around keyboards that
disregard this setting. To enforce the workaround then the environment
variable - QT_ANDROID_ENABLE_WORKAROUND_TO_DISABLE_PREDICTIVE_TEXT
should be set.

Change-Id: I9ace7ba96ebad68987b53783e25067b66c002f25
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
2019-02-28 13:52:55 +00:00
Liang Qi c0359bd3c3 Merge remote-tracking branch 'origin/5.13' into dev
Conflicts:
	src/corelib/global/qfloat16.cpp
	src/corelib/global/qfloat16.h
	src/plugins/platforms/windows/qwindowswindow.cpp

Change-Id: I0938aaa6a9771f55e48c95ed29f6f5291431b947
2019-05-15 07:11:41 +02:00
Liang Qi c2b553784d Merge remote-tracking branch 'origin/5.13' into dev
Conflicts:
	src/corelib/kernel/qobject.cpp
	src/corelib/kernel/qvariant.h
	src/corelib/tools/qlist.h

Done-With: Milian Wolff <milian.wolff@kdab.com>
Done-With: Allan Sandfeld Jensen <allan.jensen@qt.io>
Change-Id: I6803f7239aa137a51a7467fab7cc7a01302a848d
2019-05-07 11:58:30 +02:00
Rob Samblanet 327c8a805e android: Properly indicate successful Qt install
This patch ensures that installed files are written to physical disk
before the 'cache.version' file is written.

QtLoader.java uses the 'cache.version' file written during
self-installation to indicate whether re-installation is necessary.
The 'cache.version' file, however, was being written at the start of
installation, so its existence merely indicated that the installation
was attempted. In the case of power loss during installation, the
existence of 'cache.version' would prevent retrying installation on the
next launch, so the bad installation was irrecoverable.

[ChangeLog][Android] Fixed an issue where an application installation
would be irrecoverably broken if power loss or a crash occurred during
its first initialization run.

Fixes: QTBUG-71523
Change-Id: If771b223a0a709a994c766eea5a4ba14ae95201e
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2019-04-15 17:08:54 +00:00
Qt Forward Merge Bot 64085d9b2f Merge remote-tracking branch 'origin/5.12' into 5.13
Change-Id: I9e7cb1b131b7b216aad8ed1b1536669fd1557c21
2019-02-22 01:00:27 +01:00
Lars Schmertmann 01f07fd2d1 Rename the Indonesian Android translation folder to fix a lint warning
Wrong locale name
-----------------
From the java.util.Locale documentation:
"Note that Java uses several deprecated two-letter codes. The Hebrew ("he")
language code is rewritten as "iw", Indonesian ("id") as "in", and Yiddish
("yi") as "ji". This rewriting happens even if you construct your own Locale
object, not just for instances returned by the various lookup methods.

Because of this, if you add your localized resources in for example values-he
they will not be used, since the system will look for values-iw instead.

To work around this, place your resources in a values folder using the
deprecated language code instead.

See also:
http://www.apps4android.org/?p=3695
https://issuetracker.google.com/issues/36908826

Change-Id: I726c43f282156b21e8d6b073029f3c3b8fd42a30
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2019-02-21 13:49:55 +00:00
Qt Forward Merge Bot 0c0c4a23bc Merge remote-tracking branch 'origin/5.12' into 5.13
Change-Id: I830beea26863323ab78a5d4b093f7763d77ad3da
2019-02-21 01:00:08 +01:00
Lars Schmertmann 5c014a48dc Add missing translations for Android
Task-number: QTBUG-72895
Change-Id: Ia9f6d0809c1d8f408a0818367ceb96599c13cbca
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Reviewed-by: Sergey Belyashov <Sergey.Belyashov@gmail.com>
Reviewed-by: Takumi ASAKI <takumi.asaki@gmail.com>
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2019-02-20 06:39:30 +00:00
BogDan Vatra 3c74042c3d Load main library as soon as possible
Delaying the main library load cause serious problems for people who want
to access it's functions from java before the main method is called.

Change-Id: I87f3a8282003395e003b06978048762eeabe6548
Fixes: QTBUG-68813
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2019-02-19 10:14:17 +00:00
Volker Krause 7d2d1eb9e0 Add file engine for Android content URLs
The "file dialog" on Android returns such URLs, which so far required
special-casing this in application code. With this change QFile can
consume those URLs directly.

Change-Id: I489c0db112cf1dc7497e7a90f0e9a79ea8fa5237
Reviewed-by: Nicolas Fella <nicolas.fella@kdab.com>
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Reviewed-by: Aleix Pol Gonzalez <aleixpol@kde.org>
2019-02-13 10:31:59 +00:00
Liang Qi fbfacd33be Merge remote-tracking branch 'origin/5.12' into 5.13
Conflicts:
	src/android/templates/AndroidManifest.xml
	src/network/ssl/qsslsocket_mac.cpp
	src/widgets/styles/qstylesheetstyle.cpp
	tests/auto/corelib/kernel/qtimer/BLACKLIST
	tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp
	tests/auto/testlib/selftests/expected_blacklisted.lightxml
	tests/auto/testlib/selftests/expected_blacklisted.tap
	tests/auto/testlib/selftests/expected_blacklisted.teamcity
	tests/auto/testlib/selftests/expected_blacklisted.txt
	tests/auto/testlib/selftests/expected_blacklisted.xml
	tests/auto/testlib/selftests/expected_blacklisted.xunitxml
	tests/auto/testlib/selftests/expected_float.tap
	tests/auto/testlib/selftests/expected_float.teamcity
	tests/auto/testlib/selftests/expected_float.txt
	tests/auto/testlib/selftests/expected_float.xunitxml

Done-With: Christian Ehrlicher <ch.ehrlicher@gmx.de>
Done-With: Edward Welbourne <edward.welbourne@qt.io>
Done-With: Timur Pocheptsov <timur.pocheptsov@qt.io>
Change-Id: If93cc432a56ae3ac1b6533d0028e4dc497415a52
2019-02-08 12:31:02 +01:00
Andy Shaw 9435526d50 qmake: Add variables for setting the version number and name in Android
This makes it much easier to have the version information set for an
Android APK without having to manually modify the AndroidManifest.xml
each time.

[ChangeLog][Android][qmake] Can now set the version name and code for
Android using ANDROID_VERSION_NAME and ANDROID_VERSION_CODE respectively
in the pro file.

Change-Id: Ie6813bc3a7444f7baa5e772b93bc2695d9b81e57
Done-with: Markus Maier <markus.maier@rosenberger.de>
Reviewed-by: Markus Maier <markus.maier@rosenberger.de>
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2019-02-04 16:57:07 +00:00
BogDan Vatra 72b9574227 Remove "/data/local/tmp/qt/" support
Google removed this support long tima ago, also we removed it from QtCreator.

Change-Id: I326da09e9e57f655eecfd1f25f39b4bd9c6784d1
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2019-01-31 16:10:39 +00:00
Lars Schmertmann aa98e6eabe Add a string to the Android manifest to fix a lint warning
Unused resources
----------------
Unused resources make applications larger and slow down builds.

Amends e3689949ba. The string
was introduced there but not added to the manifest.

Task-number: QTBUG-72895
Change-Id: Id07e02074feb15ace2c99e6ace51d8fe407877fa
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2019-01-29 20:08:46 +00:00
Liang Qi 980567b3a3 Merge remote-tracking branch 'origin/5.12' into dev
Conflicts:
	src/android/templates/AndroidManifest.xml
	tests/auto/widgets/styles/qstylesheetstyle/tst_qstylesheetstyle.cpp

Change-Id: I4c9679e3a8ebba118fbf4772301ff8fde60455b9
2019-01-26 08:35:40 +01:00
Eskil Abrahamsen Blomfeldt e0dc6dce22 Android: Set minimum supported version to android-21
With the current distribution, this is 90% of active devices, and
it was released in 2014. Qt 5.12 is LTS and will continue to support
older Android versions for a long time to come.

This is to reduce the testing needed on outdated platforms and
allow ourselves to use some newer APIs unconditionally in Qt.
Android 21 was chosen because it is the minimum version that supports
64 bit builds.

[ChangeLog][Android] Increased the minimum supported Android version
to Android 5.0 (API level 21).

Fixes: QTBUG-70508
Change-Id: Ia7b4345e42ca05a25a292f11ccbb8cbd692cf8f0
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2019-01-23 15:21:56 +00:00
Lars Schmertmann a905d9d91c Reorder the elements of the Android manifest to fix a lint warning
Incorrect order of elements in manifest
---------------------------------------
The <application> tag should appear after the elements which declare which
version you need, which features you need, which libraries you need, and so on.
In the past there have been subtle bugs (such as themes not getting applied
correctly) when the <application> tag appears before some of these other
elements, so it's best to order your manifest in the logical dependency order.

Change-Id: I647c6eed71b678f4df65a00fbd51135b93959e11
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2019-01-23 14:20:21 +00:00
Qt Forward Merge Bot e3da05f39a Merge remote-tracking branch 'origin/5.12.1' into 5.12
Change-Id: Icebd151eae0cf9d400319a42573290d1a911ce26
2019-01-23 10:13:29 +01:00
Vyacheslav Koscheev 83aa70f0ca Android: fix NPE on m_editPopupMenu
Change-Id: Id6d4aea91d621194cf85f604b1b9acdc916bede1
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2019-01-17 03:19:17 +00:00
Liang Qi 0e96b5fe48 Merge remote-tracking branch 'origin/5.12' into 5.12.1
Conflicts:
	src/widgets/kernel/qtooltip.cpp

Change-Id: Ic2f9a425359050eb56b3a4e5162cf5e3447058c8
2019-01-08 09:34:24 +01:00
BogDan Vatra da43362921 Fix libs dir location on arm64
On Android arm64 the native libs are not in /data/app/../libs/... anymore but they are moved
to some random location, so, trying to load the libs from old location will fail.

Fixes: QTBUG-72616
Fixes: QTBUG-71027
Change-Id: I70263c8ae2d014999fbc78f40bd9b7d04d31d1dd
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2019-01-07 12:00:49 +00:00
Volker Krause 2f4eea5b9c Also integrate Android AAR libraries
This works in the same way as JARs are currently provided by dependencies,
and becomes necessary when needing e.g. the Android support/compat libs
for implementing the Java side of a library.

While this is not relevant (yet?) for Qt itself, we hit this with KDE's
notification framework.

Change-Id: Ia87d1a048a493f7bc311abf5761f33d1943cfbe9
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2019-01-05 15:52:56 +00:00
Andy Shaw 4aac07d023 Android: Add support for setting/getting html and uris from clipboard
This also updates the used API to use ClipData and not the deprecated
ClipboardManager API.

[ChangeLog][Platform Specific Changes][Android] QClipboard now supports
HTML and URI data.

Fixes: QTBUG-47835
Fixes: QTBUG-71503
Change-Id: I43f82bfc63b3d159087c0fb6c840c186a370e20c
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2018-12-21 13:25:54 +00:00
Qt Forward Merge Bot aec026fe1e Merge remote-tracking branch 'origin/5.12.0' into 5.12
Change-Id: I54b4c14bed5150d3034ac87907a09254fd78face
2018-12-05 09:18:01 +01:00
BogDan Vatra 13ed06640c [Android] Fix the ability to override environment and arguments
This mechanism should only be enabled only for debug deployments, but
the check was removed by accident in ca139228ab.

Fixes: QTBUG-72230
Fixes: QTBUG-72132
Change-Id: I3378436e93314fdf254919aed066f1284a4581b3
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2018-12-03 11:15:26 +00:00
André Klitzing be92e67fbf Add log output if library does not exists
Any other method logs this here, too. This helped
to find the problem of QTBUG-71027.

Change-Id: I2d1f6199837d778ada62dac357764b0609e99692
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2018-11-21 05:36:31 +00:00
BogDan Vatra 60197af485 Android: Fix build.gradle
Configuration 'compile' is obsolete and has been replaced with
'implementation' and 'api'.
It will be removed at the end of 2018. For more information
see: http://d.android.com/r/tools/update-dependency-configurations.html

Task-number: QTBUG-71570
Change-Id: I6f498d8cb3ff01ad641aee697496e3dc56059a72
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2018-11-05 12:49:17 +00:00
Christian Strømme 7f079bf9d0 Android: Update the targetSdkVersion in the manifest to 28
Change-Id: I9fe8117ed75f82638b6a03166434bf83e23f166f
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2018-10-08 11:14:03 +00:00
Christian Strømme 52813712c4 Default to no style extraction on Android P when the target SDK is < 28
Applications with target SDK version lower then 28 running on a device
with version greater or equal to 28 will cause compatibility warnings,
so default to none when the extract_android_style value is set to
default.

Note that the new value "default" was introduced to allow this kind
of changes in the future, i.e., selecting the best solution based on
some simple heuristics. Adding a new value also keep compatibility and
allows the user to explicitly set a value when needed.

Task-number: QTBUG-69810
Change-Id: I68301716767870ce6de40e45742d9c5fc263ee25
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2018-10-08 11:14:01 +00:00
BogDan Vatra 18be2337ea Android: bump android gradle plugin version
Needed to fix "No toolchains found in the NDK toolchains folder for ABI
with prefix: mips64el-linux-android"

Change-Id: I62d9bae0bf424bb9ba32adce98426245922a841b
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2018-10-02 06:59:13 +00:00
Michael Dippold c80611a459 Android: Support mouse hover
Android supports hover events through the generic motion event. Routed
mouse events to specific mouse handler.

Task-number: QTBUG-42799
Change-Id: Iee17c71c09d84f52235e66ec08c65ffa30ec9cd9
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2018-07-13 17:20:34 +00:00
Qt Forward Merge Bot 875731368a Merge remote-tracking branch 'origin/5.11' into dev
Change-Id: I8d8b03ea46c537b091b72dc7b68aa6aa3a627ba6
2018-05-29 01:00:09 +02:00
Samuel Gaist 56b04fe42f Add translation for unsupported_android_version for fr and de
More recent versions of Android lint triggers an error when a
translation is missing. The solution is to either provide translations
for all languages supported or add translatable="false" as property to
the strings that are not yet fully translated.

Task-number: QTBUG-63952
Change-Id: I5afa8a23d3e2285b5c93ee493d9b02397c328f2d
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2018-05-25 06:50:40 +00:00
Liang Qi f82e508516 Merge remote-tracking branch 'origin/5.11' into dev
Conflicts:
	mkspecs/features/qt_common.prf
	src/corelib/tools/qstring.cpp
	src/plugins/platforms/windows/qwindowsmousehandler.cpp
	src/widgets/widgets/qmainwindowlayout_p.h

Change-Id: I5df613008f6336f69b257d08e49a133d033a9d65
2018-05-24 16:29:14 +02:00
BogDan Vatra ca139228ab Remove old debugging hack
Starting with QtCreator 4.6.1* we introduce a new way to debug Qt on Android apps,
which doesn't need this support anymore.
Of course to debug Qt 5.12+ the user must use QtCreator 4.6.1+

* 429c596395697ff3533e679a848ad26cd1ee97cb

[ChangeLog][Android] Remove old debugging way. To be able to debug Qt on Android apps
the user must use QtCreator 4.6.1+

Change-Id: I16d08312628c9afb7cfa47eb906b25a87af5ba55
Reviewed-by: hjk <hjk@qt.io>
2018-05-15 13:58:27 +00:00
Thiago Marcos P. Santos f148580e72 Fix Android loader
Invalid syntax due to missing closing brackets and
exception not being handled when calling .close()
on a stream.

Change-Id: If8f191fbc44fe1b031fd86abff5163bca434156a
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2018-05-14 16:07:41 +00:00
Qt Forward Merge Bot ba2b7b8e33 Merge remote-tracking branch 'origin/5.11' into dev
Change-Id: Ib58433da04bffb5dfab5486b80f17f39cc4145fa
2018-05-05 01:00:55 +02:00
André Klitzing 5269f6d55e Avoid to fail to close stream on exception
Move .close() to finally block.
Found by spotbugs.

Change-Id: I1d11f52c79e805082f05801e4ef0ec94c6dc4e6e
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2018-05-04 13:08:31 +00:00
BogDan Vatra 8379186009 Android: rewrite edit context menu
- get rid of the old tool bar with edit controls which was also dropped
by Google after they realized that is not intuitive at all.
 - we now introduce a nice context menu as we see in modern Android
devices. This menu works on all Android devices starting with API 16.

[ChangeLog][Android] Say hello to Android edit context menu

Change-Id: I00d0d83fe8876335c72d7b183db4c1b53746d6b7
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2018-04-15 18:00:34 +00:00
BogDan Vatra 5daaafa084 Update gradle files
Change-Id: I7324082ef9eb19cb0851a0a53e8e41ee8f174210
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2018-03-23 10:30:52 +00:00
BogDan Vatra 288a2ada5b Refactor cursor & selection handles
- turn CursorHandleShowMode in a QFlag for better control
- add ScopedValueChangeBack which is useful to control m_blockUpdateSelection
- implement longPress word selection

Change-Id: Ieed709644db991e10077d5be5d5a59f16f4fc3a8
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2018-03-14 18:24:18 +00:00
Qt Forward Merge Bot 954fe2c35d Merge remote-tracking branch 'origin/5.11' into dev
Change-Id: Ifce6ddeb4dab8c672732ec6aa6c19a6c4bce447e
2018-03-05 13:15:31 +01:00
André Klitzing 2203bb580d Remove unused variable
Found by spotbugs.

Change-Id: I0aa81e45ced0a995adb5e4a45be925e5ef219a77
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2018-03-05 08:49:36 +00:00
Eskil Abrahamsen Blomfeldt 70057dfc0e Android: Don't kill app when SIM card or density changes
This adds subscription to additional config changes on Android to
avoid the application automatically restarting when the SIM card is
replaced or the logical density of the screen is changed (as a result
of the user changing it in settings).

These restarts are especially problematic when using Qt in a
home screen application due to the way they are launched.

[ChangeLog][Android] Avoid the system restarting application when
user replaces SIM card or changes the logical density of the screen.

Task-number: QTBUG-63735
Change-Id: Iba85fe6239b2d29b543b3c4e2f953efb9b54f713
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2018-03-05 07:55:15 +00:00
André Klitzing 7fda40effa Avoid infinite recursive loop
Looks like this should be "super." instead of "super_"
Found by spotbugs.

Change-Id: I83d096eee332361d62e783581bfa15017536081d
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2018-03-03 08:53:41 +00:00
Andy Shaw ccdcf8c4f2 Android: Close the DataOutputStream when we are finished with it
Task-number: QTBUG-66769
Change-Id: I93c49baa0ccab4f853402d9be675af1c50b2e0c1
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
2018-03-02 08:12:37 +00:00
Liang Qi 305dd1b61f Merge remote-tracking branch 'origin/5.9' into 5.11
Conflicts:
	.qmake.conf
	src/corelib/animation/qvariantanimation.cpp
	src/corelib/global/qglobal.cpp
	src/corelib/global/qlogging.cpp
	src/corelib/io/qprocess_win.cpp
	src/corelib/json/qjsonarray.cpp
	src/corelib/tools/qsimd_p.h
	src/corelib/tools/qtimezoneprivate_p.h
	src/corelib/xml/qxmlstream_p.h
	src/gui/kernel/qsimpledrag.cpp
	src/gui/kernel/qsimpledrag_p.h
	src/plugins/generic/generic.pro
	src/plugins/platforms/cocoa/qcocoamenu.mm
	src/widgets/styles/qmacstyle_mac.mm
	tests/auto/concurrent/qtconcurrentmap/BLACKLIST
	tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp
	tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp
	tests/auto/gui/kernel/qwindow/BLACKLIST
	tests/auto/widgets/dialogs/qmessagebox/BLACKLIST

Change-Id: I508d686cf20f7f8cc6a7119b9bc7c3bbb505c58e
2018-02-14 12:51:24 +01:00
BogDan Vatra 2c9dcfa004 Load Qt libs from Qt thread
[ChangeLog][Android] The application and dependent Qt libraries are
now loaded on the same thread as main() is run on, ensuring that global
static initializers, constructor functions, and main() are all run on the
same thread. The same applies during application shutdown, for destructors
of global objects, and destructor functions.

Change-Id: Id4bfece1ed2a0532ed2e8fb7d8ffd6e55d5a10dc
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2018-02-11 12:35:29 +00:00
BogDan Vatra f3397ec659 Don't update the position if the handle was not first pressed
Change-Id: If09a2ca954a3bfca00b5a0839fea2899e7576c1d
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
2018-01-27 09:37:07 +00:00
BogDan Vatra b1fb4f8261 Move selection handles 1mm down
This way the user will not cover with his finger the text with the cursor/selection.
Set the tolerance to 0.5mm which is less then the width of the thinnest letters (e.g. i, I, l)

Change-Id: Ia5d50bd3f4fe79c89d01b3d7f5e5c22e94e8158b
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
2018-01-27 09:36:48 +00:00
Lars Knoll 0f315adf91 Merge remote-tracking branch 'origin/5.10' into dev
Conflicts:
	.qmake.conf
	sc/corelib/io/qfsfileengine_p.h
	src/corelib/io/qstorageinfo_unix.cpp
	src/platformsupport/eglconvenience/qeglpbuffer_p.h
	src/platformsupport/input/libinput/qlibinputkeyboard.cpp
	src/platformsupport/input/libinput/qlibinputpointer.cpp
	src/plugins/platforms/cocoa/qcocoamenu.mm
	src/plugins/platforms/ios/qiosscreen.h
	src/plugins/platforms/ios/qioswindow.h
	src/plugins/platforms/ios/quiview.mm
	src/printsupport/dialogs/qpagesetupdialog_unix_p.h
	src/printsupport/dialogs/qprintpreviewdialog.cpp
	src/printsupport/widgets/qcupsjobwidget_p.h
	src/widgets/widgets/qmenu.cpp
	tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp
	tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp

Change-Id: Iecb4883122efe97ef0ed850271e6c51bab568e9c
2018-01-02 09:58:44 +01:00
Lars Knoll db92f2f3aa Merge remote-tracking branch 'origin/5.9' into 5.10
Conflicts:
	.qmake.conf
	mkspecs/win32-g++/qmake.conf
	src/corelib/global/qglobal_p.h
	src/corelib/global/qoperatingsystemversion_p.h
	src/corelib/io/qfilesystemengine_win.cpp
	src/network/bearer/qbearerengine.cpp
	src/platformsupport/input/libinput/qlibinputpointer.cpp
	src/sql/doc/snippets/code/doc_src_sql-driver.cpp
	src/widgets/kernel/qwidget_p.h
	src/widgets/kernel/qwidgetwindow.cpp
	src/widgets/styles/qfusionstyle.cpp
	tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp

Change-Id: I80e2722f481b12fff5d967c28f89208c0e9a1dd8
2017-12-30 12:09:53 +01:00
Michael Dippold dbabe27b5b Android: Support caps lock
MetaKeyKeyListener augments the meta state of the keyboard, we need
to also check the KeyEvent.getMetaState().

Task-number: QTBUG-61369
Change-Id: I07a5d7b1b741a958bc94e1f1677dc1f2256220b6
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2017-12-08 18:22:51 +00:00
Liang Qi 812bb236dd Merge remote-tracking branch 'origin/5.10.0' into 5.10
Change-Id: I6dcf85067ec226136c207ea69ca9d66736c84db5
2017-12-08 13:56:17 +01:00
Liang Qi 53b141dceb Merge remote-tracking branch 'origin/5.9' into 5.10
Conflicts:
	src/plugins/platforms/ios/quiview.mm

Change-Id: I88384c70047391c75d9ff166c8d9881ff6751dbf
2017-12-05 13:37:21 +01:00
J-P Nurmi 50117d738a Android: use a canonical data dir for Qt environment variables
ApplicationInfo.dataDir holds "/data/user/0" (Blackberry PRIV running
Android 6.0.1), which is in fact a soft link to "/data/data". This
directory is used as a prefix for various Qt environment variables,
including QML2_IMPORT_PATH, which in turn is used for resolving QML
type URIs, looking up Qt Quick Controls 2 styles, and so on. The QML
engine is not happy with "/data/data" and "/data/user/0" being wildly
mixed for QML types in the same module. Use the canonical path instead
to avoid such conflicts.

Change-Id: I1fd45736728ee662942d7ef48c3fbc553981c59b
Task-number: QTBUG-64868
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2017-11-30 13:49:46 +00:00
Liang Qi 87204c856a Merge remote-tracking branch 'origin/5.10' into dev
Conflicts:
	src/corelib/thread/qsemaphore.cpp
	tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp
	tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp

Change-Id: Id35b535e88df63fdfe4007ea92ed4a39c4b6d707
2017-11-30 09:16:58 +01:00
J-P Nurmi 41667f7f14 Android: fix scrolling using a touch keyboard on Blackberry
This is a follow-up commit to 97eec16e.

Blackberry tries sending touchpad events first, and if not consumed,
it sends synthetic mouse wheel events as a fallback. This makes touch
keyboard scrolling work in native Android ListViews and other views
that do not handle SOURCE_TOUCHPAD motion events. Qt apps, however,
blindly accepted all generic motion events, so synthesized mouse wheel
events were never sent. => Make QtSurface & QtNative accept only those
motions events that are actually handled.

Task-number: QTBUG-51165
Change-Id: Iefbbf1e3e1cc3da86afc4c87c19671cc6c5fa145
Reviewed-by: Kai Uwe Broulik <kde@privat.broulik.de>
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2017-11-28 22:21:42 +00:00
Liang Qi 1139be7b30 Merge remote-tracking branch 'origin/5.9' into 5.10
Change-Id: Iede384644c3df5ee01b701806dfdb586dd6bb138
2017-11-28 11:23:35 +01:00
Liang Qi 7e360ccd4e Merge remote-tracking branch 'origin/5.9.3' into 5.10.0
Change-Id: I3224e0b877ec24b587e299083feb793518b0568c
2017-11-21 10:58:21 +01:00
BogDan Vatra 4d8ae444c2 No debugging and extra env & params processing on sealed packages
A "sealed" package is a *release build and signed* Qt for Android package
with no debugging capabilities.
By default sealed packages have no debugging capabilities, but the user
can force debugging capabilities also on a sealed package. This is useful
in corner cases when the user really needs to debug a sealed package.

Change-Id: I840526092556067f2659facf1525861bbabe0edd
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2017-11-16 05:15:28 +00:00
Jake Petroules cab060631c Android: remove support for local/debug deployment
This removes the pre-dexed JAR files activated by the absence of the
bundled_jar_file CONFIG option, as versions of Android >= 5 no longer
support this deployment mechanism.

Now, the "bundled" JARs simply become normal JARs containing class
files, and are neither activated by a bundled_jar_file CONFIG entry nor
do they have a -bundled suffix in the file's base name.

Task-number: QTBUG-62995
Change-Id: I3fa6819259be365b7a697f7db1d1d01a94032395
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2017-09-06 18:21:02 +00:00
BogDan Vatra 4f7507c523 Forward Service.onBind notification to Qt
It is needed to implement Android Binder in Qt.

Change-Id: I8f6f8ef778f97a444a1b16d6f62e211e188b65cc
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2017-07-04 18:38:19 +00:00
Anton Miller 57a77fe775 Android: Allow deploying Qt apps as system apps
The main app shared library and shared dependencies are not automatically
deployed when the apk is placed in /system/app or /system/priv-app. In
such cases, we need to place these libraries in /system/lib and tell
QtLoader to load them from here. It is possible to specify a custom
library path in AndroidManifest.xml.

[ChangeLog][Android][QtLoader] Enabled loading shared libraries from
/system/lib or a custom path specified with the
android.app.system_libs_prefix metadata variable in AndroidManifest.xml.
This allows deploying Qt apps as Android system apps.

Change-Id: I8388e91a53475b06a027467face45c08f096fbf8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Anton Kudryavtsev <antkudr@mail.ru>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2017-06-28 12:11:46 +00:00
Liang Qi ce09ef4313 Merge remote-tracking branch 'origin/5.9' into dev
Conflicts:
	src/corelib/io/qprocess_unix.cpp
	src/corelib/io/qprocess_win.cpp
	src/plugins/platforms/android/qandroidplatformintegration.h
	src/plugins/platforms/windows/qwindowscontext.cpp
	src/plugins/platforms/windows/windows.pri
	src/tools/uic/cpp/cppwriteinitialization.cpp
	src/widgets/doc/src/widgets-and-layouts/gallery.qdoc

Change-Id: I8d0834c77f350ea7540140c2c7f372814afc2d0f
2017-06-19 16:12:34 +02:00
J-P Nurmi 97eec16e4f Android: fix missing wheel events
Change-Id: I65b4f6a8fcbdad537a984064e332a4a1f34a265a
Task-number: QTBUG-43669
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2017-06-18 12:59:14 +00:00
BogDan Vatra ea568c310d Android: Fix RTL selection handles directions
Invert the selection handles icons when the selected text is rtl.

Task-number: QTBUG-61073
Change-Id: I8339a14d1e4d9e79d218516daf3ac783911f6026
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2017-06-13 04:00:16 +00:00
Liang Qi d1ea481345 Merge remote-tracking branch 'origin/5.9' into dev
Conflicts:
	src/network/access/qnetworkreply.cpp
	tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp

Change-Id: Iadf766269454087e69fb216fc3857d85b0ddfaad
2017-05-07 13:08:18 +02:00
Oleg Yadrov e2e874415e QClipboard: make dataChanged() signal work on Android
This part has not been implemented before.

Also replace deprecated android.text.ClipboardManager with modern
android.content.ClipboardManager.

Task-number: QTBUG-58548
Change-Id: I190208042af8a6c87ed391c6c72f3f51e58dfad3
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2017-05-04 19:43:33 +00:00
BogDan Vatra 0fefed996c Fix different look when running the application second time
The problem was introduced in Qt 5.7.

Task-number: QTBUG-60297
Change-Id: I46265b24e104e08fe5b8026e5441514a438582c9
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
2017-05-03 09:43:12 +00:00
BogDan Vatra c76918b2b2 Use gdbserver command from a safe place
Removed support for old QtCreator versions (pre 3.5)

Change-Id: I5ec0e965c09c8a76810144b133af3395e32fddfa
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2017-04-25 08:07:49 +00:00
Liang Qi 7950b6b283 Merge remote-tracking branch 'origin/5.9' into dev
Conflicts:
	src/corelib/tools/qbytearray.h
	src/corelib/tools/qdatetime.h
	src/corelib/tools/qstring.h
	src/corelib/tools/qversionnumber.h
	src/plugins/platforms/android/qandroidplatformintegration.cpp
	tests/auto/corelib/tools/qhashfunctions/tst_qhashfunctions.cpp

Change-Id: Iefd92a435e687a76cd593099e40d9a9620a1454d
2017-04-20 12:31:27 +02:00
Liang Qi 94c576cf66 Merge remote-tracking branch 'origin/5.8' into 5.9
Change-Id: I3bd83a839b16822035ed56a5cffe77bd6bc3f08d
2017-04-12 20:08:56 +02:00
BogDan Vatra 187427c0ae Use latest stable version of the android:gradle plugin
Change-Id: I15418015c6a206dd1a8e4b52894ec83ddaeb9fc2
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2017-04-11 05:56:49 +00:00
Liang Qi 9419dfe8ee Merge remote-tracking branch 'origin/5.9' into dev
Conflicts:
	src/platformsupport/fontdatabases/mac/qcoretextfontdatabase_p.h
	src/plugins/platforms/xcb/qxcbwindow.cpp

Change-Id: Ic747c3c50e68c005b425e7a1ec2a90965527c8bd
2017-04-04 18:09:33 +02:00
Liang Qi e52eb747b1 Merge remote-tracking branch 'origin/5.8' into 5.9
Change-Id: I4788bc037c55c48563ffd4ba9633a22aa1d12f22
2017-03-28 12:18:11 +02:00
Liang Qi b48a13fd68 Merge remote-tracking branch 'origin/5.9' into dev
Conflicts:
	examples/examples.pro
	tests/auto/corelib/tools/qchar/tst_qchar.cpp
	tests/auto/other/qaccessibility/accessiblewidgets.h

Change-Id: I426696c40ab57d14dc295b8103152cede79f244c
2017-03-28 09:28:31 +02:00
BogDan Vatra 1ab60b0430 Make sure we quit qt when the service is destroyed
Task-number: QTBUG-58471
Change-Id: I37f162717f57323136811a8f80d53e3c3b7d6f22
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
2017-03-27 12:20:40 +00:00
Liang Qi 7702fe8602 Merge remote-tracking branch 'origin/5.8' into 5.9
Change-Id: Icdd71e9713725bda9c305e338f5c8b41a92ed8e8
2017-03-27 10:42:08 +02:00
BogDan Vatra 12a0e1b4f8 Add gradle wrapper to Qt & update default Andriod gradle plugin
We need to add gradle wrapper to Qt because it was removed from latest Android SDK.
Adding it to Qt, will give us more control and will save us from pain in the future.

Task-number: QTBUG-59237
Change-Id: I6419876f8be11c0feeac448b228a46f811065264
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2017-03-23 13:04:51 +00:00
Liang Qi 71264bae08 Merge remote-tracking branch 'origin/5.9' into dev
Change-Id: I84097f8e7b3b2128028bd7693c913d6968b82bfe
2017-03-02 09:04:38 +01:00
Mathias Hasselmann 0d34f0c9df Android: Allow timeout to fade out splash screen
Change-Id: I7b24f4d402da7f74b4c983467008ff4c19fc3b1b
Task-number: QTBUG-59200
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2017-03-01 09:15:14 +00:00
Liang Qi de49839df8 Merge remote-tracking branch 'origin/5.8' into 5.9
Conflicts:
	mkspecs/features/moc.prf

Change-Id: Ia71c8e3b3185f7c999bf226d0675051b10b8740b
2017-02-24 20:01:42 +01:00
Joni Poikelin b56c8a3b3d Android: Fix always hidden software keyboard from popping up
Task-number: QTBUG-58803
Change-Id: I256e59cee9d131f88b83367b26dbc11de87319af
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2017-02-23 08:16:23 +00:00
Liang Qi c577f6edaf Merge remote-tracking branch 'origin/5.8' into 5.9
Conflicts:
	src/corelib/plugin/qlibrary_unix.cpp
	src/plugins/platforms/xcb/qxcbconnection.cpp
	tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp

Change-Id: I632c400d909f8c204f55743aadc7886af2f15dfb
2017-02-16 21:51:11 +01:00
Heikki Haveri aebf66d242 Enable QtAndroid::runOnAndroidThread in a Service
Change-Id: I214f5dc70c52011a5e1712ea70f97f8b564fb664
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2017-02-15 10:04:17 +00:00
Liang Qi 318b58562a Merge remote-tracking branch 'origin/5.8' into dev
Conflicts:
	.qmake.conf
	mkspecs/common/msvc-desktop.conf
	mkspecs/common/msvc-version.conf
	mkspecs/common/winrt_winphone/qmake.conf
	mkspecs/features/mac/default_post.prf
	mkspecs/features/mac/sdk.prf
	mkspecs/features/qt.prf
	mkspecs/features/uikit/default_post.prf
	mkspecs/features/winrt/default_pre.prf
	mkspecs/winphone-arm-msvc2013/qmake.conf
	mkspecs/winphone-x86-msvc2013/qmake.conf
	mkspecs/winrt-arm-msvc2013/qmake.conf
	mkspecs/winrt-x64-msvc2013/qmake.conf
	mkspecs/winrt-x86-msvc2013/qmake.conf
	qmake/generators/win32/msvc_vcproj.cpp
	src/gui/kernel/qwindowsysteminterface.cpp
	src/network/kernel/qhostaddress.cpp
	src/plugins/platforms/mirclient/qmirclientplugin.cpp
	src/plugins/platforms/mirclient/qmirclientplugin.h
	src/widgets/util/qsystemtrayicon.cpp
	tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp
	tools/configure/Makefile.mingw
	tools/configure/Makefile.win32

Done-with: Jake Petroules <jake.petroules@qt.io>
Done-with: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Change-Id: I4be3262d3994e11929d3b1ded2c3379783797dbe
2017-01-25 20:06:06 +01:00
Shawn Rutledge 80fa5f6e76 Android: populate TouchPoint rotation and axes correctly
We model each TouchPoint contact patch as an ellipse now, which is
consistent with Android APIs.

Change-Id: I4edfbebfb5e1ab6686dba0ec924bfcfbbd6ff0f4
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2017-01-04 14:46:25 +00:00
Konstantin Ritt ab732e3b2f Optimize QtActivity's onCreate a little bit
Change-Id: Iabb0f561d99f363dfe1dc206b3ad3e8f1a1d04c0
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
2016-12-25 04:14:58 +00:00
BogDan Vatra 3e7f42cb81 Android: Prepare ministro repos for next release
Task-number: QTBUG-57647
Change-Id: I7cbf6d4bb22f51530dc008e15ca635fed3b68a81
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
2016-12-23 10:09:10 +00:00
BogDan Vatra 104854708c Update Ministro's url
Task-number: QTBUG-57645
Change-Id: I014b1926c9b91e085baa5df563dc4cc06fe0596c
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2016-12-15 12:52:09 +00:00
BogDan Vatra 36e4b13e29 Android: fix (partially) text deletion when the cursor is moved
- wait until the handle location changes the cursor position
- don't update cursor position if:
 * a batchEdit is in progress
 * the UpdateSelection is blocked
- finish the composing before update the cursor
- add the missing .java files

There are still corner situations when the text gets deleted/moved, but
those are pretty rare and they will be fix in another patch.

Task-number: QTBUG-57507
Change-Id: I230d7f64625fb556e1be3069694a71e9bc91323a
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
2016-12-13 05:14:40 +00:00
Liang Qi a732576a66 Merge remote-tracking branch 'origin/5.7' into 5.8
Conflicts:
	config.tests/win/msvc_version.cpp
	configure.pri
	mkspecs/macx-ios-clang/features/default_post.prf
	mkspecs/macx-ios-clang/features/resolve_config.prf
	mkspecs/features/uikit/default_post.prf
	mkspecs/features/uikit/resolve_config.prf
	src/corelib/io/qsettings_mac.cpp
	src/corelib/json/qjsondocument.cpp
	src/plugins/platforms/cocoa/qcocoawindow.h
	src/plugins/platforms/cocoa/qcocoawindow.mm
	src/plugins/platforms/cocoa/qnswindowdelegate.h
	src/plugins/platforms/cocoa/qnswindowdelegate.mm
	src/plugins/platforms/ios/ios.pro
	src/plugins/platforms/ios/kernel.pro
	src/plugins/platforms/ios/qiosintegration.h
	src/plugins/platforms/minimalegl/qminimaleglintegration.cpp
	tests/auto/gui/painting/qpainter/tst_qpainter.cpp
	tools/configure/environment.cpp

Change-Id: I654845e54e40f5951fb78aab349ca667e9f27843
2016-11-01 06:02:55 +01:00
Liang Qi 6370c3aa71 Merge remote-tracking branch 'origin/5.6' into 5.7
Also bump minimum required Qt version for Android: Ministro updates.

Conflicts:
	src/android/java/src/org/qtproject/qt5/android/bindings/QtActivityLoader.java
	src/android/java/src/org/qtproject/qt5/android/bindings/QtLoader.java
	src/plugins/platforms/android/androidjnimain.cpp

Change-Id: I966f249bebf92da37bfdeb995ad21b027eb03301
2016-10-13 15:18:02 +02:00
BogDan Vatra 1d6eb70dce Android: Allow the user to hook into the onCreate methods
onCreate methods are very important when you want to add some java code
before the Qt application is loaded. Because onCreate must call
"super.onCreate(..)" it is impossible for the user to do anything before
Qt is loaded. By using the onCreateHooks to load Qt, the user can
decided, by overriding the onCreateHook method, when or if Qt is loaded.

Change-Id: I15a3dd60b8ae7d314c53ace99faedfbd47d25502
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
2016-10-12 11:47:32 +00:00
BogDan Vatra cc62c30022 Android: Ministro updates
- bump minimum required Qt version
 - use market://details instead which opens Ministro's page directly

Change-Id: I3d879503625fe29e7b23149402217337fee6a863
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2016-10-12 11:19:45 +00:00
Alex Blasche e395e79145 Fix QtNative.checkSelfPermission()
Only return activity object when available and *not* when unavailable.

Task-number: QTBUG-55035
Task-number: QTBUG-50759
Change-Id: I60b1be528b2e4a3d630f4085b7642d74e18482bd
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2016-09-20 11:13:42 +00:00
BogDan Vatra 31a63b6903 Say hello to Android 6+ permissions model
This API was introduced by Android v23 and is used in connection with
the new permission request system. From Android v23 onwards, some
permissions such as Location permissions cannot only be granted via
Android's Manifest files. An additional runtime check/request system
was introduced which forces applications to prompt the user
the first time a privileged function is called. Such user prompt
responses
are returned to the current application via the
Activity.onRequestPermissionsResult(..) callback.
This change add Qt API to nicely check & request permissions. For now
this is private
API which can be used to fix permission problems in other Qt
compontents. Later Qt versions will introduce a public API to
QtAndroidExtras.

[ChangeLog][QtCore][Android] Introduced a mechanism to forward
permission related callbacks on Activity objects to interested parties.

Task-number: QTBUG-55035
Task-number: QTBUG-50759
Change-Id: I64ee748d741b39e35c4713ed9fdd15dd1d96dc56
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
2016-09-16 12:13:29 +00:00
Olivier Goffart e0e9e196a7 Android: Show the edit menu when things are selected
Change-Id: I3647fa39469c87bcc08bb439546e5e61c535c71d
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2016-08-21 20:17:45 +00:00
Olivier Goffart 3c6220c4f8 Android selection handles
This commits implement the cursor and selection handle in the platform
plugin.

Task-number: QTBUG-34867
Change-Id: Icb3fd9ddfd9f4152e2004078a92a3d9502e9113c
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2016-08-18 13:23:26 +00:00
BogDan Vatra 79af4e1e31 Android: introduce setContext
setContext is needed by modules that don't need an Activity object to run (e.g. QtMultimeida, QtSensors, etc.)

Task-number: QTBUG-54506
Change-Id: Ief9daff52ddefdb27092040c89dfce9e466eac5c
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2016-07-26 07:55:27 +00:00
BogDan Vatra 27fce8c07d Android: Fix style extract on Android N
Task-number: QTBUG-52744
Change-Id: If53a76929f3bc903573917cfd968431532817ace
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
(cherry picked from commit 392372392c)
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
2016-07-16 12:33:55 +00:00
Liang Qi e32f1a4d61 Merge remote-tracking branch 'origin/5.6' into 5.7
And blacklisted a few tests in tst_QUdpSocket.

Conflicts:
	src/android/jar/src/org/qtproject/qt5/android/QtNative.java
	src/corelib/global/qglobal.cpp
	src/corelib/global/qsystemdetection.h
	src/corelib/io/qfileselector.cpp
	src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/qeglfskmsegldeviceintegration.cpp
	tests/auto/network/socket/qudpsocket/BLACKLIST

Task-number: QTBUG-54205
Change-Id: I11dd1c90186eb1b847d45be87a26041f61d89ef6
2016-06-20 08:00:26 +02:00
Vyacheslav Koscheev 797cd4b7bc Android: Don't send tabletEvent when it's not supported
If QT_NO_TABLETEVENT defined, then there is no sense to create tablet
events.
Its better to create general touch events in this case.

Task-number: QTBUG-53887
Change-Id: I2fabc2241158d54d6c39a2f6071ab874f7debd39
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2016-06-16 14:08:27 +00:00
BogDan Vatra ad09530e34 Update Ministro's repo
Change-Id: I090e1c856f7a93a2a7d8c715c779fc07ce351361
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
2016-05-25 15:44:40 +00:00
BogDan Vatra 48d14c661d Move services documenation to a wiki page.
Qt XML parser doesn't like these comments and it breakes QtCreator's manifest editor

Task-number: QTCREATORBUG-16139
Change-Id: I6459926b32c39eb6d1ee8a9b5a5ade9b6f72924a
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
2016-05-24 04:34:54 +00:00
BogDan Vatra 249cb94655 Android: Bring back the useful public vars
Change-Id: I2e4acb12ed376ed8afad72abdd10243549413feb
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2016-04-30 12:05:21 +00:00
BogDan Vatra 392372392c Android: Fix style extract on Android N
Task-number: QTBUG-52744
Change-Id: If53a76929f3bc903573917cfd968431532817ace
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2016-04-30 06:29:09 +00:00
Liang Qi bb4b86618d Merge remote-tracking branch 'origin/5.6' into 5.7
Conflicts:
	config.tests/unix/compile.test
	configure
	src/android/jar/src/org/qtproject/qt5/android/QtMessageDialogHelper.java
	src/corelib/global/qglobal.cpp
	src/widgets/kernel/qapplication.cpp
	src/widgets/styles/qwindowsvistastyle.cpp
	tests/auto/corelib/kernel/qobject/tst_qobject.cpp

Change-Id: I067083f34e5290aa5f7565e40c30a069cc37b83a
2016-04-25 14:03:45 +02:00
BogDan Vatra d229ed77db Android: Update Ministro's url
Change-Id: Ib255c8127477f3ad4f3bb0c09569d142f51a6be4
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2016-04-15 13:01:47 +00:00
BogDan Vatra 32a419229a Fix wrong style of QMessageBox on Android.
Extracting the theme information seems pretty buggy on some
Android devices, so let the platform functions do it instead.

Task-number: QTBUG-35687
Change-Id: Ib27e846fad98624c3c396dab06d476281de693f7
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2016-04-15 13:01:31 +00:00
BogDan Vatra ba30566b25 Android: fix crash when subclassing the QtActivity
m_context.getClass() returns the top class and this way QtApplication can't find
the proper class Name (QtActivity and QtService).
This patch passes the right class names to QtLoader/QtApplication.

Task-number: QTBUG-52373
Change-Id: Ib69446cdaa38ac8b489872c4850210e5d503492e
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2016-04-13 17:11:40 +00:00
Liang Qi b94773c9c8 Merge remote-tracking branch 'origin/5.6' into 5.7
Conflicts:
	config.tests/unix/compile.test
	src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java
	src/testlib/qtestcase.cpp
	src/testlib/qtestcase.qdoc

Change-Id: Ied3c471dbc9a076c8de33d673bd557e88575609d
2016-04-13 06:55:37 +02:00
BogDan Vatra f6eadcd601 Hide the navigation bar only on Android API-19+
Hiding navigation bar only on Android pre API-19 is useless because the
navigation bar appears every time when the user touches the application
window.

[ChangeLog][Android] Hide the navigation bar only on Android API-19+

Change-Id: I085d691a0170cf10dd9970e009c34c6afc961bc6
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2016-04-08 06:04:43 +00:00
Simon Hausmann 487844fc62 Merge remote-tracking branch 'origin/5.6' into 5.7
Change-Id: I13c7ea6a74eb98606cf45702ae068101943bec6a
2016-03-24 20:37:33 +01:00
Anton Kudryavtsev 282cf63554 QtActivity.java: fix typo
Replace QtApplication.onKeyDown with QtApplication.onKeyUp

Task-number: QTBUG-42204
Change-Id: I458dce23ca22fe381fcaebc94a1edab91f69a57f
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2016-03-23 10:13:10 +00:00
BogDan Vatra a3269e1801 Allow the user to choose how much from Android theme is extracted
This way Quick Controls 2 users will have a much faster start up and the
extraction time is reduced x10.

[ChangeLog][Android] Allow the user to choose how much from Android
theme is extracted.

Change-Id: I063086251880d50d7fdd72ee35536c4094b47f74
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2016-03-22 09:14:14 +00:00
Anton Kudryavtsev d804ea01f0 Fix build QtService.java: replace int with Integer
... and boolean with Boolean.

Task-number: QTBUG-51897
Change-Id: I498ed0cce48e2566c6800344677111dee225d7d9
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2016-03-21 17:30:45 +00:00
BogDan Vatra 3376e67abe Perfect (almost) Qt on Android splash screen.
There is no need to show the splash image immediately when the
application starts, because it will be removed shortly in
QtActivityDelegate.java, therefore show the splash in
QtActivityDelegate.java.
This patch also adds a new option to AndroidManifest.xml which keeps
the splash screen visible until user to decides to hide it,
by using the QtAndroid::hideSplashScreen() function.

Change-Id: I8a29a5a757d626c4c9d6a2748a60ca3091ebf82d
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2016-02-24 17:19:38 +00:00
Liang Qi 1fadc7292b Merge remote-tracking branch 'origin/5.6' into 5.7
Conflicts:
	src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java
	src/plugins/platforms/windows/qwindowsfontengine.cpp
	src/plugins/platforms/windows/qwindowsnativeimage.cpp
	tests/auto/gui/kernel/qwindow/BLACKLIST
	tests/auto/gui/kernel/qwindow/tst_qwindow.cpp

Change-Id: I649b32b260ce0ed2d6a5089021daa0d6a8db85f7
2016-02-24 13:31:14 +01:00
BogDan Vatra aa85ebc266 Android: Fix immersive mode
The activity exits immersive mode when displaying a dialog. To fix the
problem we must use onWindowFocusChanged to update updateFullScreen
every time when we've gotten the focus.

Task-number: QTBUG-38759
Change-Id: I9f11a82dba484dbec6daba7cbf116f16fe2ba372
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2016-02-19 11:42:05 +00:00
BogDan Vatra efcf1dec49 Say hello to Android Services
This changeset enables running a QCoreApplication from within an Android
Service. The Android Application running can now have a QtActivity or a
QtService, but having both in the same process is not supported.

This patch was based on Cory Slep's patch

[ChangeLog][Android] Qt can now be used to easily create Android Services.

Task-number: QTBUG-37221
Change-Id: I0fd693daaa85b991940ffe9cc41c483022677199
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2016-02-17 14:29:58 +00:00
BogDan Vatra 1a358a052e Fix crash when using .NoActionBar theme.
m_activity.getActionBar() returns null when a .NoActionBar theme is
declared in AndroidManifest.xml file

Change-Id: I671891d03913209c3f9f34a6f4dd8894c20de5c2
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2016-02-15 13:04:48 +00:00
Liang Qi d3e6e732c7 Merge remote-tracking branch 'origin/5.6' into dev
Conflicts:
	config.tests/unix/compile.test
	src/plugins/platforms/cocoa/qcocoahelpers.mm
	src/tools/qlalr/cppgenerator.cpp

Change-Id: I0103ca076a9aca7118b2fd99f0fdaf81055998c3
2016-02-02 15:57:44 +01:00
Liang Qi a15c3d086d Merge remote-tracking branch 'origin/5.6' into dev
Conflicts:
	src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java
	src/dbus/qdbusconnection_p.h
	src/dbus/qdbusintegrator.cpp
	src/dbus/qdbusintegrator_p.h
	tests/auto/corelib/io/qdir/qdir.pro
	tests/auto/corelib/io/qiodevice/tst_qiodevice.cpp

Change-Id: I3d3fd07aed015c74b1f545f1327aa73d5f365fcc
2016-01-26 16:27:28 +01:00
BogDan Vatra fd639b7adc Handle native views visibility properly.
Hide the native view in constructor and in destructor.

Task-number: QTBUG-40159
Change-Id: I200b28af9ac2928c38299b71395a97e39f1bbe6d
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2016-01-26 12:41:14 +00:00
BogDan Vatra 63c88ae809 Android: Probe for virtual keyboard height
Knowing the real virtual keyboard height will be easier for us to
decide if we pan or resize the current view.
The virtual keyboard is re-shown if current virtual keyboard height
is different from previous one.

Task-number: QTBUG-43739
Change-Id: I1bb41a70cced4c1d0e5f05a6c554831459b7a917
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2016-01-26 09:01:28 +00:00
Liang Qi 158a3a4159 Merge remote-tracking branch 'origin/5.6' into dev
Conflicts:
	src/corelib/io/qiodevice_p.h
	src/corelib/kernel/qvariant_p.h
	src/corelib/tools/qsimd.cpp
	src/gui/kernel/qguiapplication.cpp
	tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp

Change-Id: I742a093cbb231b282b43e463ec67173e0d29f57a
2016-01-21 08:17:21 +01:00
BogDan Vatra 9bb24615ad Android: fix native libs dir.
On Andorid 64 bit O.S.s the libs are not located anymore on dataDir/lib/
but they are located on dataDir/lib/<arch>/. Using nativeLibraryDir instead
of dataDir we'll get the right folder.

Change-Id: I40ef9513eb5b51f81032bd41f9943ab7b959ad51
Task-number: QTBUG-50394
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2016-01-16 08:52:56 +00:00
BogDan Vatra e666ce162b Helper function needed to run Runnables on Android UI thread easily.
Add a function to allow the users to easily run asynchronously Runnables for any thread
directly on Andoroid UI thread.

Change-Id: I631bf8a2c602e038039fec621ec01272af20a400
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2016-01-15 16:13:29 +00:00
Jani Heikkinen 1a88b2f768 Updated license headers
From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see
http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/

Updated license headers to use new LGPL header instead of LGPL21 one
(in those files which will be under LGPL v3)

Change-Id: I046ec3e47b1876cd7b4b0353a576b352e3a946d9
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
2016-01-15 12:25:24 +00:00
Liang Qi beb65dcd79 Merge remote-tracking branch 'origin/5.6' into dev
Conflicts:
	src/gui/painting/painting.pri
	src/plugins/platforms/xcb/qxcbconnection.cpp
	tests/auto/corelib/thread/qthreadstorage/qthreadstorage.pro
	tests/auto/corelib/tools/qlocale/test/test.pro
	tests/auto/gui/kernel/qwindow/tst_qwindow.cpp
	tools/configure/environment.cpp

Change-Id: I9c40f458b89b2c206de2d2c24e90b5f679c93495
2015-12-18 08:37:31 +01:00
BogDan Vatra 0b10d41c3d Android: Fix crash at exit
Delay the exit call until Java part finishes the execution.
We must be sure all the threads are stopped (hanged), when we
call exit, otherwise java thread will try to use static vars
that are freed by the qt thread.

We also need to call exit from Qt thread, otherwise Qt will complain
about it.

Change-Id: Ia1e7a4d7d56c39d38313f040aab618ec5a68dfb6
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2015-12-17 13:46:14 +00:00
BogDan Vatra e3689949ba Android: Remove support for API < 16
Starting with Qt 5.7 we removed support for API < 16 (Android v4.1)

[ChangeLog][Android] Support for Android API < 16 was removed.

Change-Id: I8bf396a9d70ab0996965e0c9f629800aa1fa6a45
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2015-12-10 19:53:36 +00:00
Simon Hausmann 3ec31ef9c5 Merge remote-tracking branch 'origin/5.6' into dev
Change-Id: I2532c7f7db5e6cc3ef09753d886279816dd662b2
2015-12-08 07:09:47 +01:00
Olivier Goffart 420b4dbece Android: Implement QInputMethod::keyboardRectangle
We can use getWindowVisibleDisplayFrame to know the height on the
keyboard, and we can use getLocationOnScreen to find out how much
the view is scrolled. Since onPreDraw is always called when the
view is scrolled or when the keyboard appears or disapear, we can
call the native functions from there.

This is not working for floating keyboards.

[ChangeLog][Android] Implemented QInputMethod::keyboardRectangle

Task-number: QTBUG-40731
Change-Id: I7848eb34fece410b29a06bf0bbb2313112fffa68
Reviewed-by: Samuel Nevala <samuel.nevala@intopalo.com>
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2015-12-07 16:56:25 +00:00
Olivier Goffart 7908da98f0 Android: Fix QInputMethod's visible property
There are many cases in which finishComposingText is called and it
does not mean the keyboard will be hidden.
Add a check that there are space reserved for the keyboard before
closing it.

This is not helping with floating keyboards, but it's already better.

[ChangeLog] Made QInputMethod's visible more accurate

Task-number: QTBUG-42444
Change-Id: I4d706f1ea5ba2f0f6d3ec1921139317bc4f8dafb
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2015-12-07 16:56:14 +00:00
BogDan Vatra 361e24b79e Fix extract style on Android 6.0
A few things were changed in Android 6.0

Task-number: QTBUG-49323
Change-Id: I3112d885881dce541d5c4f3a1561f6c34d75e319
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2015-12-04 15:10:57 +00:00
Liang Qi 72f5867f14 Merge remote-tracking branch 'origin/5.6' into dev
Conflicts:
	src/corelib/kernel/qcoreapplication.cpp
	src/corelib/kernel/qeventdispatcher_blackberry.cpp
	src/network/bearer/qnetworkconfiguration.cpp
	src/plugins/bearer/blackberry/qbbengine.cpp
	src/plugins/platforms/android/androidjnimain.cpp
	src/plugins/platforms/android/qandroidplatformtheme.cpp
	src/plugins/platforms/qnx/qqnxbpseventfilter.cpp
	src/plugins/platforms/qnx/qqnxfiledialoghelper_bb10.cpp
	src/plugins/platforms/qnx/qqnxinputcontext_imf.cpp
	src/plugins/platforms/qnx/qqnxintegration.cpp
	src/plugins/platforms/qnx/qqnxnavigatorbps.cpp
	src/plugins/platforms/qnx/qqnxvirtualkeyboardbps.cpp
	src/plugins/platforms/qnx/qqnxwindow.cpp
	src/widgets/kernel/qwidgetwindow.cpp
	src/widgets/styles/qwindowsvistastyle.cpp
	src/widgets/styles/qwindowsxpstyle.cpp
	src/widgets/widgets/qtoolbararealayout.cpp
	tests/auto/corelib/global/qflags/qflags.pro
	tests/auto/corelib/itemmodels/qitemmodel/modelstotest.cpp
	tests/auto/corelib/tools/qversionnumber/qversionnumber.pro
	tests/auto/widgets/dialogs/qfilesystemmodel/tst_qfilesystemmodel.cpp

Change-Id: I37be88c6c185bb85404823353e027a0a6acdbce4
2015-12-02 23:33:06 +01:00
Christian Strømme d6b9ae201b Android: Add function to check permissions at run-time.
This is convenient when we you want to check which permissions the
application has been granted at run-time. On Android device running
Android 6.0 or newer the permissions might be changed by the user,
so there are cases where this will be needed to determine what
APIs are available. On older devices or if the application is built
for an older SDK version, the old behavior is used, that is, the
permissions from the manifest is the permissions the application has.

Change-Id: I17ad588b35b26dd7ab26fa4b749764c1602c6854
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2015-12-02 17:59:34 +00:00
Liang Qi 4159ee8405 Merge remote-tracking branch 'origin/5.6' into dev
Conflicts:
	config.tests/unix/ptrsize.test
	configure
	src/corelib/global/qnamespace.h
	src/network/socket/qabstractsocket.cpp
	tests/auto/other/networkselftest/networkselftest.pro

Change-Id: Ic78abb4a34f9068567cea876861d4220f5a07672
2015-11-04 20:18:14 +01:00
Liang Qi f8246099ea Merge remote-tracking branch 'origin/5.5' into 5.6
Conflicts:
	src/corelib/io/qstorageinfo_unix.cpp
	src/plugins/platforms/windows/qwindowsmousehandler.cpp
	src/widgets/styles/qwindowsvistastyle.cpp

Change-Id: Ie1725933815891cc8c86258d4c0e8ed0ab386edf
2015-11-04 12:28:48 +01:00
Liang Qi e0d0e4a9a2 Merge "Merge remote-tracking branch 'origin/5.5' into 5.6" into refs/staging/5.6 2015-10-26 21:29:32 +00:00
Martin Koller 2f7d3cf559 Android: auto-detect MIME type for local files to make openUrl work
[ChangeLog][QtCore][Android]
Fixed the opening of a local file using QDesktopServices::openUrl().

For a local file to be viewed with
QDesktopServices::openUrl(), Android needs to be given
the MIME type otherwise it does not start an Intent to view the file.

Task-number: QTBUG-45585
Change-Id: Ifcfce4bff35011f205cfadbdb2b37a1780dac87d
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2015-10-26 11:35:15 +00:00
Morten Johan Sørvig b2d24dc347 Android: Add opt-in high-dpi support
Opt-in by setting android.app.auto_screen_scale_factor
to true in AndroidManifest.xml. This will enable
devicePixelRatio scaling in QtGui using a scale
factor provided by Android DisplayMetrics.

Note that the Android style is not currently supported:
it already accounts for different display densities
which results in incorrect visual sizes when enabling
devicePixelRatio scaling.

Implementation: Bring DisplayMetrics::density through
to setDisplayMetrics in androidjnimain.cpp, similar
to what is done for "scaledDensity". Override
QPlatformScreen::pixelDensity(), which forwards the
scale factor to QtGui.

[The difference between "density" and "scaledDensity"
is that the former is a physical display density factor
which corresponds closely to devicePixelRatio in Qt,
while the latter also includes the Android global font
scale factor.]

Scale the global font pixel size in qandroidplatformtheme.cpp
to keep the visual font size constant.

Based on an initial patch from Daiwei Li <daiweili@suitabletech.com>

Task-number: QTBUG-46615
Change-Id: Ia51f99bf6dda485a57413949246c7b32cb47e8dd
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2015-10-26 09:27:54 +00:00
Liang Qi 6bc1ce9c16 Merge remote-tracking branch 'origin/5.5' into 5.6
Conflicts:
	src/corelib/kernel/qcfsocketnotifier.cpp
	src/tools/qdoc/qdocindexfiles.cpp

Change-Id: Iae365b23afc611de8794f22cceae8b210d25aa8a
2015-10-23 23:14:22 +02:00
Liang Qi 790aef362f Merge remote-tracking branch 'origin/5.6' into dev
Conflicts:
	.qmake.conf
	configure
	src/corelib/global/qglobal.h
	src/tools/qdoc/node.cpp
	src/tools/qdoc/qdocdatabase.cpp
	tests/auto/corelib/io/qsettings/tst_qsettings.cpp
	tools/configure/configureapp.cpp

Change-Id: I66028ae5e441a06b73ee85ba72a03a3af3e8593f
2015-10-23 14:45:03 +02:00
BogDan Vatra f35797991e Android: Make sure we deliver all queued actions when we resume.
When the activity is paused, all runOnUi actions are dropped :(, this
patch ensures that no action is lost no matter what.

Task-number: QTBUG-45526
Change-Id: I61db4f73b0d2da47bf71a1324dc40b90dab01e81
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2015-10-20 13:08:37 +00:00
Christian Strømme 28b57f0e95 Android: Don't show the VK when the state is set to HIDDEN by the user.
Don't call showSoftInput() if the state is set to _HIDDEN or
_ALWAYS_HIDDEN by the user.

Task-number: QTBUG-46528
Change-Id: I5dbaf612cf4f339c5288d6d3292c27cc6217f3af
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2015-10-19 11:47:44 +00:00
Christian Strømme 1811e31cdb Android: Improve the way we update layout params for native views.
Removing and adding a view each time the layout parameters changes is
triggering unnecessary layout updates. The affect of this is not very
visible since there are few views in the layout, but the procedure is
never the less wasteful.

Change-Id: I2540ab519b12c6d3e10457e2e518b439118b966d
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2015-10-19 11:47:38 +00:00
Daiwei Li d40839db2f Android: Update splash screen in onConfigurationChanged
When the device orientation changes, we should set the background
to a drawable appropriate for that orientation.

Task-number: QTBUG-44238
Change-Id: I4ea50aedc704060c0b35c2d35b75cbaed3b4979a
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2015-10-16 16:32:56 +00:00
BogDan Vatra c63f4c5d01 Android: Set "immersive" mode on earlier android versions.
Most of "immersive" flags are available on earlier Android versions.

Change-Id: Ic4f03a3c9491570bc5f8c5afbb61669644b20d8e
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2015-10-16 14:02:46 +00:00
BogDan Vatra 3674718e3d Dispatch all key and all generic motion events java objects to QtCore
These events are needed to enable the usage of all input methods available
on Android e.g. gamepads, stylus, etc.
In orer to get GenericMotionEvents your application min API version must
be at least 12, otherwise the application will receive only key events.

Change-Id: I7564fccaf5423aa318ba4f62317eaf101ba6e97e
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2015-10-15 13:57:28 +00:00
Christian Strømme f8cc0164db Android: Always queue calls from Qt to Android.
Calling runOnUiThread() only queues calls that comes from a different
thread then the UI thread. The problem with the current solution is that
we can't promise or rely on the calls being delivered in the same order
they were called. Another consequence of the old behavior is that we
potentially cause long lasting synchronization points, which can cause
the application to become unresponsive or in worst case result in a
deadlock. With this change all calls to runAction() will be queued on
Android's main message queue (aka the UI thread) and return immediately.

Change-Id: I50a4273ae9ba8ad17fb2c50ccd57449e4fbc12f9
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2015-09-15 13:23:57 +00:00
Nobuaki Sukegawa a0575a85b7 Fix typo in local variable name
Change-Id: I35f55f993274d9575a3906c1d553e7b04638efe3
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
2015-09-13 14:56:53 +00:00
Kai Uwe Broulik fc410c1398 Android: Add support for EnterKey
QAndroidInputContext now sends along the EnterKey type provided by the
EnterKey input method query enabling the QtActivityDelegate to set the
imeOptions for the TextView accordingly.

Change-Id: Ic96077ab4b11cf6dec52283ecf66b2cabe7af665
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2015-08-11 13:14:26 +00:00
Frederik Gladhorn 77da617dc8 Merge remote-tracking branch 'origin/5.5' into dev
Conflicts:
	doc/global/qt-cpp-defines.qdocconf
	src/3rdparty/forkfd/forkfd.c
	src/corelib/codecs/qtextcodec.cpp
	src/corelib/kernel/qmetatype.cpp
	src/corelib/tools/qset.qdoc
	src/gui/accessible/qaccessible.cpp
	src/gui/image/qpixmapcache.cpp
	src/opengl/qgl.cpp
	src/tools/qdoc/generator.cpp
	src/widgets/kernel/qwidget.cpp
	tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp

Change-Id: I4fbe1fa756a54c6843aa75f4ef70a1069ba7b085
2015-08-06 10:54:01 +02:00
BogDan Vatra 17caa94190 Android: Start the application when we know the screen geometry.
Until now we'se set the screenGemetry to 0,0 until the layout is
created, but some controls needs it before that.

Task-number: QTBUG-44271
Change-Id: I7d00e2a142572e27fc77e46566bb2cdb37f58035
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2015-07-30 07:06:18 +00:00
Liang Qi 0aa2d318b1 Merge remote-tracking branch 'origin/5.5' into dev
Conflicts:
	src/corelib/global/qglobal.cpp
	src/corelib/global/qglobal.h
	src/corelib/global/qsysinfo.h
	src/corelib/global/qsystemdetection.h
	src/corelib/kernel/qobjectdefs.h
	src/plugins/plugins.pro
	tests/auto/widgets/itemviews/qlistview/qlistview.pro

Change-Id: Ib55aa79d707c4c1453fb9d697f6cf92211ed665c
2015-07-01 11:05:26 +02:00
Christian Strømme 5ef662f1af Android: Delay initialization of Accessibility.
The accessibility class was created and activated in onCreate(), which
meant we where trying to activate accessibility before the platform
plugin was properly initialized.
With this change we will also activate, or deactivate, accessibility in
Qt whenever the state is changed by Android, compared to doing it at
start-up only.

Task-number: QTBUG-46355
Change-Id: I5cbae125df43f7694d4464d5054e6cfec4626e26
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2015-06-09 09:06:39 +00:00
Simon Hausmann e2f66f9215 Merge remote-tracking branch 'origin/5.5' into dev
Conflicts:
	src/corelib/global/qnamespace.qdoc
	src/corelib/io/qwindowspipereader.cpp
	src/corelib/io/qwindowspipereader_p.h
	src/corelib/statemachine/qstatemachine.cpp
	src/corelib/statemachine/qstatemachine_p.h
	src/plugins/platforms/xcb/qxcbconnection.h
	tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp
	tests/auto/tools/qmake/tst_qmake.cpp
	tests/manual/touch/main.cpp

Change-Id: I917d694890e79ee3da7d65134b5b085e23e0dd62
2015-06-03 10:23:56 +02:00
Eskil Abrahamsen Blomfeldt eea1094349 Android: Fix resuming app after locale change
The default reaction to configuration changes in Android
is to destroy the activity. To avoid this happening for
locale changes, we had the "locale" configuration change
registered in the default AndroidManifest.xml, however,
you also need to register that you are handling the
layoutDirection change, otherwise Android will not
call onConfigurationChange() for language changes, but
tear down the activity instead.

[ChangeLog][Android] Fixed bug where application was not
resumable after user changed language in system settings.

Change-Id: I3fe84a9332217b062b5352b2c977e2dbeacd5239
Task-number: QTBUG-45430
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2015-06-02 07:28:43 +00:00
Eskil Abrahamsen Blomfeldt 5b739a5b8c Revert "Android: Don't show translucent system UI on top of Qt"
This reverts commit c9aaa3e2cd.
This fix broke fullscreen mode on Android. A better solution is
in the works, but we'll probably push that to Qt 5.5.1 instead
since it comes with a risk and we don't want to delay the release
any further.

Change-Id: I3aae6d52ebb8425089cdb6f7fc4c8ce9ad4911df
Task-number: QTBUG-38700
Task-number: QTBUG-46234
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2015-05-30 05:55:56 +00:00
Shawn Rutledge 01d78ba86a Android: generate QTabletEvents for stylus devices such as the S Pen
For example the Galaxy Note series of devices.  This makes possible
drawing applications which handle stylus events differently from touch
or mouse.  As on any other platform, if the application does not accept
the QTabletEvent, a QMouseEvent will be synthesized.
Also fix the tablet manual test to show larger circles on hidpi devices.

[ChangeLog][Android] stylus devices such as the S Pen generate
QTabletEvents

Task-number: QTBUG-38379
Change-Id: Ib594f453b8403cc06aa4e440a76f07afa3bac38c
Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
2015-05-21 05:17:38 +00:00
Allan Sandfeld Jensen 1fce111809 Merge remote-tracking branch 'origin/5.4' into merge5.5
Conflicts:
	src/corelib/global/qglobal.h
	src/corelib/io/qnoncontiguousbytedevice_p.h
	src/gui/image/qjpeghandler.cpp
	src/network/access/qhttpthreaddelegate_p.h
	tests/auto/corelib/io/qlockfile/tst_qlockfile.cpp
	tests/auto/widgets/widgets/qmenubar/BLACKLIST

Change-Id: I01de8c1c28efcedfd7953d05025f54802dc08ab3
2015-05-08 13:26:44 +02:00
Christian Strømme 119c5ec93f Android: Fix wrong field name in ExtractStyle.java
In Android 5.1 the field name for the inset state member in
InsetDrawable changed from mInsetState to mState.

Task-number: QTBUG-45714
Change-Id: I0ebada1ef90954013e5357cbd10df925f8f05295
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2015-04-30 19:35:05 +00:00
Christian Strømme ef622d55ca Android: Use Holo theme on Android 5.1
We already fallback to the Holo theme on Android 5.0 devices,
see: 7c539579b9

Task-number: QTBUG-45714
Change-Id: I18b0700321b27ab5bbe3f1642a0bc9de1774864a
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2015-04-30 19:34:54 +00:00
Andy Shaw 4f81719983 Pass on the auto repeat information for key events
Task-number: QTBUG-45340
Change-Id: Iecc55987fa784e4bf14317d9d4a085a8f0b58451
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2015-04-15 21:04:45 +00:00
BogDan Vatra 6e77f10e1f Android: update android gradle plugin version
Change-Id: Id2a53edd5206f57c3b281293ab561a7775f94546
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2015-03-23 07:38:48 +00:00
Eskil Abrahamsen Blomfeldt c9aaa3e2cd Android: Don't show translucent system UI on top of Qt
On devices by some vendors (Android 4.4+), the default UI theme
will have translucent system UI which is placed on top of the
main activity layout. When this is unexpected, it may lead to
the system UI overlapping with the application's UI on these
devices. By default we tell Android to account for the system UI
in the main activity's layout, so that the window contents are
positioned outside of it. This is done with a new outermost layout
which is just used to size the QtLayout correctly.

Since there is a use case where people explicitly want translucency
on the system UI and have adapted its contents to accommodate for
this, we supply the android.app.allow_overlapping_system_ui setting
which can be set to true in the AndroidManifest.xml to override the
default behavior.

[ChangeLog][Android] On devices with translucent system UI, Qt's
window is now positioned to avoid overlap with this by default.
This behavior can be overridden in the application's
AndroidManifest.xml.

Change-Id: I2b34e948f3bd655f883f30b0419d9c6ba69242be
Task-number: QTBUG-38700
Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
2015-03-12 13:14:24 +00:00
Shawn Rutledge 21a0e3c111 Android: don't assume a stationary touchpoint unless all history agrees
We need to compare each historical location (not just one of them)
against the present location to prove that the touchpoint didn't move.
We still don't actually send events for every historical touchpoint
location though, because that would multiply the event traffic.

Task-number: QTBUG-38379
Change-Id: I4b968ef6877031a157493d0a248564c78195c033
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2015-03-09 10:20:06 +00:00
BogDan Vatra 1ee25cedb4 Android: Make sure applicationState is set correctly
The Activity onResume function is always called before the application
gets initialized and we let the applicationState set to the default
value which is AppicationInactive.

Change-Id: Ifc3c7e3dfc51f2b821f8ca87f8b711f485b6a6f8
Reviewed-by: Peter Rustler <peter.rustler@basyskom.com>
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
2015-03-05 08:50:04 +00:00
Jani Heikkinen cb95fff1c7 Fixed license headers
Change-Id: Ibebe1318d1c2de97601aa07269705c87737083ee
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-02-17 18:46:09 +00:00
Jani Heikkinen 83a5694dc2 Update copyright headers
Qt copyrights are now in The Qt Company, so we could update the source
code headers accordingly. In the same go we should also fix the links to
point to qt.io.

Outdated header.LGPL removed (use header.LGPL21 instead)

Old header.LGPL3 renamed to header.LGPL3-COMM to match actual licensing
combination. New header.LGPL-COMM taken in the use file which were
using old header.LGPL3 (src/plugins/platforms/android/extract.cpp)

Added new header.LGPL3 containing Commercial + LGPLv3 + GPLv2 license
combination

Change-Id: I6f49b819a8a20cc4f88b794a8f6726d975e8ffbe
Reviewed-by: Matti Paaso <matti.paaso@theqtcompany.com>
2015-02-11 06:49:51 +00:00
Peter Rustler f93c04e44a Added new private API for Android and onNewIntent
On Android the foreground activity can get intents
with onNewIntent. Those intents can not be received
in any other way. This is especially true in Android nfc.

This patch adds a way to receive those intents in Qt.
This patch heavily leans on the implementation of onActivityResult.

Change-Id: Ic4dca301f34afe9a528149c3653e545ed3265a3c
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
2015-01-21 12:13:25 +01:00
BogDan Vatra a0737f65a6 Fixes for surface creation/destruction
- After reset a surface we must call makeCurrent before we are usign
swapBuffers.

 - No need to set the surface in QPA when surfaceCreated are called in
QtSurface.java, some time the OpenGL surface is not fully initialized at
this stage. Is better to wait for surfaceChanged which is always fired
at least once.

 - DO NOT reset m_surfaceId to 1 when there is no surface. The problem
is that if we have one surface and when we distory it we don't (need to)
wait for its surfaceChanged/surfaceDestroyed notifications, and if we
create another one quicly it will have the same id (1).

Task-number: QTBUG-39712
Change-Id: I2aa31e5b59d81ef3b03624d4636a4381eea6d543
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2015-01-10 16:43:01 +01:00
BogDan Vatra 14e2d8cc09 Update gradle build script.
Change-Id: If5142c039b6307660402f1dbd30ded75e12f8c50
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2014-12-18 09:46:31 +01:00
Paul Olav Tvete 71a63836ed Make ImhNoPredictiveText work on Samsung devices
Samsung does not support TYPE_TEXT_FLAG_NO_SUGGESTIONS, even
though that flag was introduced in API level 5. Therefore, we
have to use TYPE_TEXT_VARIATION_VISIBLE_PASSWORD. This effectively
makes ImhNoPredictiveText a synonym for ImhSensitiveData on Android.

Task-number: QTBUG-43297
Change-Id: I3e7139d144276462e46512445ad7b8e7114d8e32
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2014-12-12 15:43:30 +01:00
Jan Arve Saether 5a6735316a Do not initialize accessibility code by default on startup.
Instead listen for if the accessibility service is running or not by
implementing AccessibilityStateChangeListener.
This seems to work smoothly when turning on or off TalkBack.

This should also improve startup time.

Change-Id: I3eb7d6cb9c9c1618afbb59675e4e089c9159019c
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2014-12-09 16:59:03 +01:00
Jan Arve Saether e682ea6f78 Draw the accessibility focus rectangle properly
Previously, the accessibility focus rectangle was only visible when it
overlapped with the m_editText View of QtActivityDelegate. The reason for
this is not completely verified, but this is the most likely reason:

  * The SurfaceView and QtLayout (ViewGroup) does not do any drawing
    themselves. Due to this their default value of the View::willNotDraw
    property is true.  Because of this Android might assume there is no
    content for the focus indicator to surround. (This was verified with
    setting the willNotDraw property to false on the accessibility view);

  * Another possible reason could be that overlays does not work for
    SurfaceView. It is documented that overlays does not work for
    SurfaceViews, so therefore it tried to use the overlay of another
    view. For some reason it picked the m_editText overlay instead of the
    QtLayout overlay.

    See here about overlay:
    http://developer.android.com/reference/android/view/View.html#getOverlay()

The solution is to add another View that covers the whole screen, which
will be used solely by android to draw the accessibility focus indicator.

In addition, we change the QtAccessibilityDelegate to no longer have the
SurfaceView as a host, but have the m_accView as a
host (the host can be freely changed, since all accessibility nodes are
virtualized through the delegate anyway)

For the record, this will be the current ordering of views in QtLayout:
(back-to-front order):
                                Qty     Default Qty
* Surface View(s)               >= 1    1
* Accessibility View            == 1    1
* Native View(s)                >= 0    1
* m_editText View               == 1    1
where the m_editText migth be interleaved among the Native Views.

[ChangeLog][Android][Accessibility] Fixed an issue where the accessibility
focus rectangle was not drawn properly

Task-number: QTBUG-38869
Change-Id: I64d6b6ec45b27d0d93ac9dd840de764c18c55d04
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2014-12-05 06:15:52 +01:00
Jan Arve Saether 35222edfc8 Remove unneeded call to m_editText.bringToFront()
There is no need to call bringToFront() when the item was just made to
be the last child in the two previous lines. (Child views are ordered
in stacking/paint order)

Change-Id: Ie9fbe5de6dce2bbc96cd44a8a6a779504cd0becd
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2014-12-02 12:01:41 +01:00
Jan Arve Saether 438b65bada Make sure that created surfaces are stacked on top of previous ones.
The old code would stack the new surface just below the topmost surface.
It also did not consider if the m_editText was added to the layout or
not (thus, m_layout.getChildCount() - m_nativeViews.size() - 1) was only
correct if the editText was added.

Spotted by plain code reading while investigating some accessiblity
issues.

Change-Id: I12c9f373a471c0a7ee624a47232e8952d69c9067
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2014-12-02 12:01:29 +01:00
BogDan Vatra 7c539579b9 Use Holo theme on Android 5.0.
This is a temporary "fix" until we'll fix all the problems with the new
Android Material theme.

Task-number: QTBUG-42900
Change-Id: I5485cfd5ac5fdd66cb85da423fe2e63e65be010f
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
2014-11-27 11:22:23 +01:00
Eskil Abrahamsen Blomfeldt d0ef89caab Android: Make old manifests work on Android 5
On newer Androids, exceptions have started happening when using old
manifests that refer to splash.xml because the layout is missing
some required attributes. We add these to avoid crashing with these
apps.

Change-Id: Iefd4718e811df844e53890ee5bc772871d0a9803
Task-number: QTBUG-42807
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2014-11-21 16:47:45 +01:00
BogDan Vatra 52f5bf9cd5 Android: Use LocalServerSocket instead of ServerSocket
Using LocalServerSocket is way much safer than ServerSocket because is
not using ports which might be in use by other applications.

Change-Id: I0e2be0b4561362939950861024f1f95ab819f2c2
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2014-11-20 16:14:32 +01:00
Alex Blasche 242f1c2d63 Fix QtCreator debugging on Android 5.0 devices
Add a socket based handshake method for gdb. The previous file based
method remains for now and can be activated from Qt creator. It will
be used by older creator builds but has the limitation of not working
on 5.0 devices.

The new mechanism works on pre 5.0 devices too.

Task-number: QTCREATORBUG-13418
Change-Id: Ia3ecd1b144b544f52d90940ca885653bcbc477ac
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2014-11-19 13:00:31 +01:00
BogDan Vatra 2b9ae07ca3 Android: Extract VectorDrawable
Task-numer: QTBUG-42488
Change-Id: Iacc9e6afc75f1f480ba8119c9cbd481beb1d1089
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2014-11-16 20:00:09 +01:00
BogDan Vatra 946cf4ca00 Android: copy build.gradle to install folder.
Task-number: QTCREATORBUG-13311
Change-Id: I4c91164ae1fc593397bb46f98fbc49ef1569da39
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2014-11-15 08:49:39 +01:00
BogDan Vatra e7839239eb Android: Extract AnimatedStateListDrawable
Task-number: QTBUG-42488
Change-Id: I6400c5ba54bdc9a0e1db71986432a6653da9e534
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2014-11-15 08:46:28 +01:00
BogDan Vatra 4decaa566c Android: Extract default style
Task-number: QTBUG-40621
Change-Id: I4569c87c79769752373a9e6e12cb64c89dfc8f94
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
2014-11-14 19:02:57 +01:00
BogDan Vatra 4fc1a10075 Android: Extract RippleDrawable
Task-number: QTBUG-42488
Change-Id: I41fb37adae4664f4a071d794dc4a31a3ee3334aa
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
2014-11-13 20:04:23 +01:00
BogDan Vatra f3b93a7724 Android: Introduce getAccessibleField
This method simplifies a lot the code.

Change-Id: I7fe775d671ae89e112f313c21f61923133785785
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
2014-11-13 20:02:42 +01:00
J-P Nurmi 132650e4e0 Android: extract BitmapDrawable attributes
Task-number: QTBUG-42488
Change-Id: Idd70e6300f78d96b044928885e71957daad1f5af
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2014-11-10 13:44:25 +01:00
J-P Nurmi d9715108c1 Android 5.0: extract new Switch style attributes
Switch_showText specifies whether the on/off text is shown in the
thumb and Switch_splitTrack specifies whether the track is clipped
underneath the thumb.

Change-Id: I03fc6b799fe714e7b6e604328901c8c5a418ca6e
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2014-11-10 12:19:12 +01:00
BogDan Vatra 21e5d77e85 Android: Fix more exceptions in ExtractStyle.java on Android L
Task-number: QTBUG-40120
Change-Id: I949f19ced4eefcf7a40e64ad63e316765c6f2f48
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
2014-11-03 23:25:06 +01:00
Christian Strømme d099e27cfc Android: Fix input method hints.
1. Add comment about the magic TYPE_NUMBER_VARIATION_PASSWORD value.
2. ImhHiddenText, ImhNoPredictiveText and ImhSensitiveData should all
   disable suggestions.
3. Only ImhSensitiveData sets TYPE_TEXT_VARIATION_VISIBLE_PASSWORD
4. Don't OR date and time to get DateTime...

Task-number: QTBUG-38080
Change-Id: If456563983130e9af409ffa8cb717ddf259f1d6b
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2014-11-03 18:25:33 +01:00
Christian Strømme 7a3a3a5694 Android: Add runOnUiThread() function
Enables QRunnables to be run on the UI thread. For now this function
is only intended for internal consumption.

Change-Id: I5e2abb06104219a9dd55b3308113056e4da5fa07
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2014-11-03 18:24:56 +01:00
Shawn Rutledge 0b49ce2f8e Android: QtActivitiyDelegate: extras can be null
Change-Id: I3b31cc499067540e6ad7b6d05df75d9ba0e1e615
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2014-10-29 21:10:59 +01:00
BogDan Vatra f81e76da1e Allow QtCreator to pass additional args and env vars to the application.
We need them to allow developers to easily pass args and env. vars like
QSG_RENDER_TIMINGS, QSG_VISUALIZE to theirs apps.
The env vars and params must be base64 encoded!

Change-Id: I1d781873ffdc6efd40b30543a9fd2514bbdede43
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2014-10-23 08:53:58 +02:00
BogDan Vatra c5b0308dc5 Android: Update Ministro's requirements.
Task-number: QTBUG-41968
Change-Id: Ia0c204dd87b9de3cbb7bb388099c435b855ad4d5
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2014-10-19 11:38:33 +02:00
Paul Olav Tvete 7755b4af41 Android: null pointer check
Task-number: QTBUG-41680
Change-Id: I740fb2a6df5613a8ee724b59dab08674a3337236
Reviewed-by: Kai Uwe Broulik <kde@privat.broulik.de>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2014-10-10 10:04:34 +02:00
Christian Strømme 8d8000b5fe Android: Don't call requestLayout() when changing the geometry.
requestLayout() is already called when setLayoutParams() is called, so
calling it again is extremely wasteful.

Change-Id: Iddfb488830a6b7277a653a84ffacabf966baf0b5
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2014-10-09 22:57:19 +02:00
Eskil Abrahamsen Blomfeldt 538248d930 Android: Don't include Apache code under LGPLv2 license
The code which extracts style assets for the Android style
is licensed under the Apache license, which is not compatible
with LGPLv2.1. It is, however, compatible with LGPLv3. This
means that the Android platform plugin cannot be LGPLv2.1
as long as this code is included.

To minimize licensing confusion, we default to only providing
LGPLv3 for Android. If you want to build a LGPLv2.1-compatible
library, you can add -no-android-style-assets to the
configuration. This will in turn enable the LGPLv2.1 in
the configure output, and it will disable the extraction
code in the platform plugin.

Running the Android style with an LGPLv2.1-compatible platform
plugin will work, but it will look horrible.

[ChangeLog][Android] Default open-source license for
Qt for Android is now LGPLv3. For compatibility with the LGPLv2.1
license, add "-no-android-style-assets" to your configuration.

Change-Id: I6c7b52140f38138520871fa7c69debbb4ee90e6c
Task-number: QTBUG-41365
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
2014-10-02 05:59:17 +02:00
BogDan Vatra 3b577dfe79 Use PopupMenu when possible.
On API-11+ we are going to use PopupMenu instead of ContextMenu to show
context menus. A PopupMenu displays a Menu in a modal popup window
anchored to a View. The popup will appear below the anchor view if there
is room, or above it if there is not.

Task-number: QTBUG-39736
Change-Id: Ie412ab0935b868348ce5c8bb0bf53571ffefd582
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2014-10-01 20:10:58 +02:00
Christian Strømme 10a0f93c86 Android: Add function to change the stacking order in the layout.
This change enables us to reorder the stacking order used by the
layout. This is necessary if we want to influence the drawing order.

Lowering or raising views are done separately for native views and
Qt surface views, that is, the two different view "types" are moved
relative to other views of the same type and Native views are always
placed on top.

Change-Id: I01cbb88f8efee08877b5972cf330fd25266a2aa9
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2014-09-26 23:45:13 +02:00
Christian Strømme 8b0d9a16db Android: Improve the foreign-window implementation
Adds:
- Improved geometry calculations (e.g, inside a parent)
- Change visibility
- proper stacking order. Native views now reserve the top of the stack
  to ensure that they stay visible.
- React to application state changes.

Change-Id: I35de0396937fff37ffcd272c9a7d8e9873a91dfb
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2014-09-26 23:44:42 +02:00
BogDan Vatra 1168ed8f6e Handle InsetDrawable.
Remove an unused function.

Change-Id: I79fda0fb56b0621e062a0ccb5bd68291d9ccdf50
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2014-09-24 13:52:55 +02:00
Frederik Gladhorn c5a3e5edd9 Merge remote-tracking branch 'origin/5.3' into 5.4
The isAlwaysAskOption was removed in 3862171315
so manually removed code in
src/plugins/bearer/connman/qconnmanengine.cpp

Conflicts:
	src/corelib/global/qglobal.h
	src/corelib/tools/qcollator_macx.cpp
	src/corelib/tools/qstring.cpp
	src/gui/kernel/qwindow.cpp
	src/gui/kernel/qwindow_p.h
	src/gui/text/qtextengine.cpp
	src/platformsupport/fontdatabases/fontconfig/qfontenginemultifontconfig_p.h
	src/plugins/platforms/android/qandroidinputcontext.cpp
	src/plugins/platforms/xcb/qglxintegration.cpp
	src/plugins/platforms/xcb/qglxintegration.h
	src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
	src/testlib/qtestcase.cpp
	src/testlib/qtestlog.cpp
	src/widgets/dialogs/qfiledialog.cpp
	src/widgets/kernel/qwindowcontainer.cpp
	tests/auto/corelib/tools/qcollator/tst_qcollator.cpp
	tests/auto/gui/text/qtextscriptengine/tst_qtextscriptengine.cpp
	tests/auto/widgets/kernel/qwidget_window/tst_qwidget_window.cpp
	tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp

Change-Id: Ic5d4187f682257a17509f6cd28d2836c6cfe2fc8
2014-09-23 11:23:36 +02:00