From 5f1afeacf69c55495a51dc2cffbc6acf8f654239 Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Thu, 16 Jan 2020 09:03:56 +0100 Subject: Android: Increase minimum API level to Android-23 / Android 6 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 Reviewed-by: BogDan Vatra --- configure.pri | 2 +- mkspecs/features/android/sdk.prf | 2 +- .../jar/src/org/qtproject/qt5/android/ExtractStyle.java | 6 ++---- src/android/jar/src/org/qtproject/qt5/android/QtNative.java | 11 +++-------- .../src/org/qtproject/qt5/android/bindings/QtActivity.java | 9 ++------- src/android/templates/AndroidManifest.xml | 2 +- src/tools/androiddeployqt/main.cpp | 4 ++-- 7 files changed, 12 insertions(+), 24 deletions(-) diff --git a/configure.pri b/configure.pri index 582d80ef91..cba250f7b6 100644 --- a/configure.pri +++ b/configure.pri @@ -625,7 +625,7 @@ defineTest(qtConfOutput_prepareOptions) { android_abis = armeabi-v7a,arm64-v8a,x86,x86_64 platform = $$eval(config.input.android-ndk-platform) isEmpty(platform): \ - platform = android-21 + platform = android-23 $${currentConfig}.output.devicePro += \ "DEFAULT_ANDROID_SDK_ROOT = $$val_escape(sdk_root)" \ diff --git a/mkspecs/features/android/sdk.prf b/mkspecs/features/android/sdk.prf index fe7b9a27bd..3c10870bcc 100644 --- a/mkspecs/features/android/sdk.prf +++ b/mkspecs/features/android/sdk.prf @@ -1,6 +1,6 @@ API_VERSION_TO_USE = $$(ANDROID_API_VERSION) isEmpty(API_VERSION_TO_USE): API_VERSION_TO_USE = $$API_VERSION -isEmpty(API_VERSION_TO_USE): API_VERSION_TO_USE = android-21 +isEmpty(API_VERSION_TO_USE): API_VERSION_TO_USE = android-23 ANDROID_JAR_FILE = $$ANDROID_SDK_ROOT/platforms/$$API_VERSION_TO_USE/android.jar !exists($$ANDROID_JAR_FILE) { diff --git a/src/android/jar/src/org/qtproject/qt5/android/ExtractStyle.java b/src/android/jar/src/org/qtproject/qt5/android/ExtractStyle.java index e6de354ac4..ae06506c96 100644 --- a/src/android/jar/src/org/qtproject/qt5/android/ExtractStyle.java +++ b/src/android/jar/src/org/qtproject/qt5/android/ExtractStyle.java @@ -673,7 +673,7 @@ public class ExtractStyle { json.put("gradient",gradientStateClass.getField("mGradient").getInt(obj)); GradientDrawable.Orientation orientation=(Orientation) gradientStateClass.getField("mOrientation").get(obj); json.put("orientation",orientation.name()); - int [] intArray=(int[]) gradientStateClass.getField((Build.VERSION.SDK_INT < 23) ? "mColors" : "mGradientColors").get(obj); + int [] intArray=(int[]) gradientStateClass.getField("mGradientColors").get(obj); if (intArray != null) json.put("colors",getJsonArray(intArray, 0, intArray.length)); json.put("positions",getJsonArray((float[]) gradientStateClass.getField("mPositions").get(obj))); @@ -1089,9 +1089,7 @@ public class ExtractStyle { { try { InsetDrawable d = (InsetDrawable)drawable; - // mInsetState changed to mState in Android 5.1 (22) - Object mInsetStateObject = getAccessibleField(InsetDrawable.class, (Build.VERSION.SDK_INT > 21) ? "mState" - : "mInsetState").get(d); + Object mInsetStateObject = getAccessibleField(InsetDrawable.class, "mState").get(d); Rect _padding = new Rect(); boolean hasPadding = d.getPadding(_padding); return getDrawable(getAccessibleField(mInsetStateObject.getClass(), "mDrawable").get(mInsetStateObject), filename, hasPadding ? _padding : null); diff --git a/src/android/jar/src/org/qtproject/qt5/android/QtNative.java b/src/android/jar/src/org/qtproject/qt5/android/QtNative.java index a8bf4c15e1..082bae0782 100644 --- a/src/android/jar/src/org/qtproject/qt5/android/QtNative.java +++ b/src/android/jar/src/org/qtproject/qt5/android/QtNative.java @@ -704,14 +704,9 @@ public class QtNative synchronized (m_mainActivityMutex) { Context context = getContext(); try { - if (Build.VERSION.SDK_INT >= 23) { - if (m_checkSelfPermissionMethod == null) - m_checkSelfPermissionMethod = Context.class.getMethod("checkSelfPermission", String.class); - perm = (Integer)m_checkSelfPermissionMethod.invoke(context, permission); - } else { - final PackageManager pm = context.getPackageManager(); - perm = pm.checkPermission(permission, context.getApplicationContext().getPackageName()); - } + if (m_checkSelfPermissionMethod == null) + m_checkSelfPermissionMethod = Context.class.getMethod("checkSelfPermission", String.class); + perm = (Integer)m_checkSelfPermissionMethod.invoke(context, permission); } catch (Exception e) { e.printStackTrace(); } diff --git a/src/android/java/src/org/qtproject/qt5/android/bindings/QtActivity.java b/src/android/java/src/org/qtproject/qt5/android/bindings/QtActivity.java index 3348527b3c..86775619ec 100644 --- a/src/android/java/src/org/qtproject/qt5/android/bindings/QtActivity.java +++ b/src/android/java/src/org/qtproject/qt5/android/bindings/QtActivity.java @@ -93,13 +93,8 @@ public class QtActivity extends Activity public QtActivity() { m_loader = new QtActivityLoader(this); - if (Build.VERSION.SDK_INT >= 21) { - QT_ANDROID_THEMES = new String[] {"Theme_Holo_Light"}; - QT_ANDROID_DEFAULT_THEME = "Theme_Holo_Light"; - } else { - QT_ANDROID_THEMES = new String[] {"Theme_DeviceDefault_Light"}; - QT_ANDROID_DEFAULT_THEME = "Theme_DeviceDefault_Light"; - } + QT_ANDROID_THEMES = new String[] {"Theme_Holo_Light"}; + QT_ANDROID_DEFAULT_THEME = "Theme_Holo_Light"; } diff --git a/src/android/templates/AndroidManifest.xml b/src/android/templates/AndroidManifest.xml index 6d0f4e0d45..8dadd1eac8 100644 --- a/src/android/templates/AndroidManifest.xml +++ b/src/android/templates/AndroidManifest.xml @@ -1,6 +1,6 @@ - + diff --git a/src/tools/androiddeployqt/main.cpp b/src/tools/androiddeployqt/main.cpp index 3531e762fa..bcb96841df 100644 --- a/src/tools/androiddeployqt/main.cpp +++ b/src/tools/androiddeployqt/main.cpp @@ -1425,8 +1425,8 @@ bool updateAndroidManifest(Options &options) options.packageName = reader.attributes().value(QLatin1String("package")).toString(); } else if (reader.name() == QLatin1String("uses-sdk")) { if (reader.attributes().hasAttribute(QLatin1String("android:minSdkVersion"))) - if (reader.attributes().value(QLatin1String("android:minSdkVersion")).toInt() < 21) { - fprintf(stderr, "Invalid minSdkVersion version, minSdkVersion must be >= 21\n"); + if (reader.attributes().value(QLatin1String("android:minSdkVersion")).toInt() < 23) { + fprintf(stderr, "Invalid minSdkVersion version, minSdkVersion must be >= 23\n"); return false; } } else if ((reader.name() == QLatin1String("application") || -- cgit v1.2.3