From 70a8fbf7be2a302d3427fe0d570f5f8e5e7e9bdd Mon Sep 17 00:00:00 2001
From: FalsinSoft <falsinsoft@gmail.com>
Date: Thu, 24 Sep 2020 23:27:22 +0200
Subject: [PATCH] Updated project to androidx package support

---
 Documentation/index.html                                 | 2 +-
 QtAndroidTools/QAndroidNotification.cpp                  | 3 +--
 .../falsinsoft/qtandroidtools/AndroidGoogleAccount.java  | 2 +-
 .../falsinsoft/qtandroidtools/AndroidNotification.java   | 4 ++--
 .../com/falsinsoft/qtandroidtools/AndroidSharing.java    | 2 +-
 .../android/vending/expansion/downloader/Helpers.java    | 2 +-
 .../downloader/impl/BroadcastDownloaderClient.java       | 2 +-
 .../vending/expansion/downloader/impl/ClientProxy.java   | 2 +-
 .../expansion/downloader/impl/DownloadNotification.java  | 4 ++--
 QtAndroidToolsDemo/QtAndroidToolsDemo.pro                | 3 ++-
 QtAndroidToolsDemo/android/AndroidManifest.xml           | 9 ++++++---
 QtAndroidToolsDemo/android/build.gradle                  | 5 ++---
 QtAndroidToolsDemo/android/gradle.properties             | 2 ++
 13 files changed, 23 insertions(+), 19 deletions(-)
 create mode 100644 QtAndroidToolsDemo/android/gradle.properties

