summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/android
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.3' into 5.4Frederik Gladhorn2014-09-235-23/+33
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The isAlwaysAskOption was removed in 38621713150b663355ebeb799a5a50d8e39a3c38 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
| * Merge remote-tracking branch 'origin/5.3.2' into 5.3Frederik Gladhorn2014-09-171-10/+16
| |\ | | | | | | | | | Change-Id: Iae36a5178c0411d4d36508e0725e132af390157a
| | * Android: use FBO readback workaround by default.Yoann Lopes2014-09-031-10/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Maintaining a black list of devices can't be reasonably done. The workaround is now enabled by default. It can be disabled with the QT_ANDROID_DISABLE_GLYPH_CACHE_WORKAROUND environment variable, in which case the current list of blacklisted drivers will still be taken into account. Task-number: QTBUG-40483 Change-Id: I9b90ab45e86569e8e4679333ddb9b835189892c7 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
| * | Android: Avoid deadlock in Qt.inputMethod.visiblePaul Olav Tvete2014-09-021-12/+4
| |/ | | | | | | | | | | | | | | | | | | | | | | A blocking isSoftwareKeyboardVisible() is a deadlock waiting to happen: when the android input method performs blocking metacalls from the android thread to the GUI thread all the time, we cannot block the GUI thread waiting for the android thread. Task-number: QTBUG-40750 Change-Id: I2490897b0f65e0d92214907e239b10b372d949dd Reviewed-by: Christian Stromme <christian.stromme@digia.com>
| * Android: Fix crash at shutdown when keyboard is visibleSérgio Martins2014-08-281-1/+2
| | | | | | | | | | | | | | | | | | This is a follow-up to 4c6ebe5f9e4ddc0d799a0f2bf4aef9f7e48e0dfb. Crash was still 100% reproducible for me with the previous fix. Task-number: QTBUG-40957 Change-Id: Ie59cfe4f1fc746251fe06ba96369738098b2a35f Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
| * Android: added more devices to the FBO readback workaround check.Yoann Lopes2014-08-272-4/+9
| | | | | | | | | | | | Task-number: QTBUG-40483 Change-Id: I7f3d375934a57fe3ac58ae35cb00d394349cb33f Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
| * Android quickfix: Avoid crash at shutdownPaul Olav Tvete2014-08-271-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qt Quick does a processEvents() at shutdown. On some versions of Android, this can trigger a getTextAfterCursor() after QGuiApplication shutdown. This patch still has a theoretical race condition, but should reduce the crash probablity to practically zero. [ChangeLog][Android] Fixed bug on some devices where the application would crash at shutdown if the virtual keyboard was open. Task-number: QTBUG-40957 Change-Id: Iefcc10a77e3d506c32ea151c27a3e87a7be40e68 Reviewed-by: BogDan Vatra <bogdan@kde.org>
| * Resize correctly on orientation change.Paul Olav Tvete2014-08-202-2/+2
| | | | | | | | | | | | | | | | | | | | Make sure that the screen geometry is updated before the available geometry, since Qt uses available geometry change as the trigger for updating the application. Task-number: QTBUG-39965 Change-Id: Icb660f2de739367cf1fa99ddfe600f37eb6174eb Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
| * Use correct size in fullscreen modePaul Olav Tvete2014-08-201-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | Android does not report the full screen size in display metrics. However, it does report the correct size for layouts, which we use to get the available geometry. Since by definition, the available geometry should always be inside the screen geometry, it is safe to use the maximum of the two sizes. Task-number: QTBUG-39977 Change-Id: I78d974f12274ca67eada43f5e1d80e70149efe3f Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* | Respect the PM_SmallIconSize setting for icons in a menu on OS XAndy Shaw2014-09-202-0/+7
| | | | | | | | | | | | | | | | | | When a platform menu is used then it would hard code the icon size to 16x16. Instead of using the hard coded value then PM_SmallIconSize should be used instead. Change-Id: I27540ebc4397501e8f57686a118c28cd7167c0a1 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* | Android: fix inputmethod race conditionsPaul Olav Tvete2014-09-102-63/+62
| | | | | | | | | | | | | | | | | | | | | | focusObjectInputMethodQuery() and sendInputMethodEvent() were not thread safe. Remove them, and replace with thread safe versions based on the same principle as queryFocusObjectThreadSafe(). Task-number: QTBUG-40995 Change-Id: Idb6f0c6d3963b7e8e73e029e83d0367088146ca8 Reviewed-by: Christian Stromme <christian.stromme@digia.com> Reviewed-by: BogDan Vatra <bogdan@kde.org>
* | qpa: Make screen geometry updates (full and available geometry) atomicTor Arne Vestbø2014-09-101-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Updating the geometry and available geometry in two steps means that QScreen will be in an inconsistent state when emitting the geometry change signal, as the available geometry has not been updated yet. Piggy-backing changes to the availableGeometry based on the virtual geometry changing does not make sense, so we now tie geometry and availableGeometry (and their size variants) to their own separate geometryChanged and availableGeometryChanged signals. Change-Id: Iee0ced642cbb91c470cb54bc507d2c0512482c13 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* | Avoid deadlock when suspending devicePaul Olav Tvete2014-09-051-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | Don't wait for the GUI thread when it's already waiting for us. An application that uses the virtual keyboard may get an inputmethod query just when it is being suspended. If the GUI thread is already blocking on a semaphore at that point, waiting for the android thread, we really do not want to wait for the GUI thread... Task-number: QTBUG-40955 Change-Id: Iea2cf0dd058a41a897d596c4bcf16f0508adb20b Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* | Android: don't recreate surface on shutdownPaul Olav Tvete2014-09-052-0/+5
| | | | | | | | | | | | | | | | | | When we suspend the app, we destroy the surface to save resources. We don't want to create it again just as we are shutting down. Task-number: QTBUG-41072 Change-Id: I7a616249bee869b92716d0911201a80d73c2f8da Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* | Android: Avoid deadlocks on suspendPaul Olav Tvete2014-09-032-9/+14
| | | | | | | | | | | | | | | | | | | | | | | | Get rid of the rendezvous at shutdown: the android thread does not need to wait for the GUI thread. Since the GUI thread frequently does blocking calls to the android thread, this fixes several known and potential deadlocks. Task-number: QTBUG-41072 Change-Id: Ia6fa8da026b1727e7352b22f4df4d72b63b8c847 Reviewed-by: BogDan Vatra <bogdan@kde.org> Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* | Android: Guard against invalid surfaceIDPaul Olav Tvete2014-09-021-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not try to resize or destroy invalid surfaces. This caused update problems with all GL apps after suspend, since we would forget the dummy view that we always keep around so we get proper transitions on shutdown. Also make sure that we don't mess this up even if we try to destroy a non-existing surface. This would have fixed the bug by itself, but then we would still be stuck with the annoying warning message. Task-number: QTBUG-41093 Change-Id: I83299e93eb9ac5357b98ca47014789b56c91b35a Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* | Support QOpenGLWidget and QQuickWidget on AndroidLaszlo Agocs2014-08-259-171/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It gets somewhat complicated due to the fact that a RasterGLSurface window (i.e. any widget window since 5.3) may behave either like an OpenGLSurface or a RasterSurface, and the expected behavior may change on each backingstore sync. This does not fit designs where the platform window implementation is separated and there is different behavior for raster and GL windows. Therefore QAndroidPlatformOpenGLWindow is now made capable of behaving like the raster one, based on a flag communicated from the widget stack via QWindowPrivate (since the plugin knows nothing about widgets). This means that widget windows that do not have renderToTexture children (QOpenGLWidget, QQuickWidget) will go through the raster path, while the ones that have will behave like an OpenGL window with the actual rendering happening in QPlatformBackingStore::composeAndFlush(). The surface type is RasterGLSurface in both cases nonetheless. Task-number: QTBUG-37907 Change-Id: I6f9261fc0fd993afcda7f30d379c5410069033d3 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* | Merge "Merge remote-tracking branch 'origin/5.3' into 5.4" into refs/staging/5.4Giuseppe D'Angelo2014-08-192-9/+6
|\ \
| * | Merge remote-tracking branch 'origin/5.3' into 5.4Frederik Gladhorn2014-08-122-9/+6
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Manually included changes from 3a347a4e70e5a10ee92dd2578316c926a399e894 in src/opengl/qgl.cpp. Conflicts: src/opengl/qgl_qpa.cpp src/plugins/platforms/android/androidjnimain.cpp Change-Id: Ic26b58ee587d4884c9d0fba45c5a94b5a45ee929
| | * Android: Remove native views when their window is destroyd.Christian Strømme2014-08-061-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | destroySurface() was not removing the native view as they are not in the m_surfaces map. Task-number: QTBUG-40159 Change-Id: Ib5457e0bd34141654fa47883f5e125d894b0bd05 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
| | * Android: Fix QAndroidPlatformServices::openUrl().Christian Strømme2014-08-061-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | Return true only if an activity was found for the intent. Task-number: QTBUG-34716 Change-Id: I764caf1e8afa3b17b2d71f52873c17e5d834a956 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* | | Forward menu button events to Qt if there is no visible menubar.BogDan Vatra2014-08-164-0/+17
|/ / | | | | | | | | | | Task-number: QTBUG-32334 Change-Id: If1b4517f233b04d4c6c165cbfe62c8cf7b624c60 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* | Make the expose region local on all platformsLaszlo Agocs2014-08-122-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QExposeEvent::region() reports a region in a random coordinate system. The behavior is undocumented and the platform plugins do different things. xcb, offscreen and ios are correct. These set the region in local coordinates, which is the most logical interpretation of the expose region. windows is almost correct, except for one occurrence. cocoa and others need changes: passing in geometry() as the exposed region is always wrong. The patch documents the expected behavior both for QExposeEvent and internally in QWindowSystemInterface. The problematic plugins are fixed to use local coordinates. Task-number: QTBUG-40470 Change-Id: I6ded3154d14254fa71d4292d8e1b5e6cf696c81a Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* | Android: Fix exceptions in ExtractStyle.java on Android LBogDan Vatra2014-08-011-2/+60
| | | | | | | | | | | | | | | | | | Android L adds support for 64 bit (arm and x86) and they did lots of changes that are incompatible with old implementation. Task-number: QTBUG-40120 Change-Id: I69b78a9eed896d2ddabc1bf2a55886faeae47974 Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* | Android: Cleanup androidjnimain.cpp/.h filesBogDan Vatra2014-07-312-54/+44
| | | | | | | | | | | | | | | | | | Remove unused includes Remove unused static vars use Q_NULLPTR insead of 0 or NULL Change-Id: Id8c99c83c64425c9725e441108010f3821bd3b44 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* | Android: Fix expose region.BogDan Vatra2014-07-312-3/+3
| | | | | | | | | | | | | | | | It seems that the second parameter of handleExposeEvent function is about the region inside the window, not its position on the screen. Change-Id: I89f5b2b13c9b0993253542823a84547d6a994c31 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* | Android: Release all windows when the application is suspended.BogDan Vatra2014-07-318-22/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When an application is suspended on Android all its Gl surfaces are destroyed and can't be used to render anymore, so we should release them in order to give back to the system the memory used by them. [ChangeLog] [Android] Release all windows when the application is suspended. Task-number: QTBUG-29069 Change-Id: I038aaa2006da1f3188fccba943ec4ffb3e551cf0 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* | Android: Really suspend apps that are put in the backgroundBogDan Vatra2014-07-316-7/+266
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The main event loop will be paused when an application is suspended, this is also the normal behavior of any Android application. When an application is suspended on Android all its Gl surfaces are destroyed and can't be used to render anymore. So, we need to pause the main event loop in order to pause all the timers which might trigger drawings. The event loop is resumed immediately after the application is foreground. AndroidManifest.xml contains more info about how to disable this behavior and what might happen if you do it. [ChangeLog][Android][Important Behavior Changes] The main event loop is now stopped when the app is suspended Task-number: QTBUG-36274 Change-Id: I4c0ba5df9d95f348bca67ea5c76865d6d20775e4 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* | Merge remote-tracking branch 'origin/5.3' into devFrederik Gladhorn2014-07-147-82/+22
|\| | | | | | | | | | | | | Conflicts: src/gui/text/qfontengine_qpf2.cpp Change-Id: Ib04f92c41d0edd55d3aef8fb1708d917fba0f2a8
| * Android: Simplify the jni code in QtAndroidClipboardChristian Strømme2014-07-143-60/+12
| | | | | | | | | | | | | | | | | | Let the QJNI classes manage the jni environment and cache the jni handles. This lets us lazily cache the jni handle until we actually need them. Change-Id: Iced91e7cab19bdcab8581e94c6f2dd766fed47ed Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
| * Android: Simplify the jni code in QAndroidPlatformServicesChristian Strømme2014-07-142-19/+6
| | | | | | | | | | | | | | | | Remove the use of QtAndroid::AttachedJNIEnv and lazily cache the openURL() methodID on first use. Change-Id: I601d13bc7d644d7cb2f78655ad40c7d9566cf3cb Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
| * Android: Prefer "Droid Serif" as default serif fontEskil Abrahamsen Blomfeldt2014-07-101-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | I've also updated the qfont test so it passes on Android now. Note that there are no suitable cursive/fantasy fonts on Android, so the regular default "Roboto" (or "Droid Sans" on older devices) will be picked here instead. [ChangeLog][Android] Fixed font selection to prefer "Droid Serif" when Serif style hint is set on QFont. Change-Id: I294eebcc4d79410e435bdddce552acc6044753b2 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
| * Android: enable FBO readback workaround for more devices.Yoann Lopes2014-07-101-3/+2
| | | | | | | | | | | | | | | | | | Now enabled for all devices equipped with a GPU from the Mali-4xx series or Adreno 2xx series. Task-number: QTBUG-40131 Change-Id: I2923c07033ef768aceec6f5590dbb6f26aa67087 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* | Merge remote-tracking branch 'origin/5.3' into devFrederik Gladhorn2014-07-101-4/+4
|\| | | | | | | Change-Id: Ia12ffdb27ecdf25c2a2bdb0eed1945387502108a
| * Android: [REG] Fix QScreen::physicalSize()Eskil Abrahamsen Blomfeldt2014-07-081-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The physical size should be set based on the screen size, not the available geometry. This used to work in Qt 5.3.0 because the screenSize and size of the available geometry was identical on startup, but in Qt 5.3.1 the available geometry is 0x0 until there the metrics are actually available to avoid flickering on startup, so this caused a regression. [ChangeLog][Android] Fixed regression where QScreen::physicalSize() would return 0x0. Change-Id: I6c2ee11205427a88764e129b05ece6d3fbbf4c99 Task-number: QTBUG-39978 Reviewed-by: Christian Stromme <christian.stromme@digia.com> Reviewed-by: BogDan Vatra <bogdan@kde.org>
* | Merge remote-tracking branch 'origin/5.3' into devFrederik Gladhorn2014-07-0132-38/+175
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/qnx-x86-qcc/qplatformdefs.h src/corelib/global/qglobal.h src/network/socket/qnativesocketengine_winrt.cpp src/plugins/platforms/android/androidjniaccessibility.cpp src/plugins/platforms/windows/qwindowswindow.cpp Manually adjusted: mkspecs/qnx-armle-v7-qcc/qplatformdefs.h to include 9ce697f2d54be6d94381c72af28dda79cbc027d4 Thanks goes to Sergio for the qnx mkspecs adjustments. Change-Id: I53b1fd6bc5bc884e5ee2c2b84975f58171a1cb8e
| * Android: Fix namespace usageChristian Strømme2014-06-3027-0/+112
| | | | | | | | | | | | | | This change makes it possible to set a Qt namespace for Android builds. Change-Id: I79f4ae8200223f36f97e2849aae49e45b8850d23 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
| * Android: REG: Fix crash.BogDan Vatra2014-06-151-3/+5
| | | | | | | | | | | | | | Test if the window has a handle before using it. Change-Id: I728a129722f8ecd021998d483530a8d1687e5fe3 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
| * Merge remote-tracking branch 'origin/stable' into 5.3Sergio Ahumada2014-06-141-0/+1
| |\ | | | | | | | | | Change-Id: Icd073d40ce10ab4733b997036815795dd3fbaac1
| | * Fix Android: use fbo read back workaround with specific GPUs.Coursar2014-06-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Namely, the Adreno 205. We used to enable this workaround for Huawei Honor (Adreno 205). Task-number: QTBUG-33951 Change-Id: Ic92a6913664f2f0954271c700d9ef83d27c238a7 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
| * | Android: Report something sensible for screen geometryEskil Abrahamsen Blomfeldt2014-06-135-18/+46
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We can't get the actual screen geometry on Android, but in Qt 5.3.0 we would always return the screen geometry minus the size of the status bar. After the available geometry was initialized to 0x0 instead of this arbitrary value, some applications that depended on this as a constant value would break if they collected the information before the window surface had been initialized and they forgot to listen to QScreen::geometryChanged(). To reduce the risk of regressions, this patch makes sure we return the same thing as before for the screen geometry and that this is not linked directly to the available screen geometry. Task-number: QTBUG-39464 Change-Id: Ie63337b3b10d2eb5130e4fece6c5b144e8230164 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com> Reviewed-by: Christian Stromme <christian.stromme@digia.com>
| * Make sure we run gracefully below API level 18Jan Arve Saether2014-06-102-18/+12
| | | | | | | | | | | | | | Task-number: QTBUG-39508 Change-Id: I023ba7c50de5c95a5514658797125e22016a6543 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com> Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* | Accessibility: Add actions for value interfacesJan Arve Saether2014-06-201-10/+38
| | | | | | | | | | | | | | | | | | | | | | To support increment / decrement of sliders, dials and spin boxes. (anything with an {in,de}crementAction or a valueInterface. Other platforms will follow the same pattern in follow-up patches. Task-number: QTBUG-38832 Change-Id: Ie570acc39b3d9494a8bb9f624b61a398b1d8de89 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵J-P Nurmi2014-06-0711-32/+133
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/stable' into devJ-P Nurmi2014-06-0511-32/+133
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/features/qt.prf src/plugins/platforms/xcb/qxcbwindow.h src/tools/qdoc/qdocindexfiles.cpp src/widgets/kernel/qwidget_qpa.cpp Change-Id: I214f57b03bc2ff86cf3b7dfe2966168af93a5a67
| | * Android: Repaint affected areas when window movesEskil Abrahamsen Blomfeldt2014-06-041-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are no automatic updates of the window when it moves, since this is not required on most platforms. This broke drag and drop on Android, because drag and drop creates a temporary window containing a pixmap with a snapshot of its content. We need to make sure the old and new location of the window is repainted when it has moved. [ChangeLog][Android] Fixed repaint issues in drag and drop. Task-number: QTBUG-35975 Change-Id: I7b043d728551d9963fb5acec804fb90aec5b50ff Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
| | * Android: Support offscreen surfaces on pbuffersEskil Abrahamsen Blomfeldt2014-06-045-1/+30
| | | | | | | | | | | | | | | | | | | | | | | | This is pretty much the same thing that eglfs does. Task-number: QTBUG-38960 Change-Id: Ibf310ca8e3a4e31e5310ab3a3d3e851eae31a4ad Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| | * Android: Fix flashing on startup/shutdownEskil Abrahamsen Blomfeldt2014-06-044-6/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There were several issues on startup of the application which were caused by the fact that we would get the wrong available screen geometry on startup, set this as the initial surface size and then expose native windows with this size. This would cause first a flicker of white on the early expose and the window contents to jump around as the window was resized to the actual available space on screen. The fix for this is to postpone the first expose until we have actually got a proper screen size from the main layout. We use width,height = 0 as an indicator that the available geometry is not yet known, and we skip posting any expose events before this is set by the layout. In addition, since we removed the surface before we shut down the application, it was by a white rectangle before the shutdown transition happens, and this white rectangle will be animated instead of application contents. To rectify this, we make sure the last surface in the stack remains in the layout until it is either replaced by a different surface or until the application has shut down. This way, the shutdown animation will work on this surface instead. [ChangeLog][Android] Fixed regression where there would be flickering on startup and shutdown of the application. Task-number: QTBUG-38960 Change-Id: Ia1579ca8c522d8beeab066f78070ad49009d0238 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
| | * Do not resolve the java functions for each callJan Arve Saether2014-05-301-21/+41
| | | | | | | | | | | | | | | | | | | | | | | | Instead do it only once (in registerNatives). This is seems to be the preferred way of doing it in other parts of the platform plugin. Change-Id: I361a7862bb5a24b4024c7c6a30ecb14fc515d4ff Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
| | * Android: Report current selection to the input methodPaul Olav Tvete2014-05-261-4/+16
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-39196 Change-Id: Ib798f1de83ccbe3830a746b6ddd435a0934c34cd Reviewed-by: J-P Nurmi <jpnurmi@digia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>