From a4dd3f81448db91b10bdfb236ac81caa8617c381 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Christian=20Str=C3=B8mme?= <christian.stromme@digia.com>
Date: Thu, 30 Jan 2014 13:32:02 +0100
Subject: [PATCH] Add API to get the Android API level

The Android SDK version, or API level, is commonly used to determine
what APIs are available at runtime.

[ChangeLog][QtAndroidExtras] Added convenience method for getting the
Android SDK version.

Change-Id: Ic20322f68bc9680aec9e1c8404583462063904db
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
---
 src/androidextras/android/qandroidfunctions.cpp       | 11 +++++++++++
 src/androidextras/android/qandroidfunctions.h         |  1 +
 .../auto/qandroidfunctions/tst_qandroidfunctions.cpp  |  6 ++++++
 3 files changed, 18 insertions(+)

diff --git a/src/androidextras/android/qandroidfunctions.cpp b/src/androidextras/android/qandroidfunctions.cpp
index 55bc50a..2524614 100644
--- a/src/androidextras/android/qandroidfunctions.cpp
+++ b/src/androidextras/android/qandroidfunctions.cpp
@@ -66,4 +66,15 @@ QAndroidJniObject QtAndroid::androidActivity()
     return QtAndroidPrivate::activity();
 }
 
+/*!
+    \since 5.3
+    \fn int QtAndroid::androidSdkVersion()
+
+    Returns the Android SDK version. This is also known as the API level.
+*/
+int QtAndroid::androidSdkVersion()
+{
+    return QtAndroidPrivate::androidSdkVersion();
+}
+
 QT_END_NAMESPACE
diff --git a/src/androidextras/android/qandroidfunctions.h b/src/androidextras/android/qandroidfunctions.h
index ffd7c3b..700bee8 100644
--- a/src/androidextras/android/qandroidfunctions.h
+++ b/src/androidextras/android/qandroidfunctions.h
@@ -54,6 +54,7 @@ QT_BEGIN_NAMESPACE
 namespace QtAndroid
 {
     Q_ANDROIDEXTRAS_EXPORT QAndroidJniObject androidActivity();
+    Q_ANDROIDEXTRAS_EXPORT int androidSdkVersion();
 }
 
 QT_END_NAMESPACE
diff --git a/tests/auto/qandroidfunctions/tst_qandroidfunctions.cpp b/tests/auto/qandroidfunctions/tst_qandroidfunctions.cpp
index 9f6bfd9..4288b34 100644
--- a/tests/auto/qandroidfunctions/tst_qandroidfunctions.cpp
+++ b/tests/auto/qandroidfunctions/tst_qandroidfunctions.cpp
@@ -46,9 +46,15 @@ class tst_QAndroidFunctions : public QObject
 {
     Q_OBJECT
 private slots:
+    void testAndroidSdkVersion();
     void testAndroidActivity();
 };
 
+void tst_QAndroidFunctions::testAndroidSdkVersion()
+{
+    QVERIFY(QtAndroid::androidSdkVersion() > 0);
+}
+
 void tst_QAndroidFunctions::testAndroidActivity()
 {
     QAndroidJniObject activity = QtAndroid::androidActivity();
-- 
GitLab