Skip to content

Commit 8b606e9

Browse files
authored
feat(android): Enable AndroidX and use AndroidX dependencies (#2045)
1 parent 0deca04 commit 8b606e9

File tree

27 files changed

+90
-70
lines changed

27 files changed

+90
-70
lines changed

.circleci/config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ jobs:
4747
steps:
4848
- checkout
4949
- run:
50-
command: ./gradlew clean build -b capacitor/build.gradle
50+
command: ./gradlew clean build -b capacitor/build.gradle -Pandroid.useAndroidX=true -Pandroid.enableJetifier=true
5151
working_directory: /tmp/workspace/android
5252

5353
workflows:

android-template/app/build.gradle

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ android {
88
targetSdkVersion 29
99
versionCode 1
1010
versionName "1.0"
11-
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
11+
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
1212
}
1313
buildTypes {
1414
release {
@@ -29,11 +29,11 @@ repositories {
2929

3030
dependencies {
3131
implementation fileTree(include: ['*.jar'], dir: 'libs')
32-
implementation 'com.android.support:appcompat-v7:28.0.0'
32+
implementation 'androidx.appcompat:appcompat:1.0.0'
3333
implementation project(':capacitor-android')
3434
testImplementation 'junit:junit:4.12'
35-
androidTestImplementation 'com.android.support.test:runner:1.0.2'
36-
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
35+
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
36+
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0'
3737
implementation project(':capacitor-cordova-android-plugins')
3838
}
3939

android-template/app/src/main/AndroidManifest.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
</activity>
3333

3434
<provider
35-
android:name="android.support.v4.content.FileProvider"
35+
android:name="androidx.core.content.FileProvider"
3636
android:authorities="${applicationId}.fileprovider"
3737
android:exported="false"
3838
android:grantUriPermissions="true">
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
2+
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
33
xmlns:app="http://schemas.android.com/apk/res-auto"
44
xmlns:tools="http://schemas.android.com/tools"
55
android:layout_width="match_parent"
@@ -9,4 +9,4 @@
99
<WebView
1010
android:layout_width="match_parent"
1111
android:layout_height="match_parent" />
12-
</android.support.design.widget.CoordinatorLayout>
12+
</androidx.coordinatorlayout.widget.CoordinatorLayout>

android-template/gradle.properties

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,7 @@ org.gradle.jvmargs=-Xmx1536m
1515
# This option should only be used with decoupled projects. More details, visit
1616
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
1717
# org.gradle.parallel=true
18+
19+
# Supports AndroidX
20+
android.useAndroidX=true
21+
android.enableJetifier=true

android/capacitor/build.gradle

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ android {
2121
targetSdkVersion 29
2222
versionCode 1
2323
versionName "1.0"
24-
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
24+
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
2525
}
2626
buildTypes {
2727
release {
@@ -42,15 +42,15 @@ repositories {
4242

4343
dependencies {
4444
implementation fileTree(dir: 'libs', include: ['*.jar'])
45-
implementation 'com.android.support:appcompat-v7:28.0.0'
46-
implementation 'com.android.support:support-compat:28.0.0'
47-
implementation 'com.android.support:design:28.0.0'
48-
implementation 'com.android.support:customtabs:28.0.0'
45+
implementation 'androidx.appcompat:appcompat:1.0.0'
46+
implementation 'androidx.core:core:1.2.0'
47+
implementation 'com.google.android.material:material:1.1.0-rc02'
48+
implementation 'androidx.browser:browser:1.2.0'
4949
implementation 'com.google.firebase:firebase-messaging:18.0.0'
5050
implementation 'com.google.android.gms:play-services-location:16.0.0'
5151
testImplementation 'junit:junit:4.12'
52-
androidTestImplementation 'com.android.support.test:runner:1.0.2'
53-
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
52+
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
53+
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0'
5454
implementation 'org.apache.cordova:framework:7.0.0'
5555
}
5656

android/capacitor/src/main/java/com/getcapacitor/BridgeActivity.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,11 @@
44
import android.content.Context;
55
import android.content.Intent;
66
import android.os.Bundle;
7-
import android.support.v7.app.AppCompatActivity;
87
import android.util.Log;
98
import android.webkit.WebView;
9+
10+
import androidx.appcompat.app.AppCompatActivity;
11+
1012
import com.getcapacitor.android.R;
1113
import com.getcapacitor.cordova.MockCordovaInterfaceImpl;
1214
import com.getcapacitor.cordova.MockCordovaWebViewImpl;

android/capacitor/src/main/java/com/getcapacitor/Dialogs.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66
import android.content.DialogInterface;
77
import android.os.Handler;
88
import android.os.Looper;
9-
import android.support.v4.app.ActivityCompat;
10-
import android.support.v7.app.AppCompatActivity;
119
import android.widget.EditText;
1210

11+
import androidx.appcompat.app.AppCompatActivity;
12+
1313
import com.getcapacitor.ui.ModalsBottomSheetDialogFragment;
1414

1515
import org.json.JSONException;

android/capacitor/src/main/java/com/getcapacitor/Plugin.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,11 @@
66
import android.content.pm.PackageInfo;
77
import android.content.pm.PackageManager;
88
import android.os.Bundle;
9-
import android.support.v4.app.ActivityCompat;
10-
import android.support.v7.app.AppCompatActivity;
119
import android.util.Log;
10+
11+
import androidx.appcompat.app.AppCompatActivity;
12+
import androidx.core.app.ActivityCompat;
13+
1214
import org.json.JSONException;
1315
import org.json.JSONObject;
1416

android/capacitor/src/main/java/com/getcapacitor/plugin/Browser.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,14 @@
55
import android.graphics.Color;
66
import android.net.Uri;
77
import android.os.Bundle;
8-
import android.support.customtabs.CustomTabsCallback;
9-
import android.support.customtabs.CustomTabsClient;
10-
import android.support.customtabs.CustomTabsIntent;
11-
import android.support.customtabs.CustomTabsServiceConnection;
12-
import android.support.customtabs.CustomTabsSession;
138
import android.util.Log;
9+
10+
import androidx.browser.customtabs.CustomTabsCallback;
11+
import androidx.browser.customtabs.CustomTabsClient;
12+
import androidx.browser.customtabs.CustomTabsIntent;
13+
import androidx.browser.customtabs.CustomTabsServiceConnection;
14+
import androidx.browser.customtabs.CustomTabsSession;
15+
1416
import com.getcapacitor.JSArray;
1517
import com.getcapacitor.JSObject;
1618
import com.getcapacitor.NativePlugin;

android/capacitor/src/main/java/com/getcapacitor/plugin/Camera.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,11 @@
1010
import android.os.Bundle;
1111
import android.os.Environment;
1212
import android.provider.MediaStore;
13-
import android.support.v4.content.FileProvider;
1413
import android.util.Base64;
1514
import android.util.Log;
15+
16+
import androidx.core.content.FileProvider;
17+
1618
import com.getcapacitor.Dialogs;
1719
import com.getcapacitor.FileUtils;
1820
import com.getcapacitor.JSObject;

android/capacitor/src/main/java/com/getcapacitor/plugin/Modals.java

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,7 @@
11
package com.getcapacitor.plugin;
22

3-
import android.annotation.SuppressLint;
43
import android.app.Activity;
5-
import android.app.Dialog;
6-
import android.graphics.Color;
7-
import android.support.annotation.NonNull;
8-
import android.support.design.widget.BottomSheetBehavior;
9-
import android.support.design.widget.BottomSheetDialogFragment;
10-
import android.support.design.widget.CoordinatorLayout;
11-
import android.util.Log;
12-
import android.view.View;
13-
import android.view.Window;
14-
import android.widget.LinearLayout;
15-
import android.widget.TextView;
16-
17-
import com.getcapacitor.Bridge;
4+
185
import com.getcapacitor.Dialogs;
196
import com.getcapacitor.JSArray;
207
import com.getcapacitor.JSObject;
@@ -24,11 +11,6 @@
2411
import com.getcapacitor.PluginMethod;
2512
import com.getcapacitor.ui.ModalsBottomSheetDialogFragment;
2613

27-
import org.json.JSONException;
28-
import org.json.JSONObject;
29-
30-
import java.util.List;
31-
3214
/**
3315
* Common popup modals
3416
*/

android/capacitor/src/main/java/com/getcapacitor/plugin/Permissions.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22

33
import android.Manifest;
44
import android.content.pm.PackageManager;
5-
import android.support.v4.app.NotificationManagerCompat;
6-
import android.support.v4.content.ContextCompat;
5+
6+
import androidx.core.app.NotificationManagerCompat;
7+
import androidx.core.content.ContextCompat;
78

89
import com.getcapacitor.JSObject;
910
import com.getcapacitor.NativePlugin;

android/capacitor/src/main/java/com/getcapacitor/plugin/PushNotifications.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@
1010
import android.os.Build;
1111
import android.os.Bundle;
1212
import android.service.notification.StatusBarNotification;
13-
import android.support.v4.app.NotificationCompat;
13+
import androidx.core.app.NotificationCompat;
1414
import android.net.Uri;
1515

16-
1716
import android.util.Log;
17+
1818
import com.getcapacitor.Bridge;
1919
import com.getcapacitor.JSArray;
2020
import com.getcapacitor.JSObject;

android/capacitor/src/main/java/com/getcapacitor/plugin/Share.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@
22

33
import android.content.Intent;
44
import android.net.Uri;
5-
import android.support.v4.content.FileProvider;
65
import android.webkit.MimeTypeMap;
76

7+
import androidx.core.content.FileProvider;
8+
89
import com.getcapacitor.NativePlugin;
910
import com.getcapacitor.Plugin;
1011
import com.getcapacitor.PluginCall;

android/capacitor/src/main/java/com/getcapacitor/plugin/background/BackgroundTask.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
import android.content.Context;
66
import android.content.Intent;
77
import android.content.IntentFilter;
8-
import android.support.v4.content.LocalBroadcastManager;
9-
import android.util.Log;
8+
9+
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
1010

1111
import com.getcapacitor.Bridge;
1212
import com.getcapacitor.JSObject;

android/capacitor/src/main/java/com/getcapacitor/plugin/background/BackgroundTaskService.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@
22

33
import android.app.IntentService;
44
import android.content.Intent;
5-
import android.support.v4.content.LocalBroadcastManager;
65
import android.util.Log;
6+
7+
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
8+
79
import com.getcapacitor.LogUtils;
810

911
public class BackgroundTaskService extends IntentService {

android/capacitor/src/main/java/com/getcapacitor/plugin/camera/CameraUtils.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@
33
import android.app.Activity;
44
import android.net.Uri;
55
import android.os.Environment;
6-
import android.support.v4.content.FileProvider;
76
import android.util.Log;
87

8+
import androidx.core.content.FileProvider;
9+
910
import com.getcapacitor.LogUtils;
1011

1112
import java.io.File;

android/capacitor/src/main/java/com/getcapacitor/plugin/notification/LocalNotificationManager.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,14 @@
1010
import android.net.Uri;
1111
import android.os.Build;
1212
import android.os.Bundle;
13-
import android.support.annotation.NonNull;
14-
import android.support.annotation.Nullable;
15-
import android.support.v4.app.NotificationCompat;
16-
import android.support.v4.app.NotificationManagerCompat;
17-
import android.support.v4.app.RemoteInput;
1813
import android.util.Log;
14+
15+
import androidx.annotation.NonNull;
16+
import androidx.annotation.Nullable;
17+
import androidx.core.app.NotificationCompat;
18+
import androidx.core.app.NotificationManagerCompat;
19+
import androidx.core.app.RemoteInput;
20+
1921
import com.getcapacitor.JSObject;
2022
import com.getcapacitor.LogUtils;
2123
import com.getcapacitor.PluginCall;
@@ -27,6 +29,8 @@
2729
import java.util.Date;
2830
import java.util.List;
2931

32+
import static androidx.core.app.NotificationCompat.VISIBILITY_PRIVATE;
33+
3034
/**
3135
* Contains implementations for all notification actions
3236
*/

android/capacitor/src/main/java/com/getcapacitor/plugin/util/AssetUtil.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,10 @@
88
import android.graphics.BitmapFactory;
99
import android.net.Uri;
1010
import android.os.StrictMode;
11-
import android.support.v4.content.FileProvider;
1211
import android.util.Log;
12+
13+
import androidx.core.content.FileProvider;
14+
1315
import com.getcapacitor.LogUtils;
1416

1517
import java.io.File;

android/capacitor/src/main/java/com/getcapacitor/ui/ModalsBottomSheetDialogFragment.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,21 @@
33
import android.annotation.SuppressLint;
44
import android.app.Dialog;
55
import android.graphics.Color;
6-
import android.support.annotation.NonNull;
7-
import android.support.design.widget.BottomSheetBehavior;
8-
import android.support.design.widget.BottomSheetDialogFragment;
9-
import android.support.design.widget.CoordinatorLayout;
106
import android.util.Log;
117
import android.view.View;
128
import android.view.Window;
139
import android.widget.LinearLayout;
1410
import android.widget.TextView;
11+
12+
import androidx.annotation.NonNull;
13+
import androidx.coordinatorlayout.widget.CoordinatorLayout;
14+
1515
import com.getcapacitor.JSArray;
1616
import com.getcapacitor.JSObject;
1717
import com.getcapacitor.LogUtils;
18+
import com.google.android.material.bottomsheet.BottomSheetBehavior;
19+
import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
20+
1821
import org.json.JSONException;
1922
import org.json.JSONObject;
2023

android/capacitor/src/main/res/layout/bridge_layout_main.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
2+
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
33
xmlns:app="http://schemas.android.com/apk/res-auto"
44
xmlns:tools="http://schemas.android.com/tools"
55
android:layout_width="match_parent"
@@ -12,4 +12,4 @@
1212
android:layout_width="fill_parent"
1313
android:layout_height="fill_parent" />
1414

15-
</android.support.design.widget.CoordinatorLayout>
15+
</androidx.coordinatorlayout.widget.CoordinatorLayout>

android/gradle.properties

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,7 @@ org.gradle.jvmargs=-Xmx1536m
1515
# This option should only be used with decoupled projects. More details, visit
1616
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
1717
# org.gradle.parallel=true
18+
19+
# Supports AndroidX
20+
android.useAndroidX=true
21+
android.enableJetifier=true
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
2+
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
33
xmlns:app="http://schemas.android.com/apk/res-auto"
44
xmlns:tools="http://schemas.android.com/tools"
55
android:layout_width="match_parent"
66
android:layout_height="match_parent"
77
tools:context="com.getcapacitor.myapp.MainActivity"
88
>
99

10-
</android.support.design.widget.CoordinatorLayout>
10+
</androidx.coordinatorlayout.widget.CoordinatorLayout>

example/android/gradle.properties

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,7 @@ org.gradle.jvmargs=-Xmx1536m
1515
# This option should only be used with decoupled projects. More details, visit
1616
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
1717
# org.gradle.parallel=true
18+
19+
# Supports AndroidX
20+
android.useAndroidX=true
21+
android.enableJetifier=true

plugin-template/android/gradle.properties

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,7 @@ org.gradle.jvmargs=-Xmx1536m
1515
# This option should only be used with decoupled projects. More details, visit
1616
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
1717
# org.gradle.parallel=true
18+
19+
# Supports AndroidX
20+
android.useAndroidX=true
21+
android.enableJetifier=true

0 commit comments

Comments
 (0)