aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@digia.com>2014-03-24 16:04:55 +0100
committerFrederik Gladhorn <frederik.gladhorn@digia.com>2014-03-24 16:04:55 +0100
commiteae2f503c015cdf5f6a97a9b10988a2e9ac09d87 (patch)
tree3b08e46f43292fc025069f4e5f70f3f7ee49015d
parent1a509edeba44bd0a45c95ab2ba52e783d9053547 (diff)
parent743ca4560fc99b91044f8ab01941dc89edeb00fa (diff)
Merge remote-tracking branch 'origin/stable' into dev
-rw-r--r--examples/androidextras/notification/android-sources/AndroidManifest.xml4
-rw-r--r--src/androidextras/android/qandroidactivityresultreceiver.h4
-rw-r--r--src/androidextras/jni/qandroidjnienvironment.cpp2
-rw-r--r--src/androidextras/jni/qandroidjniobject.cpp39
-rw-r--r--src/androidextras/jni/qandroidjniobject.h8
-rw-r--r--tests/auto/qandroidjniobject/tst_qandroidjniobject.cpp8
6 files changed, 59 insertions, 6 deletions
diff --git a/examples/androidextras/notification/android-sources/AndroidManifest.xml b/examples/androidextras/notification/android-sources/AndroidManifest.xml
index ed24656..243c9ef 100644
--- a/examples/androidextras/notification/android-sources/AndroidManifest.xml
+++ b/examples/androidextras/notification/android-sources/AndroidManifest.xml
@@ -30,7 +30,9 @@
<meta-data android:value="@string/fatal_error_msg" android:name="android.app.fatal_error_msg"/>
<!-- Messages maps -->
<!-- Splash screen -->
- <meta-data android:name="android.app.splash_screen" android:resource="@layout/splash"/>
+ <!--
+ <meta-data android:name="android.app.splash_screen_drawable" android:resource="@drawable/logo"/>
+ -->
<!-- Splash screen -->
</activity>
</application>
diff --git a/src/androidextras/android/qandroidactivityresultreceiver.h b/src/androidextras/android/qandroidactivityresultreceiver.h
index 787aebc..caf47c9 100644
--- a/src/androidextras/android/qandroidactivityresultreceiver.h
+++ b/src/androidextras/android/qandroidactivityresultreceiver.h
@@ -42,8 +42,8 @@
#ifndef QANDROIDACTIVITYRESULTRECEIVER_H
#define QANDROIDACTIVITYRESULTRECEIVER_H
-#include "qandroidextrasglobal.h"
-#include "qandroidjniobject.h"
+#include <QtAndroidExtras/qandroidextrasglobal.h>
+#include <QtAndroidExtras/qandroidjniobject.h>
QT_BEGIN_NAMESPACE
diff --git a/src/androidextras/jni/qandroidjnienvironment.cpp b/src/androidextras/jni/qandroidjnienvironment.cpp
index 48a817b..023bc9e 100644
--- a/src/androidextras/jni/qandroidjnienvironment.cpp
+++ b/src/androidextras/jni/qandroidjnienvironment.cpp
@@ -82,7 +82,7 @@ QT_BEGIN_NAMESPACE
/*!
\fn QAndroidJniEnvironment::operator JNIEnv *() const
- Returns the the JNI Environment pointer.
+ Returns the JNI Environment pointer.
*/
diff --git a/src/androidextras/jni/qandroidjniobject.cpp b/src/androidextras/jni/qandroidjniobject.cpp
index 2448d54..43e6e70 100644
--- a/src/androidextras/jni/qandroidjniobject.cpp
+++ b/src/androidextras/jni/qandroidjniobject.cpp
@@ -464,12 +464,22 @@ QT_BEGIN_NAMESPACE
\fn QAndroidJniObject QAndroidJniObject::getObjectField(const char *fieldName) const
Retrieves the object of field \a fieldName.
+
+ \code
+ QAndroidJniObject field = jniObject.getObjectField<jstring>("FIELD_NAME");
+ \endcode
*/
/*!
\fn QAndroidJniObject QAndroidJniObject::getObjectField(const char *fieldName, const char *signature) const
Retrieves the object from the field with \a signature and \a fieldName.
+
+ \note Since \b{Qt 5.3} this function can be used without a template type.
+
+ \code
+ QAndroidJniObject field = jniObject.getObjectField("FIELD_NAME", "Ljava/lang/String;");
+ \endcode
*/
/*!
@@ -488,24 +498,42 @@ QT_BEGIN_NAMESPACE
\fn QAndroidJniObject QAndroidJniObject::getStaticObjectField(const char *className, const char *fieldName)
Retrieves the object from the field \a fieldName on the class \a className.
+
+ \code
+ QAndroidJniObject jobj = QAndroidJniObject::getStaticObjectField<jstring>("class/with/Fields", "FIELD_NAME");
+ \endcode
*/
/*!
\fn QAndroidJniObject QAndroidJniObject::getStaticObjectField(const char *className, const char *fieldName, const char *signature)
-
Retrieves the object from the field with \a signature and \a fieldName on class \a className.
+
+ \note Since \b{Qt 5.3} this function can be used without a template type.
+
+ \code
+ QAndroidJniObject jobj = QAndroidJniObject::getStaticObjectField("class/with/Fields", "FIELD_NAME", "Ljava/lang/String;");
+ \endcode
*/
/*!
\fn QAndroidJniObject QAndroidJniObject::getStaticObjectField(jclass clazz, const char *fieldName)
Retrieves the object from the field \a fieldName on \a clazz.
+
+ \code
+ QAndroidJniObject jobj = QAndroidJniObject::getStaticObjectField<jstring>(clazz, "FIELD_NAME");
+ \endcode
*/
/*!
\fn QAndroidJniObject QAndroidJniObject::getStaticObjectField(jclass clazz, const char *fieldName, const char *signature)
-
Retrieves the object from the field with \a signature and \a fieldName on \a clazz.
+
+ \note Since \b{Qt 5.3} this function can be used without a template type.
+
+ \code
+ QAndroidJniObject jobj = QAndroidJniObject::getStaticObjectField(clazz, "FIELD_NAME", "Ljava/lang/String;");
+ \endcode
*/
/*!
@@ -602,6 +630,13 @@ QT_BEGIN_NAMESPACE
free it yourself.
\snippet code/src_androidextras_qandroidjniobject.cpp QAndroidJniObject scope
+
+ \note Since \b{Qt 5.3} this function can be used without a template type, if the returned type
+ is a \c jobject.
+
+ \code
+ jobject object = jniObject.object();
+ \endcode
*/
/*!
diff --git a/src/androidextras/jni/qandroidjniobject.h b/src/androidextras/jni/qandroidjniobject.h
index a1eb4fd..9d880fa 100644
--- a/src/androidextras/jni/qandroidjniobject.h
+++ b/src/androidextras/jni/qandroidjniobject.h
@@ -64,7 +64,9 @@ public:
template <typename T>
inline T object() const { return static_cast<T>(javaObject()); }
+#ifndef Q_QDOC
inline jobject object() const { return javaObject(); }
+#endif // Q_QDOC
template <typename T>
T callMethod(const char *methodName) const;
@@ -98,9 +100,11 @@ public:
T getField(const char *fieldName) const;
template <typename T>
QAndroidJniObject getObjectField(const char *fieldName) const;
+#ifndef Q_QDOC
// ### Qt 6 remove templated version
template <typename T>
QAndroidJniObject getObjectField(const char *fieldName, const char *sig) const;
+#endif // Q_QDOC
QAndroidJniObject getObjectField(const char *fieldName, const char *sig) const;
template <typename T>
void setField(const char *fieldName, T value);
@@ -108,11 +112,13 @@ public:
void setField(const char *fieldName, const char *sig, T value);
template <typename T>
static QAndroidJniObject getStaticObjectField(const char *className, const char *fieldName);
+#ifndef Q_QDOC
// ### Qt 6 remove templated version
template <typename T>
static QAndroidJniObject getStaticObjectField(const char *className,
const char *fieldName,
const char *sig);
+#endif // Q_QDOC
static QAndroidJniObject getStaticObjectField(const char *className,
const char *fieldName,
const char *sig);
@@ -120,11 +126,13 @@ public:
static T getStaticField(const char *className, const char *fieldName);
template <typename T>
static QAndroidJniObject getStaticObjectField(jclass clazz, const char *fieldName);
+#ifndef Q_QDOC
// ### Qt 6 remove templated version
template <typename T>
static QAndroidJniObject getStaticObjectField(jclass clazz,
const char *fieldName,
const char *sig);
+#endif // Q_QDOC
static QAndroidJniObject getStaticObjectField(jclass clazz,
const char *fieldName,
const char *sig);
diff --git a/tests/auto/qandroidjniobject/tst_qandroidjniobject.cpp b/tests/auto/qandroidjniobject/tst_qandroidjniobject.cpp
index 1353660..cc624c1 100644
--- a/tests/auto/qandroidjniobject/tst_qandroidjniobject.cpp
+++ b/tests/auto/qandroidjniobject/tst_qandroidjniobject.cpp
@@ -95,6 +95,7 @@ private slots:
void getStaticCharField();
void getBooleanField();
void getIntField();
+ void isClassAvailable();
void cleanupTestCase();
};
@@ -715,6 +716,13 @@ void tst_QAndroidJniObject::getIntField()
QCOMPARE(res, -1);
}
+void tst_QAndroidJniObject::isClassAvailable()
+{
+ QVERIFY(QAndroidJniObject::isClassAvailable("java/lang/String"));
+ QVERIFY(!QAndroidJniObject::isClassAvailable("class/not/Available"));
+ QVERIFY(QAndroidJniObject::isClassAvailable("org/qtproject/qt5/android/QtActivityDelegate"));
+}
+
QTEST_APPLESS_MAIN(tst_QAndroidJniObject)
#include "tst_qandroidjniobject.moc"