summaryrefslogtreecommitdiffstats
path: root/src/android/jar
Commit message (Collapse)AuthorAgeFilesLines
* Android: Fix select handles misplacement on QDialogPekka Gehör2021-05-253-0/+21
| | | | | | | | | | Get select handles {Left, Right}Point from a mapToGlobal with a cursorRectangleof anchorRectangle of the selected word/text. Task-number: QTBUG-90799 Change-Id: I4fed19a1d3bb2247656b052306307e6980074405 Reviewed-by: Rami Potinkara <rami.potinkara@qt.io> Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* Android: Reset m_usePrimaryClip when clearing the clip dataAndy Shaw2021-05-191-0/+1
| | | | | | | | | | | The variable needs to be set to false when we clear the clip data as there is no primary clip anymore so we should not try to access it when setting new data. Fixes: QTBUG-93831 Pick-to: 6.1 5.15 Change-Id: I309270dc075fcb0457607561ee23e12f7eb6397f Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Android: Fix position issue of the EditPopupMenuPekka Gehör2021-05-121-2/+5
| | | | | | | | | Set y for the EditPopupMenu from the previous correct value if select handles values are zero. The SelectionHandle.bottom() is zero if selection handles have not yet been displayed on the screen. Task-number: QTBUG-71900 Change-Id: I3694a8edd4f0d8f8799dbac1217a75c375038e66 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Handle checkPermission() below api 23Assam Boudjelthia2021-05-111-7/+2
| | | | | | | | | | | | | | | | | | Although Qt 6 supports API 23+, it's still not bad to do this fix, it achieves two things: * Avoid the use of reflection when checking for permission state * It works for all api versions With this we would be sure we don't need to do a check in c++ if (androidSdkVersion < 23) return true; The platform api checks if permission is granted or not, irrelevant of the api version. Change-Id: I9766dc35bbc8347ad0d60fde54b95710c8866736 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Move Android Extras as private APIs under qtbaseAssam Boudjelthia2021-05-103-0/+202
| | | | | | | | To the option to users to use some needed APIs until we make them ready as proper cross-platform public APIs. Change-Id: I53006397463331ebae8314bf8a3a019474aec617 Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* Remove unused functions in qjnihelpersAssam Boudjelthia2021-05-081-3/+0
| | | | | | | | * Remove setNative{Activity,Service} and runOnUiThread functions which are not used anywhere, probably left overs. Change-Id: Ic7502dfd50d8eb4a9fa7abbe540a594a3614f14b Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* Android: handle ImEnterKeyType flagBartlomiej Moskal2021-05-052-1/+31
| | | | | | | | | | | | | | | | | Replace KEYCODE_ENTER to KEYCODE_TAB if IME_ACTION_NEXT or IME_ACTION_PREVIOUS flag is set. Before this change any of imKeyEntryType [1] was handled as default return key. After the fix, event is changed to Tab or Backtab (if any of mentioned flag is set) [1] https://doc.qt.io/qt-5/qt.html#EnterKeyType-enum Fixes: QTBUG-61652 Pick-to: 5.15 Change-Id: Ia27aa308fdae75bc17d1e892d17048c5afa3e2cb Reviewed-by: Rami Potinkara <rami.potinkara@qt.io> Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* Android: Fix Application becomes unresponsive issuePekka Gehör2021-05-032-2/+13
| | | | | | | | | Block key events until the plugin is running. Fixes: QTBUG-67944 Pick-to: 5.15 6.1 Change-Id: Iea47f2e94d850141834a7e8fc26218be2cacf660 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Merge integration refs/builds/qtci/dev/1617105725Qt CI Bot2021-03-301-0/+5
|\
| * Android: Fix Touch event position depending on SurfaceBartlomiej Moskal2021-03-301-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Touch event position is counted from begin of Surface. Later method QAndroidPlatformScreen::topLevelAt(..) is trying to return the top level window at the touch event position. In case when Surface is moved, we should also add this move to event position. If it is not happening, touch event will not be assigned to correct window. Fixes: QTBUG-65927 Pick-to: 5.15 Change-Id: I549b9ec964cb09607153c60b9d9f6e0068a04cc2 Reviewed-by: Rami Potinkara <rami.potinkara@qt.io> Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* | Android: Add select and copy capability to read-only text widgetsPiotr Mikolajczyk2021-03-301-3/+1
|/ | | | | | | | | | | | | | | | In case of a read-only text editing widget it was imposibble to copy text from it. In QtWidgets you could not even see the selection handless. Text selection in QtWidgets module was filtered depending on readOnly property of the widget. Additionally, in InputMethod the read-only state was translated into disabled. Patch also makes the edit menu to be aware of the read-only status of the control - the menu items are different for rw and ro controls. Task-number: QTBUG-91417 Change-Id: Ic7b27f78678eeaa87a38607af787f254db1383b8 Reviewed-by: Rami Potinkara <rami.potinkara@qt.io> Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* Android: fix wrong position of cursor hander in split screenBartlomiej Moskal2021-03-261-4/+8
| | | | | | | | | | | | Use activity window position to fix position of cursor hander. In case without splti sceen, position of activity window is equal (0, 0), so it does not have any effect. Fixes: QTBUG-91362 Pick-to: 5.15 Change-Id: Icae9f19308112a78bdddf168abe81ffe7b6e4fae Reviewed-by: Rami Potinkara <rami.potinkara@qt.io> Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* Android: fix for isSoftwareKeyboard methodBartlomiej Moskal2021-03-262-8/+15
| | | | | | | | | | | | | | | | | | | | isSoftwareKeyboard() method will rely on visibility flag from activityDelegate. In such case it also need to consider that keyboard is during the hiding. Fix the regression related with commit: e6ca200a3a0aecc2313becf959c1be4fe18bdfa1 Before this change Software Keyboard is not showing after changing the focus. It is happening when Keyboard is already visible and focus is changed to widget that also need the keyboard. In such case keyboard is hiding (and NOT showing again). Pick-to: 5.15 Fixes: QTBUG-92051 Change-Id: I6a5d07b25442429fda6e715d09ea104432c5ef50 Reviewed-by: Rami Potinkara <rami.potinkara@qt.io> Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* Android: Fix constant resize of a large TextEdit on clickPiotr Mikolajczyk2021-03-101-0/+14
| | | | | | | | | | | | | If there is a large (3/5 of the screen in portrait or 2/3 in landscape) TextEdit on the screen, and it gets focus on click, it will be shrank to fit the screen. Next click on this TextEdit will restore its normal height, the next will shrink. Pick-to: 5.15 Fixes: QTBUG-91056 Change-Id: I3dbf085cbfdc2739d537a304c16e28c58a6e01ce Reviewed-by: Rami Potinkara <rami.potinkara@qt.io> Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* Android: Place cursor correctly on screen when editingPiotr Mikolajczyk2021-03-052-5/+27
| | | | | | | | | | | | When editing text the cursor is not placed correctly. So this has been achieved by tricking Android into thinking that the input area is only the line where the cursor is, so it is forced to keep it on screen. Fixes: QTBUG-91073 Pick-to: 5.15 Change-Id: Icc2e8315deb76ca1a84819d3fdceaa7b027b1174 Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* Android: replace stacktrace with debug message in search for setServiceLars Schmertmann2021-02-181-2/+6
| | | | | | | | | | | | | | Don't print stacktrace when setService is not found but only print a debug message, QtServiceDelegate will continue to look for setContext which might actually be a problem if not implemented. 950e628fd842f22ac741b18440fcc99213820587 did this change for QtActivityDelegate. Fixes: QTBUG-86733 Pick-to: 5.15 6.0 6.1 Change-Id: I8f2c6494da9133a3e9dedaabbe5fc931732d0d72 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Add build.gradle to easily modifying Java project with Android StudioAssam Boudjelthia2021-02-124-1/+61
| | | | | | Pick-to: 6.0 6.1 Change-Id: Ie030ff0a3569caa0eacfa331d21f59e5455c90ed Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Android: Fix the input type for date/timeChristian Strømme2021-02-081-1/+1
| | | | | | | | | | The default variation of the DATETIME class is to show the layout for date and time. If either date or time is requested, then only set one of them. Pick-to: 6.1 6.0 5.15 Change-Id: I5178f5f80490b7b0d7e7011d11da402a316d164a Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Android: Replace magic number for TYPE_NUMBER_VARIATION_PASSWORDChristian Strømme2021-02-021-1/+1
| | | | | | | | | This field has been defined since API level 11, so no reason why we shouldn't just use that instead. Pick-to: 6.0 Change-Id: I8e3ffde3680e41f26d776e1f0474f632186a6b27 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Android: Fix input method hints for ImhHiddenTextChristian Strømme2021-02-021-15/+9
| | | | | | | | | | | | | | | | | | | If ImhHiddenText is set then that should take precedence over the other input method hints. Also, certain combinations aren't really possible. E.g., ImhEmailCharactersOnly and ImhHiddenText doesn't have its own specific variation on Android. ImhSensitiveData and ImhNoPredictiveText are also likely to not work as TYPE_TEXT_FLAG_NO_SUGGESTIONS is normally ignored by Android keyboards. A common workaround is to use the visible password variation but since this will force the layout to use latin characters it's not something we can use as an universal workaround, so users will need to manually enable it through the environment variable QT_ANDROID_ENABLE_WORKAROUND_TO_DISABLE_PREDICTIVE_TEXT Fixes: QTBUG-85787 Pick-to: 6.0 5.15 Change-Id: I0ff591ec9acf8dd556c7987e6d997cff3ddfe38e Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Android: Finish composing text before Key handlingBartlomiej Moskal2021-01-191-0/+11
| | | | | | | | | | | | If the sendKeyEvent was invoked, it means that the button not related with composing text was used. In such case composing text (if it exists) should be immediately finished. Fixes: QTBUG-85715 Pick-to: 5.15 6.0 Change-Id: Ifbca067805b8d20f6a90f95b27210595abed964a Reviewed-by: Rami Potinkara <rami.potinkara@qt.io> Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Remove .prev_CMakeLists.txt filesJoerg Bornemann2021-01-121-31/+0
| | | | | | | | | | Those serve no purpose anymore, now that the .pro files are gone. Task-number: QTBUG-88742 Change-Id: I39943327b8c9871785b58e9973e4e7602371793e Reviewed-by: Cristian Adam <cristian.adam@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Remove the qmake project filesJoerg Bornemann2021-01-071-29/+0
| | | | | | | | | | | | | | | | Remove the qmake project files for most of Qt. Leave the qmake project files for examples, because we still test those in the CI to ensure qmake does not regress. Also leave the qmake project files for utils and other minor parts that lack CMake project files. Task-number: QTBUG-88742 Change-Id: I6cdf059e6204816f617f9624f3ea9822703f73cc Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Android: Fix for accessibility potential crashPiotr Mikolajczyk2020-12-181-0/+2
| | | | | | | | | When accessibility was not active it was possible to force its update, causing a null pointer exception in java. Pick-to: 6.0 5.15 Change-Id: I60f65612d6e9f712ba3c591ffcc6803f06f09efb Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Android: Qml accessibility fixesPiotr Mikolajczyk2020-12-083-5/+78
| | | | | | | | | | | | | | | | | | - Accessibility focus can follow the position of the widget (for example when swiping on a scrollview) - controls are clickable directly after appearing on the screen after scroll (previously you had to click somewhere else on the screen, and after that you could focus the newly appeared control) - checkbox and switch react correctly on click action - fixed combobox behavior with accessibility enabled Task-number: QTBUG-79611 Pick-to: 6.0 5.15 Change-Id: If36914ab0165f33593e68fd7ecf168693f8538a7 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Android: avoid reflection with ClipData addItemAssam Boudjelthia2020-12-011-22/+5
| | | | | | | | Task-number: QTBUG-81687 Pick-to: 6.0 5.15 Change-Id: If07fff6f371d2c05cb61a1a7695c96219d0260d2 Reviewed-by: Rami Potinkara <rami.potinkara@qt.io> Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Android: Treat ACTION_CANCEL as TouchPointReleasedBartlomiej Moskal2020-11-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | If TouchPointPressed was previously send and there is no TouchPointReleased, we are exposed to uncorrectly handled touches by application. Some Android devices can recognize hand gestures. In some case the gesture may be handled by Android System. In this situation ACTION_CANCEL MotionEvent is delivered ACTION_CANCEL - from Android specification: -"Occurs when the parent takes possession of the motion, for example when the user has dragged enough across a list view that it will start scrolling instead of letting you press the buttons inside of it" -"The current gesture has been aborted. You will not receive any more points in it. You should treat this as an up event, but not perform any action that you normally would" If ACTION_CANCEL appears it means that ACTION_UP will not be delivered to application. That is why ACTION_CANCEL need to be treat as TouchPointReleased event. Fixes: QTBUG-72110 Pick-to: 5.15 Change-Id: I8f32930cdb424b7530adc87b8334ac48a3bb9d57 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Android: Don't use putIfAbsent as that is not available in older APIsAndy Shaw2020-11-021-2/+2
| | | | | | | Fixes: QTBUG-88076 Change-Id: I1ab12c574be036babfd0e4aacb44d1f75c66f4ad Pick-to: 5.15 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Android: replace stacktrace with debug message in search for setActivityAssam Boudjelthia2020-10-291-2/+4
| | | | | | | | | | | | Don't print stacktrace when setActivity is not found but only print a debug message, QtActivityDelegate will continue to look for setContext which might actually be a problem if not implemented. Fixes: QTBUG-86733 Pick-to: 5.15.2 Change-Id: Iaf7f347ae04605a1f616f24d25cac4938c1640a4 Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io> Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
* Fix QSaveFile always failing on content: URLsVolker Krause2020-10-231-0/+5
| | | | | | | | QSaveFile needs QFileInfo::isWritable() to work, which 7e5f38aec667 caused to always return false for content: URLs. Change-Id: If839331e4bd176765ed242791cb253c2064f5f6d Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Android: rename Android's package name for Qt 6Assam Boudjelthia2020-10-0320-54/+54
| | | | | | | | | | Rename Android package name org.qtproject.qt5.android to org.qtproject.qt.android to avoid inconsistency with Qt 6 name. Also, we include the major version number in the jar target. Task-number: QTBUG-86969 Change-Id: Ibb68947289be1079911b34ea157bf089cc52c47f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: build add flags for building QtAndroid.jarAssam Boudjelthia2020-09-162-2/+2
| | | | | | | | | | | | | Adds -source, -target, -Xlint:unchecked, -bootclasspath flags. Setting default javac build source and target versions to 8. Allow setting custom values for javac build versions via -DQT_ANDROID_JAVAC_SOURCE, and -DQT_ANDROID_JAVAC_TARGET. Task-number: QTBUG-86282 Change-Id: I98f4f193ac96016dc722d178594d7fd401202f68 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Android: Pass the parsed URI if it fails to get permission on 23 or lessAndy Shaw2020-09-111-0/+4
| | | | | | | | | | | In Android API level 23 or lower it will still be able to open the file even if the permissions are not provided. If the system is not going to allow it then it will prevent it later on. So we trust the system to block access if need be. Pick-to: 5.15 Change-Id: If663e3cf0a10818931577988abdc0fb8ec2650db Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Use ApplicationInfo to get metaDataMike Achtelik2020-08-281-5/+5
| | | | | | | | | Since the load*Libraries functions might also be invoked when using an android service, where no activity is present, we can't rely on the activity to get the metaData. Pick-to: 5.15 Change-Id: I493c68591dbcfbe3063971cfd9ab384df71d03d7 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Android: Add support for travesing directories and accessing filesAndy Shaw2020-08-071-6/+103
| | | | | | | | | | | | | | | | | | | This enables QDir and QFileInfo/QFile to work with entries found from a entryList() as it will obtain the permission for these files correctly when it is encountered. Due to what seems to be a quirk in the Android API, we cache whenever we come across a known directory to save time later on for checking if it is a directory. All uris accessed where we get permissions for are cached so we get the right URI for that given content url as some are granted via the Intent. Fixes: QTBUG-85538 Fixes: QTBUG-83041 Fixes: QTBUG-76886 Pick-to: 5.15 Change-Id: I685b3c60804812a0e4b85fbdbb4ec5efaa09420c Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Android: add missing printStackTrace() in catch statementsAssam Boudjelthia2020-07-143-3/+20
| | | | | | Pick-to: 5.15 Change-Id: Id50743113fcdd450932111cfe1a563276f152bb1 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* CMake: Fix various issues with the Android buildAlexandru Croitor2020-07-092-0/+2
| | | | | | | | | | | | | | | | | | | Certain resources and compiled jar files have to be copied into the non-prefix build dir location. They were previously only installed, which doesn't do anything in a non-prefix build. Change pro2cmake to generate code that places the compiled java jars into QT_BUILD_DIR, so that non-prefix builds work. Place the module dependencies xml files into lib folder in non-prefix builds. Don't special case the output and install location of the Android QPA plugin. Task-number: QTBUG-85399 Change-Id: I4ac9d3929ea8ecc95ec99a77e621ad2121b68832 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Android: check for debug mode before fetching extraappparamsAssam Boudjelthia2020-07-081-6/+6
| | | | | | | | | | | | | | | In pre Qt 5.14, the assets folder used to have the file "--Added-by-androiddeployqt--/debugger.command", that indicate debug mode, however, in Qt 5.14+ the assets are compressed into one file, so this current check is obsolete. Qt Creator uses extraappparams to pass QML debugger args, without it the debugger won't start. Pick-to: 5.15 Task-number: QTCREATORBUG-24155 Change-Id: Ib3037f4dc8c55af6932d598c6491a046efe13033 Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Android: fix QDesktopServices::openUrl() error for file scheme pathAssam Boudjelthia2020-06-261-3/+5
| | | | | | | | | | | If the url is a "file:" scheme url don't check for permissions which the file won't have, and then disable StrictMode for API >= 24 to be able to pass the "file:" path to the openUrl intent. Pick-to: 5.15 Fixes: QTBUG-67877 Change-Id: Ia3fecc24a67069dc76f866455277bf8b929e7697 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Android: Don't pause when in multi window modeAndy Shaw2020-06-251-1/+2
| | | | | | | | | | When the application is in multi window mode then when pausing it should not suspend the application as it can still be visible in the background. Change-Id: I03a561459b2aa04c808b7d4220cd3e558671dd17 Pick-to: 5.15 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Android: Clear the clipboard when getting a null mimedataAndy Shaw2020-05-301-0/+2
| | | | | | | | | | From API 28 it is possible to clear the clipboard so we should ensure that this is done if API 28 or later is being used. Otherwise it is not removed, but that is due to limitations on the Android side. Pick-to: 5.15 Change-Id: I1fe504d0e566c6923b39b2adf4540619c6b1daf7 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-05-051-0/+5
|\ | | | | | | Change-Id: I003c0d6271c6444748bf30b4331eca3fb2410f44
| * Android: fix mimeTypes handling for file dialogAssam Boudjelthia2020-05-051-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | Since Android native file manager supports mimeTypes, I use QMimeDatabase to get the correct mime type for the nameFilter used with the file dialog. [ChangeLog][Android] Support setting mimetypes and and namefilters for Android native file dialog. Task-number: QTBUG-83089 Change-Id: I46545576dc9b51aa872bb37dbf4fe12b2533bdd9 Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
* | Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-04-221-1/+6
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Android: Only check for uri permissions when it is a file or contentAndy Shaw2020-04-141-1/+6
| | | | | | | | | | | | | | | | | | | | This amends f36b042e2b66a3ad32980b21e9fafc1bd9b0c7c1 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>
* | Android: Implement MaximizeUsingFullscreenGeometryHintEskil Abrahamsen Blomfeldt2020-03-304-42/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (This reintroduces c17a5cec1901dd23f4c39ec2ae47a060fbb06895, 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>
* | Android: Increase minimum API level to Android-23 / Android 6Eskil Abrahamsen Blomfeldt2020-03-042-12/+5
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-03-031-0/+57
|\| | | | | | | Change-Id: If36d96c0fef3de5ab6503977501c55c62a2ecc97
| * Android: Add support for getting information about content urisAndy Shaw2020-02-281-0/+57
| | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-02-261-12/+59
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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