summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--dependencies.yaml4
-rw-r--r--examples/nfc/annotatedurl/android/AndroidManifest.xml69
-rw-r--r--src/bluetooth/CMakeLists.txt1
-rw-r--r--src/nfc/CMakeLists.txt1
-rw-r--r--src/nfc/qnearfieldtarget.cpp2
-rw-r--r--src/nfc/qnearfieldtarget.h3
-rw-r--r--src/nfc/qnearfieldtarget_ios.mm12
7 files changed, 38 insertions, 54 deletions
diff --git a/dependencies.yaml b/dependencies.yaml
index ccedd091..bb02e66a 100644
--- a/dependencies.yaml
+++ b/dependencies.yaml
@@ -1,7 +1,7 @@
dependencies:
../qtbase:
- ref: e7362764d4931f255d2377462df8ac7a0d4e7c84
+ ref: 244964d06a3ffcfea922f79c726ba9182149e2c7
required: true
../qtdeclarative:
- ref: 330fa93d6e9003c0ea188b9e703f2b3f0448f8c8
+ ref: 4ad3d0c6096e6caefec74681eed86c2fa92149fd
required: false
diff --git a/examples/nfc/annotatedurl/android/AndroidManifest.xml b/examples/nfc/annotatedurl/android/AndroidManifest.xml
index 3378612d..101900ab 100644
--- a/examples/nfc/annotatedurl/android/AndroidManifest.xml
+++ b/examples/nfc/annotatedurl/android/AndroidManifest.xml
@@ -1,53 +1,32 @@
-<?xml version="1.0"?>
-<manifest package="org.qtproject.example.annotatedurl" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="-- %%INSERT_VERSION_NAME%% --" android:versionCode="-- %%INSERT_VERSION_CODE%% --" android:installLocation="auto">
- <!-- The following comment will be replaced upon deployment with default permissions based on the dependencies of the application.
- Remove the comment if you do not require these default permissions. -->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="org.qtproject.annotatedurl"
+ android:installLocation="auto"
+ android:versionCode="-- %%INSERT_VERSION_CODE%% --"
+ android:versionName="-- %%INSERT_VERSION_NAME%% --">
<!-- %%INSERT_PERMISSIONS -->
-
- <!-- The following comment will be replaced upon deployment with default features based on the dependencies of the application.
- Remove the comment if you do not require these default features. -->
<!-- %%INSERT_FEATURES -->
-
- <supports-screens android:largeScreens="true" android:normalScreens="true" android:anyDensity="true" android:smallScreens="true"/>
- <application android:hardwareAccelerated="true" android:name="org.qtproject.qt.android.bindings.QtApplication" android:label="-- %%INSERT_APP_NAME%% --" android:extractNativeLibs="true" android:requestLegacyExternalStorage="true" android:allowBackup="true" android:fullBackupOnly="false">
- <activity android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation|mcc|mnc|density" android:name="org.qtproject.qt.android.bindings.QtActivity" android:label="-- %%INSERT_APP_NAME%% --" android:screenOrientation="unspecified" android:launchMode="singleTask" android:exported="true">
+ <supports-screens android:anyDensity="true"
+ android:largeScreens="true"
+ android:normalScreens="true"
+ android:smallScreens="true"/>
+ <application android:name="org.qtproject.qt.android.bindings.QtApplication"
+ android:hardwareAccelerated="true"
+ android:label="-- %%INSERT_APP_NAME%% --"
+ android:requestLegacyExternalStorage="true"
+ android:allowBackup="true"
+ android:fullBackupOnly="false"
+ android:icon="@drawable/icon">
+ <activity android:name="org.qtproject.qt.android.bindings.QtActivity"
+ android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation|mcc|mnc|density"
+ android:launchMode="singleTop"
+ android:screenOrientation="unspecified"
+ android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
- <intent-filter>
- <action android:name="android.nfc.action.NDEF_DISCOVERED"/>
- <category android:name="android.intent.category.DEFAULT"/>
- <data android:mimeType="text/plain"/>
- </intent-filter>
-
- <!-- Application arguments -->
- <meta-data android:name="android.app.arguments" android:value="-- %%INSERT_APP_ARGUMENTS%% --"/>
- <!-- Application arguments -->
-
- <meta-data android:name="android.app.lib_name" android:value="-- %%INSERT_APP_LIB_NAME%% --"/>
-
- <!-- Background running -->
- <!-- Warning: changing this value to true may cause unexpected crashes if the
- application still try to draw after
- "applicationStateChanged(Qt::ApplicationSuspended)"
- signal is sent! -->
- <meta-data android:name="android.app.background_running" android:value="false"/>
- <!-- Background running -->
-
- <!-- extract android style -->
- <!-- available android:values :
- * default - In most cases this will be the same as "full", but it can also be something else if needed, e.g., for compatibility reasons
- * full - useful QWidget & Quick Controls 1 apps
- * minimal - useful for Quick Controls 2 apps, it is much faster than "full"
- * none - useful for apps that don't use any of the above Qt modules
- -->
- <meta-data android:name="android.app.extract_android_style" android:value="default"/>
- <!-- extract android style -->
- </activity>
-
- <!-- For adding service(s) please check: https://wiki.qt.io/AndroidServices -->
-
+ <meta-data android:name="android.app.lib_name"
+ android:value="-- %%INSERT_APP_LIB_NAME%% --"/>
+ </activity>
</application>
-
</manifest>
diff --git a/src/bluetooth/CMakeLists.txt b/src/bluetooth/CMakeLists.txt
index 54e7ac02..296e006c 100644
--- a/src/bluetooth/CMakeLists.txt
+++ b/src/bluetooth/CMakeLists.txt
@@ -46,7 +46,6 @@ qt_internal_add_module(Bluetooth
PRIVATE_MODULE_INTERFACE
Qt::CorePrivate
Qt::NetworkPrivate
- GENERATE_CPP_EXPORTS
)
#### Keys ignored in scope 1:.:.:bluetooth.pro:<TRUE>:
diff --git a/src/nfc/CMakeLists.txt b/src/nfc/CMakeLists.txt
index de2b927f..0c7ba00b 100644
--- a/src/nfc/CMakeLists.txt
+++ b/src/nfc/CMakeLists.txt
@@ -20,7 +20,6 @@ qt_internal_add_module(Nfc
QT_NO_CONTEXTLESS_CONNECT
PUBLIC_LIBRARIES
Qt::Core
- GENERATE_CPP_EXPORTS
)
## Scopes:
diff --git a/src/nfc/qnearfieldtarget.cpp b/src/nfc/qnearfieldtarget.cpp
index dbcca2bd..7ba8f4d7 100644
--- a/src/nfc/qnearfieldtarget.cpp
+++ b/src/nfc/qnearfieldtarget.cpp
@@ -90,6 +90,8 @@ QT_IMPL_METATYPE_EXTERN_TAGGED(QNearFieldTarget::RequestId, QNearFieldTarget__Re
\value CommandError Failed to send a command to the target.
\value TimeoutError The request could not be completed within the time
specified in waitForRequestCompleted().
+ \value UnsupportedTargetError The target used is unsupported. As example this can occur on missing
+ required entitlement and/or privacy settings from the client app.
*/
/*!
diff --git a/src/nfc/qnearfieldtarget.h b/src/nfc/qnearfieldtarget.h
index 0d67011d..3c76dd53 100644
--- a/src/nfc/qnearfieldtarget.h
+++ b/src/nfc/qnearfieldtarget.h
@@ -59,7 +59,8 @@ public:
NdefReadError,
NdefWriteError,
CommandError,
- TimeoutError
+ TimeoutError,
+ UnsupportedTargetError
};
Q_ENUM(Error)
diff --git a/src/nfc/qnearfieldtarget_ios.mm b/src/nfc/qnearfieldtarget_ios.mm
index b058ad75..f49ad4ac 100644
--- a/src/nfc/qnearfieldtarget_ios.mm
+++ b/src/nfc/qnearfieldtarget_ios.mm
@@ -270,15 +270,19 @@ bool QNearFieldTargetPrivateImpl::connect()
id<NFCTag> tag = static_cast<id<NFCTag>>(nfcTag.get());
NFCTagReaderSession* session = tag.session;
[session connectToTag: tag completionHandler: ^(NSError* error){
- const bool success = error == nil;
- QMetaObject::invokeMethod(this, [this, success] {
+ const int errorCode = error == nil ? -1 : error.code;
+ QMetaObject::invokeMethod(this, [this, errorCode] {
requestInProgress = QNearFieldTarget::RequestId();
- if (success) {
+ if (errorCode == -1) {
connected = true;
onExecuteRequest();
} else {
const auto requestId = queue.dequeue().first;
- reportError(QNearFieldTarget::ConnectionError, requestId);
+ reportError(
+ errorCode == NFCReaderError::NFCReaderErrorSecurityViolation
+ ? QNearFieldTarget::UnsupportedTargetError
+ : QNearFieldTarget::ConnectionError,
+ requestId);
invalidate();
}
});