diff --git a/Documentation/index.html b/Documentation/index.html
index 1e10a97..e070a68 100644
--- a/Documentation/index.html
+++ b/Documentation/index.html
@@ -643,7 +643,7 @@ for(var i = 0; i < filesList.length; i++)
    &lt;data android:mimeType=&quot;image/*&quot;/&gt;
 &lt;/intent-filter&gt;</pre>
 							<p>Regarding the file sharing provider the code is the following:</p>
-						<pre>&lt;provider android:name=&quot;android.support.v4.content.FileProvider&quot;
+						<pre>&lt;provider android:name=&quot;androidx.core.content.FileProvider&quot;
           android:authorities=&quot;${applicationId}.qtandroidtoolsfileprovider&quot;
           android:grantUriPermissions=&quot;true&quot;
           android:exported=&quot;false&quot;&gt;
diff --git a/QtAndroidTools/QAndroidNotification.cpp b/QtAndroidTools/QAndroidNotification.cpp
index 040694c..2b71fa0 100644
--- a/QtAndroidTools/QAndroidNotification.cpp
+++ b/QtAndroidTools/QAndroidNotification.cpp
@@ -163,10 +163,9 @@ const QString& QAndroidNotification::getSmallIconName() const
 void QAndroidNotification::setSmallIconName(const QString &smallIconName)
 {
     const QAndroidJniObject activity = QtAndroid::androidActivity();
-    QAndroidJniObject packageName, packageManager, resources;
+    QAndroidJniObject packageName, resources;
     int smallIconResourceId;
 
-    packageManager = activity.callObjectMethod("getPackageManager", "()Landroid/content/pm/PackageManager;");
     packageName = activity.callObjectMethod("getPackageName", "()Ljava/lang/String;");
     resources = activity.callObjectMethod("getResources", "()Landroid/content/res/Resources;");
 
diff --git a/QtAndroidTools/src/com/falsinsoft/qtandroidtools/AndroidGoogleAccount.java b/QtAndroidTools/src/com/falsinsoft/qtandroidtools/AndroidGoogleAccount.java
index 2527f9c..a00c16c 100644
--- a/QtAndroidTools/src/com/falsinsoft/qtandroidtools/AndroidGoogleAccount.java
+++ b/QtAndroidTools/src/com/falsinsoft/qtandroidtools/AndroidGoogleAccount.java
@@ -35,7 +35,7 @@ import android.os.AsyncTask;
 import android.content.pm.ActivityInfo;
 import android.content.pm.ResolveInfo;
 import android.content.ComponentName;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
 import com.google.android.gms.auth.api.signin.GoogleSignIn;
 import com.google.android.gms.auth.api.signin.GoogleSignInAccount;
 import com.google.android.gms.auth.api.signin.GoogleSignInClient;
diff --git a/QtAndroidTools/src/com/falsinsoft/qtandroidtools/AndroidNotification.java b/QtAndroidTools/src/com/falsinsoft/qtandroidtools/AndroidNotification.java
index 61c7d73..3b4913b 100644
--- a/QtAndroidTools/src/com/falsinsoft/qtandroidtools/AndroidNotification.java
+++ b/QtAndroidTools/src/com/falsinsoft/qtandroidtools/AndroidNotification.java
@@ -33,8 +33,8 @@ import android.content.Intent;
 import android.app.PendingIntent;
 import android.app.NotificationChannel;
 import android.app.NotificationManager;
-import android.support.v4.app.NotificationManagerCompat;
-import android.support.v4.app.NotificationCompat;
+import androidx.core.app.NotificationManagerCompat;
+import androidx.core.app.NotificationCompat;
 
 public class AndroidNotification
 {
diff --git a/QtAndroidTools/src/com/falsinsoft/qtandroidtools/AndroidSharing.java b/QtAndroidTools/src/com/falsinsoft/qtandroidtools/AndroidSharing.java
index 5843fe0..71cf336 100644
--- a/QtAndroidTools/src/com/falsinsoft/qtandroidtools/AndroidSharing.java
+++ b/QtAndroidTools/src/com/falsinsoft/qtandroidtools/AndroidSharing.java
@@ -33,7 +33,7 @@ import android.os.Bundle;
 import android.content.pm.ActivityInfo;
 import android.content.pm.ResolveInfo;
 import android.content.ComponentName;
-import android.support.v4.content.FileProvider;
+import androidx.core.content.FileProvider;
 import android.content.ContentResolver;
 import android.database.Cursor;
 import android.provider.OpenableColumns;
diff --git a/QtAndroidTools/src/com/google/android/vending/expansion/downloader/Helpers.java b/QtAndroidTools/src/com/google/android/vending/expansion/downloader/Helpers.java
index 4ef594a..1174256 100644
--- a/QtAndroidTools/src/com/google/android/vending/expansion/downloader/Helpers.java
+++ b/QtAndroidTools/src/com/google/android/vending/expansion/downloader/Helpers.java
@@ -22,7 +22,7 @@ import android.os.Build;
 import android.os.Environment;
 import android.os.StatFs;
 import android.os.SystemClock;
-import android.support.annotation.StringRes;
+import androidx.annotation.StringRes;
 import android.util.Log;
 
 //import com.android.vending.expansion.downloader.R;
diff --git a/QtAndroidTools/src/com/google/android/vending/expansion/downloader/impl/BroadcastDownloaderClient.java b/QtAndroidTools/src/com/google/android/vending/expansion/downloader/impl/BroadcastDownloaderClient.java
index 9b503bc..6bd70d9 100644
--- a/QtAndroidTools/src/com/google/android/vending/expansion/downloader/impl/BroadcastDownloaderClient.java
+++ b/QtAndroidTools/src/com/google/android/vending/expansion/downloader/impl/BroadcastDownloaderClient.java
@@ -4,7 +4,7 @@ import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
-import android.support.v4.content.LocalBroadcastManager;
+import androidx.localbroadcastmanager.content.LocalBroadcastManager;
 import com.google.android.vending.expansion.downloader.DownloadProgressInfo;
 import com.google.android.vending.expansion.downloader.IDownloaderClient;
 import com.google.android.vending.expansion.downloader.IDownloaderService;
diff --git a/QtAndroidTools/src/com/google/android/vending/expansion/downloader/impl/ClientProxy.java b/QtAndroidTools/src/com/google/android/vending/expansion/downloader/impl/ClientProxy.java
index 4508b96..f9f0005 100644
--- a/QtAndroidTools/src/com/google/android/vending/expansion/downloader/impl/ClientProxy.java
+++ b/QtAndroidTools/src/com/google/android/vending/expansion/downloader/impl/ClientProxy.java
@@ -3,7 +3,7 @@ package com.google.android.vending.expansion.downloader.impl;
 import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
-import android.support.v4.content.LocalBroadcastManager;
+import androidx.localbroadcastmanager.content.LocalBroadcastManager;
 import com.google.android.vending.expansion.downloader.DownloadProgressInfo;
 import com.google.android.vending.expansion.downloader.IDownloaderClient;
 
diff --git a/QtAndroidTools/src/com/google/android/vending/expansion/downloader/impl/DownloadNotification.java b/QtAndroidTools/src/com/google/android/vending/expansion/downloader/impl/DownloadNotification.java
index e681b0e..277c5bb 100644
--- a/QtAndroidTools/src/com/google/android/vending/expansion/downloader/impl/DownloadNotification.java
+++ b/QtAndroidTools/src/com/google/android/vending/expansion/downloader/impl/DownloadNotification.java
@@ -19,8 +19,8 @@ package com.google.android.vending.expansion.downloader.impl;
 import android.app.NotificationManager;
 import android.app.PendingIntent;
 import android.content.Context;
-import android.support.annotation.StringRes;
-import android.support.v4.app.NotificationCompat;
+import androidx.annotation.StringRes;
+import androidx.core.app.NotificationCompat;
 
 //import com.android.vending.expansion.downloader.R;
 import com.falsinsoft.qtandroidtools.AndroidApkExpansionFiles;
diff --git a/QtAndroidToolsDemo/QtAndroidToolsDemo.pro b/QtAndroidToolsDemo/QtAndroidToolsDemo.pro
index 65228aa..b64f338 100644
--- a/QtAndroidToolsDemo/QtAndroidToolsDemo.pro
+++ b/QtAndroidToolsDemo/QtAndroidToolsDemo.pro
@@ -17,7 +17,8 @@ RESOURCES += \
 
 OTHER_FILES += \
     android/AndroidManifest.xml \
-    android/build.gradle
+    android/build.gradle \
+    android/gradle.properties
 
 android {
 ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android
diff --git a/QtAndroidToolsDemo/android/AndroidManifest.xml b/QtAndroidToolsDemo/android/AndroidManifest.xml
index b5e15e5..cfd12d7 100644
--- a/QtAndroidToolsDemo/android/AndroidManifest.xml
+++ b/QtAndroidToolsDemo/android/AndroidManifest.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0"?>
 <manifest package="com.falsinsoft.QtAndroidToolsDemo" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="1.0" android:versionCode="1" android:installLocation="auto">
     <application android:hardwareAccelerated="true" android:name="org.qtproject.qt5.android.bindings.QtApplication" android:label="-- %%INSERT_APP_NAME%% --" android:extractNativeLibs="true" android:icon="@drawable/icon">
-        <activity android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation|mcc|mnc|density" android:name="org.qtproject.qt5.android.bindings.QtActivity" android:label="-- %%INSERT_APP_NAME%% --" android:screenOrientation="unspecified" android:launchMode="singleTop" android:theme="@android:style/Theme.Translucent.NoTitleBar">
+        <activity android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation|mcc|mnc|density" android:name="org.qtproject.qt5.android.bindings.QtActivity" android:label="-- %%INSERT_APP_NAME%% --" android:screenOrientation="portrait" android:launchMode="singleTop" android:theme="@android:style/Theme.Translucent.NoTitleBar">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN"/>
                 <category android:name="android.intent.category.LAUNCHER"/>
@@ -81,11 +81,14 @@
             <meta-data android:name="android.app.lib_name" android:value="-- %%INSERT_APP_LIB_NAME%% --"/>
         </service>
         <receiver android:name="com.google.android.vending.expansion.downloader.impl.DownloaderService$AlarmReceiver" android:enabled="true"/>
-        <provider android:name="android.support.v4.content.FileProvider" android:authorities="${applicationId}.qtandroidtoolsfileprovider" android:grantUriPermissions="true" android:exported="false">
+        <provider android:name="androidx.core.content.FileProvider" android:authorities="${applicationId}.qtandroidtoolsfileprovider" android:grantUriPermissions="true" android:exported="false">
         <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/sharedfilepaths"/>
-    </provider>
+        </provider>
+        <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-3940256099942544~3347511713"/>
+        <meta-data android:name="com.google.android.gms.ads.AD_MANAGER_APP" android:value="true"/>
     </application>
 
+    <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="28"/>
     <supports-screens android:largeScreens="true" android:normalScreens="true" android:anyDensity="true" android:smallScreens="true"/>
 
     <!-- The following comment will be replaced upon deployment with default permissions based on the dependencies of the application.
diff --git a/QtAndroidToolsDemo/android/build.gradle b/QtAndroidToolsDemo/android/build.gradle
index a36b76e..5f31c1d 100644
--- a/QtAndroidToolsDemo/android/build.gradle
+++ b/QtAndroidToolsDemo/android/build.gradle
@@ -18,9 +18,8 @@ apply plugin: 'com.android.application'
 
 dependencies {
     implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
-    implementation 'com.android.support:support-v4:26.+'
-    implementation 'com.google.android.gms:play-services-ads:16.+'
-    implementation 'com.google.android.gms:play-services-auth:16.+'
+    implementation 'com.google.android.gms:play-services-ads:19.+'
+    implementation 'com.google.android.gms:play-services-auth:18.+'
     implementation 'com.google.http-client:google-http-client-gson:1.26.0'
     implementation('com.google.api-client:google-api-client-android:1.26.0') {
         exclude group: 'org.apache.httpcomponents'
diff --git a/QtAndroidToolsDemo/android/gradle.properties b/QtAndroidToolsDemo/android/gradle.properties
new file mode 100644
index 0000000..d015431
--- /dev/null
+++ b/QtAndroidToolsDemo/android/gradle.properties
@@ -0,0 +1,2 @@
+android.useAndroidX=true
+android.enableJetifier=true
\ No newline at end of file