diff --git a/bugsnag-android-core/src/androidTest/java/com/bugsnag/android/ObserverInterfaceTest.java b/bugsnag-android-core/src/androidTest/java/com/bugsnag/android/ObserverInterfaceTest.java
index d66a250508..0100b330a6 100644
--- a/bugsnag-android-core/src/androidTest/java/com/bugsnag/android/ObserverInterfaceTest.java
+++ b/bugsnag-android-core/src/androidTest/java/com/bugsnag/android/ObserverInterfaceTest.java
@@ -1,18 +1,15 @@
package com.bugsnag.android;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
-import android.support.test.InstrumentationRegistry;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.core.app.ApplicationProvider;
+import androidx.test.filters.SmallTest;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
-import org.junit.runner.RunWith;
import java.util.ArrayList;
import java.util.HashMap;
@@ -21,8 +18,6 @@
import java.util.Observable;
import java.util.Observer;
-
-@RunWith(AndroidJUnit4.class)
@SmallTest
@SuppressWarnings("unchecked")
public class ObserverInterfaceTest {
@@ -40,7 +35,7 @@ public class ObserverInterfaceTest {
public void setUp() throws Exception {
config = new Configuration("some-api-key");
config.setDelivery(BugsnagTestUtils.generateDelivery());
- client = new Client(InstrumentationRegistry.getContext(), config);
+ client = new Client(ApplicationProvider.getApplicationContext(), config);
client.disableExceptionHandler();
observer = new BugsnagTestObserver();
client.addObserver(observer);
diff --git a/bugsnag-android-core/src/androidTest/java/com/bugsnag/android/ProjectPackagesTest.kt b/bugsnag-android-core/src/androidTest/java/com/bugsnag/android/ProjectPackagesTest.kt
index d653e946a2..cc881fe98d 100644
--- a/bugsnag-android-core/src/androidTest/java/com/bugsnag/android/ProjectPackagesTest.kt
+++ b/bugsnag-android-core/src/androidTest/java/com/bugsnag/android/ProjectPackagesTest.kt
@@ -1,6 +1,7 @@
package com.bugsnag.android
-import android.support.test.InstrumentationRegistry
+import android.content.Context
+import androidx.test.core.app.ApplicationProvider
import org.junit.Assert.assertArrayEquals
import org.junit.Assert.assertNull
import org.junit.Test
@@ -12,7 +13,7 @@ class ProjectPackagesTest {
val configuration = Configuration("api-key")
assertNull(configuration.projectPackages)
- val client = Client(InstrumentationRegistry.getContext(), configuration)
+ val client = Client(ApplicationProvider.getApplicationContext
- * By default this behavior is disabled.
+ * By default this behavior is enabled.
*
* @param autoCapture whether sessions should be captured automatically
*/
diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/BugsnagException.java b/bugsnag-android-core/src/main/java/com/bugsnag/android/BugsnagException.java
index bc1cd51241..856caaac9e 100644
--- a/bugsnag-android-core/src/main/java/com/bugsnag/android/BugsnagException.java
+++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/BugsnagException.java
@@ -1,6 +1,6 @@
package com.bugsnag.android;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
/**
* Used to store information about an exception that was not provided with an exception object
diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/CachedThread.java b/bugsnag-android-core/src/main/java/com/bugsnag/android/CachedThread.java
index 8c8048b5d8..9abbb69faf 100644
--- a/bugsnag-android-core/src/main/java/com/bugsnag/android/CachedThread.java
+++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/CachedThread.java
@@ -1,6 +1,6 @@
package com.bugsnag.android;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import java.io.IOException;
diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/Callback.java b/bugsnag-android-core/src/main/java/com/bugsnag/android/Callback.java
index bfc7f53198..d7b4ac9b12 100644
--- a/bugsnag-android-core/src/main/java/com/bugsnag/android/Callback.java
+++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/Callback.java
@@ -1,6 +1,6 @@
package com.bugsnag.android;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
/**
* A callback to be run before an individual report is sent to Bugsnag.
diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/Client.java b/bugsnag-android-core/src/main/java/com/bugsnag/android/Client.java
index 1677d17139..6d17d47736 100644
--- a/bugsnag-android-core/src/main/java/com/bugsnag/android/Client.java
+++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/Client.java
@@ -12,10 +12,10 @@
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.res.Resources;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
import android.text.TextUtils;
import android.view.OrientationEventListener;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import kotlin.Unit;
import kotlin.jvm.functions.Function1;
@@ -529,7 +529,7 @@ public void setSendThreads(boolean sendThreads) {
* Sets whether or not Bugsnag should automatically capture and report User sessions whenever
* the app enters the foreground.
*
- * By default this behavior is disabled.
+ * By default this behavior is enabled.
*
* @param autoCapture whether sessions should be captured automatically
*/
diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/ConfigFactory.java b/bugsnag-android-core/src/main/java/com/bugsnag/android/ConfigFactory.java
index a69e994ed2..60b52ee3b8 100644
--- a/bugsnag-android-core/src/main/java/com/bugsnag/android/ConfigFactory.java
+++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/ConfigFactory.java
@@ -4,8 +4,8 @@
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
-import android.support.annotation.NonNull;
import android.text.TextUtils;
+import androidx.annotation.NonNull;
class ConfigFactory {
diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/Configuration.java b/bugsnag-android-core/src/main/java/com/bugsnag/android/Configuration.java
index c53bfddb7c..c09fd5a0c7 100644
--- a/bugsnag-android-core/src/main/java/com/bugsnag/android/Configuration.java
+++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/Configuration.java
@@ -1,9 +1,9 @@
package com.bugsnag.android;
import android.content.Context;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
import android.text.TextUtils;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import java.lang.reflect.Field;
import java.util.Arrays;
@@ -450,7 +450,7 @@ public boolean getAutoCaptureSessions() {
* Sets whether or not Bugsnag should automatically capture and report User sessions whenever
* the app enters the foreground.
*
- * By default this behavior is disabled.
+ * By default this behavior is enabled.
*
* @param autoCapture whether sessions should be captured automatically
*/
diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/ConnectivityCompat.kt b/bugsnag-android-core/src/main/java/com/bugsnag/android/ConnectivityCompat.kt
index 685ace0652..94fa503e37 100644
--- a/bugsnag-android-core/src/main/java/com/bugsnag/android/ConnectivityCompat.kt
+++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/ConnectivityCompat.kt
@@ -8,7 +8,7 @@ import android.net.ConnectivityManager
import android.net.Network
import android.net.NetworkCapabilities
import android.os.Build
-import android.support.annotation.RequiresApi
+import androidx.annotation.RequiresApi
typealias NetworkChangeCallback = (connected: Boolean) -> Unit
diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/DateUtils.java b/bugsnag-android-core/src/main/java/com/bugsnag/android/DateUtils.java
index 1a224debcd..8aa50b47b5 100644
--- a/bugsnag-android-core/src/main/java/com/bugsnag/android/DateUtils.java
+++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/DateUtils.java
@@ -1,6 +1,6 @@
package com.bugsnag.android;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import java.text.DateFormat;
import java.text.ParseException;
diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/DefaultDelivery.java b/bugsnag-android-core/src/main/java/com/bugsnag/android/DefaultDelivery.java
index 544e987180..4c62a39072 100644
--- a/bugsnag-android-core/src/main/java/com/bugsnag/android/DefaultDelivery.java
+++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/DefaultDelivery.java
@@ -1,6 +1,6 @@
package com.bugsnag.android;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import java.io.BufferedWriter;
import java.io.IOException;
diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/Delivery.java b/bugsnag-android-core/src/main/java/com/bugsnag/android/Delivery.java
index d453409b34..5aae5c394c 100644
--- a/bugsnag-android-core/src/main/java/com/bugsnag/android/Delivery.java
+++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/Delivery.java
@@ -1,6 +1,6 @@
package com.bugsnag.android;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
/**
* Implementations of this interface deliver Error Reports and Sessions captured to the Bugsnag API.
diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/DeliveryCompat.java b/bugsnag-android-core/src/main/java/com/bugsnag/android/DeliveryCompat.java
index b711c7aa65..8b0c96b80e 100644
--- a/bugsnag-android-core/src/main/java/com/bugsnag/android/DeliveryCompat.java
+++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/DeliveryCompat.java
@@ -1,6 +1,6 @@
package com.bugsnag.android;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
/**
* A compatibility implementation of {@link Delivery} which wraps {@link ErrorReportApiClient} and
diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/DeliveryFailureException.java b/bugsnag-android-core/src/main/java/com/bugsnag/android/DeliveryFailureException.java
index 8b33e257e9..4a679d2d5d 100644
--- a/bugsnag-android-core/src/main/java/com/bugsnag/android/DeliveryFailureException.java
+++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/DeliveryFailureException.java
@@ -1,7 +1,7 @@
package com.bugsnag.android;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
/**
* This should be thrown if delivery of a request was not successful and you wish to try again
diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/DeviceData.java b/bugsnag-android-core/src/main/java/com/bugsnag/android/DeviceData.java
index 0b2f5167e8..bef1b2a708 100644
--- a/bugsnag-android-core/src/main/java/com/bugsnag/android/DeviceData.java
+++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/DeviceData.java
@@ -11,10 +11,10 @@
import android.os.Environment;
import android.os.StatFs;
import android.provider.Settings;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.annotation.RequiresApi;
import android.util.DisplayMetrics;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.RequiresApi;
import java.io.File;
import java.util.Date;
diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/Error.java b/bugsnag-android-core/src/main/java/com/bugsnag/android/Error.java
index 622a688efe..a028dc2209 100644
--- a/bugsnag-android-core/src/main/java/com/bugsnag/android/Error.java
+++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/Error.java
@@ -1,7 +1,7 @@
package com.bugsnag.android;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import java.io.IOException;
import java.util.HashMap;
diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/ErrorReader.java b/bugsnag-android-core/src/main/java/com/bugsnag/android/ErrorReader.java
index 44e030dc1d..1b75bd04e8 100644
--- a/bugsnag-android-core/src/main/java/com/bugsnag/android/ErrorReader.java
+++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/ErrorReader.java
@@ -1,7 +1,7 @@
package com.bugsnag.android;
-import android.support.annotation.NonNull;
import android.util.JsonReader;
+import androidx.annotation.NonNull;
import java.io.File;
import java.io.FileReader;
diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/ErrorReportApiClient.java b/bugsnag-android-core/src/main/java/com/bugsnag/android/ErrorReportApiClient.java
index 9efd125bb2..a346bd149e 100644
--- a/bugsnag-android-core/src/main/java/com/bugsnag/android/ErrorReportApiClient.java
+++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/ErrorReportApiClient.java
@@ -1,6 +1,6 @@
package com.bugsnag.android;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import java.util.Map;
diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/ErrorStore.java b/bugsnag-android-core/src/main/java/com/bugsnag/android/ErrorStore.java
index 9cbda2bbc1..4b8939467e 100644
--- a/bugsnag-android-core/src/main/java/com/bugsnag/android/ErrorStore.java
+++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/ErrorStore.java
@@ -1,7 +1,7 @@
package com.bugsnag.android;
import android.content.Context;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import java.io.File;
import java.util.ArrayList;
diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/EventReceiver.java b/bugsnag-android-core/src/main/java/com/bugsnag/android/EventReceiver.java
index e1747545dc..3c61786c92 100644
--- a/bugsnag-android-core/src/main/java/com/bugsnag/android/EventReceiver.java
+++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/EventReceiver.java
@@ -5,7 +5,7 @@
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import java.util.HashMap;
import java.util.Map;
diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/ExceptionHandler.java b/bugsnag-android-core/src/main/java/com/bugsnag/android/ExceptionHandler.java
index 79e2f79b34..c5cac823c3 100644
--- a/bugsnag-android-core/src/main/java/com/bugsnag/android/ExceptionHandler.java
+++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/ExceptionHandler.java
@@ -1,7 +1,7 @@
package com.bugsnag.android;
import android.os.StrictMode;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import java.lang.Thread.UncaughtExceptionHandler;
import java.util.Map;
diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/Exceptions.java b/bugsnag-android-core/src/main/java/com/bugsnag/android/Exceptions.java
index 692f51bc20..915fd0ff93 100644
--- a/bugsnag-android-core/src/main/java/com/bugsnag/android/Exceptions.java
+++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/Exceptions.java
@@ -1,6 +1,6 @@
package com.bugsnag.android;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import java.io.IOException;
diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/FileStore.java b/bugsnag-android-core/src/main/java/com/bugsnag/android/FileStore.java
index 03e25c972b..9d084284ff 100644
--- a/bugsnag-android-core/src/main/java/com/bugsnag/android/FileStore.java
+++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/FileStore.java
@@ -1,8 +1,8 @@
package com.bugsnag.android;
import android.content.Context;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import java.io.BufferedWriter;
import java.io.File;
diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/ForegroundDetector.java b/bugsnag-android-core/src/main/java/com/bugsnag/android/ForegroundDetector.java
index a5d07c0399..9302fdf7cc 100644
--- a/bugsnag-android-core/src/main/java/com/bugsnag/android/ForegroundDetector.java
+++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/ForegroundDetector.java
@@ -4,7 +4,7 @@
import android.content.Context;
import android.os.Build;
import android.os.Process;
-import android.support.annotation.Nullable;
+import androidx.annotation.Nullable;
import java.util.List;
diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/HandledState.java b/bugsnag-android-core/src/main/java/com/bugsnag/android/HandledState.java
index b871db49c6..75ebf8dc03 100644
--- a/bugsnag-android-core/src/main/java/com/bugsnag/android/HandledState.java
+++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/HandledState.java
@@ -1,9 +1,9 @@
package com.bugsnag.android;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.annotation.StringDef;
import android.text.TextUtils;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.StringDef;
import java.io.IOException;
import java.lang.annotation.Retention;
diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/IOUtils.java b/bugsnag-android-core/src/main/java/com/bugsnag/android/IOUtils.java
index 766ba289e7..1bdec64cda 100644
--- a/bugsnag-android-core/src/main/java/com/bugsnag/android/IOUtils.java
+++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/IOUtils.java
@@ -1,7 +1,7 @@
package com.bugsnag.android;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import java.io.Closeable;
import java.io.IOException;
diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/JsonStream.java b/bugsnag-android-core/src/main/java/com/bugsnag/android/JsonStream.java
index 3ecaad0f6e..0969f114be 100644
--- a/bugsnag-android-core/src/main/java/com/bugsnag/android/JsonStream.java
+++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/JsonStream.java
@@ -1,7 +1,7 @@
package com.bugsnag.android;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import java.io.BufferedReader;
import java.io.File;
diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/MapUtils.java b/bugsnag-android-core/src/main/java/com/bugsnag/android/MapUtils.java
index cba231ffb0..14b60c1421 100644
--- a/bugsnag-android-core/src/main/java/com/bugsnag/android/MapUtils.java
+++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/MapUtils.java
@@ -1,6 +1,6 @@
package com.bugsnag.android;
-import android.support.annotation.Nullable;
+import androidx.annotation.Nullable;
import java.util.Map;
diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/MetaData.java b/bugsnag-android-core/src/main/java/com/bugsnag/android/MetaData.java
index 94d81cd5fb..3fc8be9c29 100644
--- a/bugsnag-android-core/src/main/java/com/bugsnag/android/MetaData.java
+++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/MetaData.java
@@ -1,7 +1,7 @@
package com.bugsnag.android;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import java.io.IOException;
import java.util.ArrayList;
diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/NativeInterface.java b/bugsnag-android-core/src/main/java/com/bugsnag/android/NativeInterface.java
index cc251255ad..3d5cd49203 100644
--- a/bugsnag-android-core/src/main/java/com/bugsnag/android/NativeInterface.java
+++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/NativeInterface.java
@@ -1,8 +1,8 @@
package com.bugsnag.android;
import android.annotation.SuppressLint;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import java.util.ArrayList;
import java.util.Date;
diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/NetworkException.java b/bugsnag-android-core/src/main/java/com/bugsnag/android/NetworkException.java
index d8d06ba493..e9d5d9d396 100644
--- a/bugsnag-android-core/src/main/java/com/bugsnag/android/NetworkException.java
+++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/NetworkException.java
@@ -1,7 +1,7 @@
package com.bugsnag.android;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import java.io.IOException;
diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/Notifier.java b/bugsnag-android-core/src/main/java/com/bugsnag/android/Notifier.java
index db414ba779..e7bfe26ab5 100644
--- a/bugsnag-android-core/src/main/java/com/bugsnag/android/Notifier.java
+++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/Notifier.java
@@ -1,6 +1,6 @@
package com.bugsnag.android;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import java.io.IOException;
diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/NotifyType.java b/bugsnag-android-core/src/main/java/com/bugsnag/android/NotifyType.java
index f1f19e06ac..7d1cdcb727 100644
--- a/bugsnag-android-core/src/main/java/com/bugsnag/android/NotifyType.java
+++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/NotifyType.java
@@ -1,7 +1,7 @@
package com.bugsnag.android;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
/**
* Used to inform the NDK library which type of data needs to be updated
diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/ObjectJsonStreamer.java b/bugsnag-android-core/src/main/java/com/bugsnag/android/ObjectJsonStreamer.java
index d809a9190d..0fd1ae8862 100644
--- a/bugsnag-android-core/src/main/java/com/bugsnag/android/ObjectJsonStreamer.java
+++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/ObjectJsonStreamer.java
@@ -1,7 +1,7 @@
package com.bugsnag.android;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import java.io.IOException;
import java.lang.reflect.Array;
diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/Report.java b/bugsnag-android-core/src/main/java/com/bugsnag/android/Report.java
index 7099f4df34..398c377aa5 100644
--- a/bugsnag-android-core/src/main/java/com/bugsnag/android/Report.java
+++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/Report.java
@@ -1,6 +1,6 @@
package com.bugsnag.android;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import java.io.IOException;
diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/Session.java b/bugsnag-android-core/src/main/java/com/bugsnag/android/Session.java
index 8eb88b204c..1992b11197 100644
--- a/bugsnag-android-core/src/main/java/com/bugsnag/android/Session.java
+++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/Session.java
@@ -1,6 +1,6 @@
package com.bugsnag.android;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import java.io.IOException;
import java.util.Date;
diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/SessionStore.java b/bugsnag-android-core/src/main/java/com/bugsnag/android/SessionStore.java
index 1c4ac54398..a6a182b898 100644
--- a/bugsnag-android-core/src/main/java/com/bugsnag/android/SessionStore.java
+++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/SessionStore.java
@@ -1,7 +1,7 @@
package com.bugsnag.android;
import android.content.Context;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import java.io.File;
import java.util.Comparator;
diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/SessionTracker.java b/bugsnag-android-core/src/main/java/com/bugsnag/android/SessionTracker.java
index 6983d91e1d..f4866f41f8 100644
--- a/bugsnag-android-core/src/main/java/com/bugsnag/android/SessionTracker.java
+++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/SessionTracker.java
@@ -5,9 +5,9 @@
import android.app.Activity;
import android.app.Application;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.annotation.VisibleForTesting;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
import java.io.File;
import java.util.Arrays;
diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/SessionTrackingApiClient.java b/bugsnag-android-core/src/main/java/com/bugsnag/android/SessionTrackingApiClient.java
index d270df90a6..6ea78bd6c4 100644
--- a/bugsnag-android-core/src/main/java/com/bugsnag/android/SessionTrackingApiClient.java
+++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/SessionTrackingApiClient.java
@@ -1,6 +1,6 @@
package com.bugsnag.android;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import java.util.Map;
diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/SessionTrackingPayload.java b/bugsnag-android-core/src/main/java/com/bugsnag/android/SessionTrackingPayload.java
index 55f6efe8dd..4e274052b1 100644
--- a/bugsnag-android-core/src/main/java/com/bugsnag/android/SessionTrackingPayload.java
+++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/SessionTrackingPayload.java
@@ -1,6 +1,6 @@
package com.bugsnag.android;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import java.io.File;
import java.io.IOException;
diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/Severity.java b/bugsnag-android-core/src/main/java/com/bugsnag/android/Severity.java
index f788d9a172..fc26a5706f 100644
--- a/bugsnag-android-core/src/main/java/com/bugsnag/android/Severity.java
+++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/Severity.java
@@ -1,6 +1,6 @@
package com.bugsnag.android;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import java.io.IOException;
diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/Stacktrace.java b/bugsnag-android-core/src/main/java/com/bugsnag/android/Stacktrace.java
index ff136c274b..fc38760d93 100644
--- a/bugsnag-android-core/src/main/java/com/bugsnag/android/Stacktrace.java
+++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/Stacktrace.java
@@ -1,6 +1,6 @@
package com.bugsnag.android;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import java.io.IOException;
import java.util.Arrays;
diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/StrictModeHandler.java b/bugsnag-android-core/src/main/java/com/bugsnag/android/StrictModeHandler.java
index f2afc3fe5e..d8b3f9dd19 100644
--- a/bugsnag-android-core/src/main/java/com/bugsnag/android/StrictModeHandler.java
+++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/StrictModeHandler.java
@@ -1,8 +1,8 @@
package com.bugsnag.android;
import android.annotation.SuppressLint;
-import android.support.annotation.Nullable;
import android.text.TextUtils;
+import androidx.annotation.Nullable;
import java.util.HashMap;
import java.util.Locale;
diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/ThreadState.java b/bugsnag-android-core/src/main/java/com/bugsnag/android/ThreadState.java
index 9f4c57c8ae..7468137e30 100644
--- a/bugsnag-android-core/src/main/java/com/bugsnag/android/ThreadState.java
+++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/ThreadState.java
@@ -1,7 +1,7 @@
package com.bugsnag.android;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import java.io.IOException;
import java.util.Arrays;
diff --git a/bugsnag-android-core/src/main/java/com/bugsnag/android/User.java b/bugsnag-android-core/src/main/java/com/bugsnag/android/User.java
index eb9f5c5487..d88414deaf 100644
--- a/bugsnag-android-core/src/main/java/com/bugsnag/android/User.java
+++ b/bugsnag-android-core/src/main/java/com/bugsnag/android/User.java
@@ -1,7 +1,7 @@
package com.bugsnag.android;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import java.io.IOException;
import java.util.Observable;
diff --git a/bugsnag-plugin-android-anr/src/main/java/com/bugsnag/android/AppNotRespondingMonitor.java b/bugsnag-plugin-android-anr/src/main/java/com/bugsnag/android/AppNotRespondingMonitor.java
index 49221d3919..d881d4cfa2 100644
--- a/bugsnag-plugin-android-anr/src/main/java/com/bugsnag/android/AppNotRespondingMonitor.java
+++ b/bugsnag-plugin-android-anr/src/main/java/com/bugsnag/android/AppNotRespondingMonitor.java
@@ -3,7 +3,7 @@
import android.os.Handler;
import android.os.HandlerThread;
import android.os.Looper;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
diff --git a/bugsnag-plugin-android-ndk/src/main/java/com/bugsnag/android/ndk/NativeBridge.java b/bugsnag-plugin-android-ndk/src/main/java/com/bugsnag/android/ndk/NativeBridge.java
index 3699e11782..7b73398448 100644
--- a/bugsnag-plugin-android-ndk/src/main/java/com/bugsnag/android/ndk/NativeBridge.java
+++ b/bugsnag-plugin-android-ndk/src/main/java/com/bugsnag/android/ndk/NativeBridge.java
@@ -6,9 +6,9 @@
import com.bugsnag.android.NativeInterface;
import android.os.Build;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
import android.util.Log;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import java.io.File;
import java.util.List;
diff --git a/build.gradle b/build.gradle
index b08cbbe9cd..253fc85fa8 100644
--- a/build.gradle
+++ b/build.gradle
@@ -54,7 +54,7 @@ private void configureAndroidProject(Project proj) {
lintOptions.checkAllWarnings = true
def defaultConfig = proj.android.defaultConfig
- defaultConfig.testInstrumentationRunner = "android.support.test.runner.AndroidJUnitRunner"
+ defaultConfig.testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
defaultConfig.consumerProguardFiles = ["proguard-rules.pro"]
proj.android.testOptions.unitTests.all {
@@ -71,9 +71,9 @@ ext {
// Note minSdkVersion must be >=21 for 64 bit architectures
compileSdkVersion = 28
minSdkVersion = 14
- supportLibVersion = "28.0.0"
- supportTestVersion = "0.5"
- espressoVersion = "2.2.2"
+ supportLibVersion = "1.1.0"
+ supportTestVersion = "1.2.0"
+ espressoVersion = "3.1.0"
junitVersion = "4.12"
mockitoVersion = "2.28.2"
bugsnagPluginVersion = "3.3.0"
diff --git a/examples/sdk-app-example/build.gradle b/examples/sdk-app-example/build.gradle
index 3939fc18c6..4f8b475dee 100644
--- a/examples/sdk-app-example/build.gradle
+++ b/examples/sdk-app-example/build.gradle
@@ -22,7 +22,7 @@ android {
defaultConfig {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.compileSdkVersion
- testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
+ testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
signingConfig signingConfigs.config
ndk {
abiFilters "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
@@ -45,8 +45,7 @@ project.afterEvaluate {
dependencies {
implementation "com.bugsnag:bugsnag-android:+"
- implementation "com.android.support:appcompat-v7:$supportLibVersion"
- implementation "com.android.support:support-v4:$supportLibVersion"
+ implementation "androidx.appcompat:appcompat:1.0.2"
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
}
diff --git a/examples/sdk-app-example/src/main/java/com.bugsnag.android/example/ExampleActivity.kt b/examples/sdk-app-example/src/main/java/com.bugsnag.android/example/ExampleActivity.kt
index 3d71a20ac0..371c953855 100644
--- a/examples/sdk-app-example/src/main/java/com.bugsnag.android/example/ExampleActivity.kt
+++ b/examples/sdk-app-example/src/main/java/com.bugsnag.android/example/ExampleActivity.kt
@@ -3,7 +3,7 @@ package com.bugsnag.android.example
import android.content.Intent
import android.net.Uri
import android.os.Bundle
-import android.support.v7.app.AppCompatActivity
+import androidx.appcompat.app.AppCompatActivity
import android.view.View
import android.widget.Toast
import android.widget.Toast.LENGTH_SHORT
diff --git a/features/fixtures/mazerunner/build.gradle b/features/fixtures/mazerunner/build.gradle
index 497746ed00..3773a56e2a 100644
--- a/features/fixtures/mazerunner/build.gradle
+++ b/features/fixtures/mazerunner/build.gradle
@@ -74,7 +74,7 @@ android {
dependencies {
implementation "com.bugsnag:bugsnag-android:+"
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
- api "com.android.support:support-annotations:28.0.0"
+ implementation "androidx.annotation:annotation:1.1.0"
}
apply plugin: 'com.bugsnag.android.gradle'
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/BeforeSendScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/BeforeSendScenario.java
index b28535b981..ddfd4c19ee 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/BeforeSendScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/BeforeSendScenario.java
@@ -6,7 +6,7 @@
import com.bugsnag.android.Report;
import android.content.Context;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class BeforeSendScenario extends Scenario {
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXAbortScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXAbortScenario.java
index 0b39f2be35..8e461d26dc 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXAbortScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXAbortScenario.java
@@ -4,7 +4,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXAbortScenario extends Scenario {
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXAutoContextScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXAutoContextScenario.java
index 1053e73db1..acf2365421 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXAutoContextScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXAutoContextScenario.java
@@ -8,7 +8,7 @@
import com.bugsnag.android.Configuration;
import com.bugsnag.android.mazerunner.SecondActivity;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXAutoContextScenario extends Scenario {
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXBreadcrumbScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXBreadcrumbScenario.java
index c9175b08d4..b0023e8495 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXBreadcrumbScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXBreadcrumbScenario.java
@@ -4,7 +4,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXBreadcrumbScenario extends Scenario {
static {
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXCustomMetadataNativeCrashScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXCustomMetadataNativeCrashScenario.java
index 14123468ce..55ebef6502 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXCustomMetadataNativeCrashScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXCustomMetadataNativeCrashScenario.java
@@ -5,7 +5,7 @@
import com.bugsnag.android.Configuration;
import com.bugsnag.android.Bugsnag;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import java.lang.reflect.Array;
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXCustomMetadataNativeNotifyScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXCustomMetadataNativeNotifyScenario.java
index fa6cb42137..4a9773ac73 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXCustomMetadataNativeNotifyScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXCustomMetadataNativeNotifyScenario.java
@@ -5,7 +5,7 @@
import com.bugsnag.android.Configuration;
import com.bugsnag.android.Bugsnag;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import java.lang.reflect.Array;
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXDelayedCrashScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXDelayedCrashScenario.java
index 2a5a49367b..08e70b5b54 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXDelayedCrashScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXDelayedCrashScenario.java
@@ -4,7 +4,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import android.content.Intent;
import android.os.Handler;
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXDelayedNotifyScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXDelayedNotifyScenario.java
index 231c4a415a..19a31e165d 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXDelayedNotifyScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXDelayedNotifyScenario.java
@@ -6,7 +6,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXDelayedNotifyScenario extends Scenario {
static {
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXDivideByZeroScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXDivideByZeroScenario.java
index 67d280adb9..6ccc0d9170 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXDivideByZeroScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXDivideByZeroScenario.java
@@ -5,7 +5,7 @@
import com.bugsnag.android.Bugsnag;
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXDivideByZeroScenario extends Scenario {
static {
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXDoubleFreeScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXDoubleFreeScenario.java
index 6a376a6219..8e5696a630 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXDoubleFreeScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXDoubleFreeScenario.java
@@ -5,7 +5,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXDoubleFreeScenario extends Scenario {
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXExceptionScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXExceptionScenario.java
index 46263a1c5c..84f923095d 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXExceptionScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXExceptionScenario.java
@@ -4,7 +4,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXExceptionScenario extends Scenario {
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXExternalStackElementScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXExternalStackElementScenario.java
index a3edd0ac0e..a24efeae95 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXExternalStackElementScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXExternalStackElementScenario.java
@@ -4,7 +4,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXExternalStackElementScenario extends Scenario {
static {
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXExtraordinaryLongStringScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXExtraordinaryLongStringScenario.java
index fa29a566f0..5744fb86bc 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXExtraordinaryLongStringScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXExtraordinaryLongStringScenario.java
@@ -4,7 +4,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXExtraordinaryLongStringScenario extends Scenario {
static {
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXImproperTypecastScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXImproperTypecastScenario.java
index 4dc3d0eb66..8192f41cb4 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXImproperTypecastScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXImproperTypecastScenario.java
@@ -5,7 +5,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXImproperTypecastScenario extends Scenario {
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXJavaBreadcrumbNativeBreadcrumbScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXJavaBreadcrumbNativeBreadcrumbScenario.java
index 95a7adff9d..2a0062b817 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXJavaBreadcrumbNativeBreadcrumbScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXJavaBreadcrumbNativeBreadcrumbScenario.java
@@ -7,7 +7,7 @@
import com.bugsnag.android.Bugsnag;
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXJavaBreadcrumbNativeBreadcrumbScenario extends Scenario {
static {
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXJavaBreadcrumbNativeCrashScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXJavaBreadcrumbNativeCrashScenario.java
index 1225f512b3..7f00aa636e 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXJavaBreadcrumbNativeCrashScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXJavaBreadcrumbNativeCrashScenario.java
@@ -5,7 +5,7 @@
import com.bugsnag.android.Bugsnag;
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXJavaBreadcrumbNativeCrashScenario extends Scenario {
static {
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXJavaBreadcrumbNativeNotifyScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXJavaBreadcrumbNativeNotifyScenario.java
index be92e7735c..38542a7b01 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXJavaBreadcrumbNativeNotifyScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXJavaBreadcrumbNativeNotifyScenario.java
@@ -5,7 +5,7 @@
import com.bugsnag.android.Bugsnag;
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXJavaBreadcrumbNativeNotifyScenario extends Scenario {
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXJavaUserInfoNativeCrashScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXJavaUserInfoNativeCrashScenario.java
index 868ffe73c0..8f832914cb 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXJavaUserInfoNativeCrashScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXJavaUserInfoNativeCrashScenario.java
@@ -5,7 +5,7 @@
import com.bugsnag.android.Bugsnag;
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXJavaUserInfoNativeCrashScenario extends Scenario {
static {
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXNativeBreadcrumbJavaCrashScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXNativeBreadcrumbJavaCrashScenario.java
index a63cb8a7f4..0efd513dd3 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXNativeBreadcrumbJavaCrashScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXNativeBreadcrumbJavaCrashScenario.java
@@ -4,7 +4,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import java.lang.reflect.Array;
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXNativeBreadcrumbJavaNotifyScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXNativeBreadcrumbJavaNotifyScenario.java
index 7a20ceed00..39185726ee 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXNativeBreadcrumbJavaNotifyScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXNativeBreadcrumbJavaNotifyScenario.java
@@ -6,7 +6,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXNativeBreadcrumbJavaNotifyScenario extends Scenario {
static {
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXNativeBreadcrumbNativeCrashScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXNativeBreadcrumbNativeCrashScenario.java
index 1d4774a07e..9a3ac5da13 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXNativeBreadcrumbNativeCrashScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXNativeBreadcrumbNativeCrashScenario.java
@@ -5,7 +5,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXNativeBreadcrumbNativeCrashScenario extends Scenario {
static {
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXNotifyScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXNotifyScenario.java
index 7f099b96ac..f83ba68686 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXNotifyScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXNotifyScenario.java
@@ -4,7 +4,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXNotifyScenario extends Scenario {
static {
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXNullPointerScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXNullPointerScenario.java
index ac8de95c55..f3fb2feeaf 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXNullPointerScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXNullPointerScenario.java
@@ -2,7 +2,7 @@
import android.content.Context;
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXNullPointerScenario extends Scenario {
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSessionInfoCrashScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSessionInfoCrashScenario.java
index 827ab49ec7..0f46fa3e34 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSessionInfoCrashScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSessionInfoCrashScenario.java
@@ -6,7 +6,7 @@
import com.bugsnag.android.Bugsnag;
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXSessionInfoCrashScenario extends Scenario {
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigabrtScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigabrtScenario.java
index fac9fa8440..ace9a4a849 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigabrtScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigabrtScenario.java
@@ -4,7 +4,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXSigabrtScenario extends Scenario {
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigbusScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigbusScenario.java
index 8ef2a8792e..d6aab4d690 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigbusScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigbusScenario.java
@@ -4,7 +4,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXSigbusScenario extends Scenario {
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigfpeScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigfpeScenario.java
index c2914c56bd..79730c7e41 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigfpeScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigfpeScenario.java
@@ -4,7 +4,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXSigfpeScenario extends Scenario {
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigillScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigillScenario.java
index ebf9e3facc..1ef909352f 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigillScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigillScenario.java
@@ -4,7 +4,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXSigillScenario extends Scenario {
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigsegvScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigsegvScenario.java
index 7c0f42d091..d2786c5898 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigsegvScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigsegvScenario.java
@@ -4,7 +4,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXSigsegvScenario extends Scenario {
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigtrapScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigtrapScenario.java
index 3db6c0e2d2..69d94424b5 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigtrapScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigtrapScenario.java
@@ -4,7 +4,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXSigtrapScenario extends Scenario {
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXStackoverflowScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXStackoverflowScenario.java
index b9c2f2144c..c0cc8376eb 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXStackoverflowScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXStackoverflowScenario.java
@@ -4,7 +4,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXStackoverflowScenario extends Scenario {
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXStartSessionScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXStartSessionScenario.java
index b53e885303..a351f853ee 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXStartSessionScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXStartSessionScenario.java
@@ -6,7 +6,7 @@
import com.bugsnag.android.Bugsnag;
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXStartSessionScenario extends Scenario {
static {
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXStopSessionScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXStopSessionScenario.java
index f1089c74b3..d34c2ea95f 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXStopSessionScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXStopSessionScenario.java
@@ -6,7 +6,7 @@
import com.bugsnag.android.Bugsnag;
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXStopSessionScenario extends Scenario {
static {
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXThrowSomethingScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXThrowSomethingScenario.java
index 546a0ffd87..b031acf39e 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXThrowSomethingScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXThrowSomethingScenario.java
@@ -4,7 +4,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXThrowSomethingScenario extends Scenario {
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXTrapScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXTrapScenario.java
index 285eea1b8f..86dc94d3aa 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXTrapScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXTrapScenario.java
@@ -4,7 +4,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXTrapScenario extends Scenario {
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXUpdateContextCrashScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXUpdateContextCrashScenario.java
index df18f61903..3cec985952 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXUpdateContextCrashScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXUpdateContextCrashScenario.java
@@ -7,7 +7,7 @@
import com.bugsnag.android.Configuration;
import android.content.Intent;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.bugsnag.android.mazerunner.SecondActivity;
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXUserInfoScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXUserInfoScenario.java
index 3442813885..9e7208331a 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXUserInfoScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXUserInfoScenario.java
@@ -4,7 +4,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXUserInfoScenario extends Scenario {
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXWriteReadOnlyMemoryScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXWriteReadOnlyMemoryScenario.java
index 4501b54304..2a406fc734 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXWriteReadOnlyMemoryScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXWriteReadOnlyMemoryScenario.java
@@ -5,7 +5,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXWriteReadOnlyMemoryScenario extends Scenario {
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/DetectNdkDisabledScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/DetectNdkDisabledScenario.java
index fa445d4d10..7e2ab0ae6f 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/DetectNdkDisabledScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/DetectNdkDisabledScenario.java
@@ -2,7 +2,7 @@
import android.content.Context;
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class DetectNdkDisabledScenario extends Scenario {
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/DetectNdkEnabledScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/DetectNdkEnabledScenario.java
index 10e6896bd8..f4ecc0f25a 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/DetectNdkEnabledScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/DetectNdkEnabledScenario.java
@@ -2,7 +2,7 @@
import android.content.Context;
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class DetectNdkEnabledScenario extends Scenario {
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/HandledExceptionJavaScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/HandledExceptionJavaScenario.java
index aa0659a2d4..af43f37735 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/HandledExceptionJavaScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/HandledExceptionJavaScenario.java
@@ -5,7 +5,7 @@
import com.bugsnag.android.Bugsnag;
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
/**
* Sends a handled exception to Bugsnag, which does not include session data.
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/NativeBeforeSendScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/NativeBeforeSendScenario.java
index 9370637e7e..222c592f60 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/NativeBeforeSendScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/NativeBeforeSendScenario.java
@@ -6,7 +6,7 @@
import com.bugsnag.android.Report;
import android.content.Context;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class NativeBeforeSendScenario extends Scenario {
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/NativeNotifyBeforeSendScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/NativeNotifyBeforeSendScenario.java
index 22c9e1fe58..8676a0294d 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/NativeNotifyBeforeSendScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/NativeNotifyBeforeSendScenario.java
@@ -6,7 +6,7 @@
import com.bugsnag.android.Report;
import android.content.Context;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class NativeNotifyBeforeSendScenario extends Scenario {
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/NotifyBeforeSendScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/NotifyBeforeSendScenario.java
index 8d1bb800f6..7af3ee42ab 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/NotifyBeforeSendScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/NotifyBeforeSendScenario.java
@@ -7,7 +7,7 @@
import com.bugsnag.android.Severity;
import android.content.Context;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class NotifyBeforeSendScenario extends Scenario {
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/NotifyBeforeSendUnsetContextScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/NotifyBeforeSendUnsetContextScenario.java
index 92b27b093b..0b15811fdb 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/NotifyBeforeSendUnsetContextScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/NotifyBeforeSendUnsetContextScenario.java
@@ -7,7 +7,7 @@
import com.bugsnag.android.Severity;
import android.content.Context;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class NotifyBeforeSendUnsetContextScenario extends Scenario {
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/UnhandledExceptionJavaScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/UnhandledExceptionJavaScenario.java
index 775161cc37..e7202f6659 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/UnhandledExceptionJavaScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/UnhandledExceptionJavaScenario.java
@@ -4,7 +4,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
/**
* Sends an unhandled exception to Bugsnag.
diff --git a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/UnsatisfiedLinkErrorScenario.java b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/UnsatisfiedLinkErrorScenario.java
index 6d27d151e3..bef9746229 100644
--- a/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/UnsatisfiedLinkErrorScenario.java
+++ b/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/UnsatisfiedLinkErrorScenario.java
@@ -4,7 +4,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class UnsatisfiedLinkErrorScenario extends Scenario {
diff --git a/gradle.properties b/gradle.properties
index 6837afdb8d..a4fcfde18a 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -28,3 +28,5 @@ POM_PACKAGING=aar
ANDROID_MIN_SDK_VERSION=14
ANDROID_TARGET_SDK_VERSION=28
ANDROID_COMPILE_SDK_VERSION=28
+android.useAndroidX=true
+android.enableJetifier=true
diff --git a/gradle/dependencies.gradle b/gradle/dependencies.gradle
index 4712acef26..40b8e4ed99 100644
--- a/gradle/dependencies.gradle
+++ b/gradle/dependencies.gradle
@@ -1,5 +1,5 @@
dependencies {
- api "com.android.support:support-annotations:$supportLibVersion"
+ api "androidx.annotation:annotation:$supportLibVersion"
api "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
@@ -8,15 +8,10 @@ dependencies {
androidTestImplementation "org.mockito:mockito-android:$mockitoVersion"
- androidTestImplementation "com.android.support.test:runner:$supportTestVersion", {
- exclude group: "com.android.support", module: "support-annotations"
- }
- androidTestImplementation "com.android.support.test:rules:$supportTestVersion", {
- exclude group: "com.android.support", module: "support-annotations"
- }
- androidTestImplementation "com.android.support.test.espresso:espresso-core:$espressoVersion", {
- exclude group: "com.android.support", module: "support-annotations"
- }
+ androidTestImplementation "androidx.test:core:$supportTestVersion"
+ androidTestImplementation "androidx.test:runner:$supportTestVersion"
+ androidTestImplementation "androidx.test:rules:$supportTestVersion"
+ androidTestImplementation "androidx.test.espresso:espresso-core:$espressoVersion"
if (project.hasProperty("infer")) {
implementation "com.facebook.infer.annotation:infer-annotation:0.11.2"
diff --git a/tests/features/fixtures/mazerunner/build.gradle b/tests/features/fixtures/mazerunner/build.gradle
index 497746ed00..3773a56e2a 100644
--- a/tests/features/fixtures/mazerunner/build.gradle
+++ b/tests/features/fixtures/mazerunner/build.gradle
@@ -74,7 +74,7 @@ android {
dependencies {
implementation "com.bugsnag:bugsnag-android:+"
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
- api "com.android.support:support-annotations:28.0.0"
+ implementation "androidx.annotation:annotation:1.1.0"
}
apply plugin: 'com.bugsnag.android.gradle'
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/BeforeSendScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/BeforeSendScenario.java
index f4bf4483a5..a3101841c7 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/BeforeSendScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/BeforeSendScenario.java
@@ -6,7 +6,7 @@
import com.bugsnag.android.Report;
import android.content.Context;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class BeforeSendScenario extends Scenario {
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXAbortScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXAbortScenario.java
index b9ac3900a5..3c86c3ca09 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXAbortScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXAbortScenario.java
@@ -4,7 +4,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXAbortScenario extends Scenario {
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXAutoContextScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXAutoContextScenario.java
index 1053e73db1..acf2365421 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXAutoContextScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXAutoContextScenario.java
@@ -8,7 +8,7 @@
import com.bugsnag.android.Configuration;
import com.bugsnag.android.mazerunner.SecondActivity;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXAutoContextScenario extends Scenario {
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXBreadcrumbScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXBreadcrumbScenario.java
index b874f71b11..eedb8d94ba 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXBreadcrumbScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXBreadcrumbScenario.java
@@ -4,7 +4,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXBreadcrumbScenario extends Scenario {
static {
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXCustomMetadataNativeCrashScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXCustomMetadataNativeCrashScenario.java
index eadb381977..2528033f57 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXCustomMetadataNativeCrashScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXCustomMetadataNativeCrashScenario.java
@@ -5,7 +5,7 @@
import com.bugsnag.android.Configuration;
import com.bugsnag.android.Bugsnag;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import java.lang.reflect.Array;
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXCustomMetadataNativeNotifyScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXCustomMetadataNativeNotifyScenario.java
index 25e0805a03..f749f353d4 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXCustomMetadataNativeNotifyScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXCustomMetadataNativeNotifyScenario.java
@@ -5,7 +5,7 @@
import com.bugsnag.android.Configuration;
import com.bugsnag.android.Bugsnag;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import java.lang.reflect.Array;
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXDelayedCrashScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXDelayedCrashScenario.java
index 7018856534..b87f2ce809 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXDelayedCrashScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXDelayedCrashScenario.java
@@ -4,7 +4,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import android.content.Intent;
import android.os.Handler;
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXDelayedNotifyScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXDelayedNotifyScenario.java
index c7a7f1277f..d1554d87df 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXDelayedNotifyScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXDelayedNotifyScenario.java
@@ -6,7 +6,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXDelayedNotifyScenario extends Scenario {
static {
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXDoubleFreeScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXDoubleFreeScenario.java
index 772a57152a..da0605e8d0 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXDoubleFreeScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXDoubleFreeScenario.java
@@ -5,7 +5,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXDoubleFreeScenario extends Scenario {
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXExceptionScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXExceptionScenario.java
index 88586e12f6..0e169f3848 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXExceptionScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXExceptionScenario.java
@@ -4,7 +4,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXExceptionScenario extends Scenario {
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXExternalStackElementScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXExternalStackElementScenario.java
index 5ded6b740f..900dfd3b0b 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXExternalStackElementScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXExternalStackElementScenario.java
@@ -4,7 +4,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXExternalStackElementScenario extends Scenario {
static {
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXExtraordinaryLongStringScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXExtraordinaryLongStringScenario.java
index ed4b17531a..1672c04fb6 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXExtraordinaryLongStringScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXExtraordinaryLongStringScenario.java
@@ -4,7 +4,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXExtraordinaryLongStringScenario extends Scenario {
static {
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXImproperTypecastScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXImproperTypecastScenario.java
index 7a8f0025db..f72fe62de1 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXImproperTypecastScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXImproperTypecastScenario.java
@@ -5,7 +5,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXImproperTypecastScenario extends Scenario {
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXJavaBreadcrumbNativeBreadcrumbScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXJavaBreadcrumbNativeBreadcrumbScenario.java
index d79786641c..22a2c1ee91 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXJavaBreadcrumbNativeBreadcrumbScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXJavaBreadcrumbNativeBreadcrumbScenario.java
@@ -7,7 +7,7 @@
import com.bugsnag.android.Bugsnag;
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXJavaBreadcrumbNativeBreadcrumbScenario extends Scenario {
static {
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXJavaBreadcrumbNativeCrashScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXJavaBreadcrumbNativeCrashScenario.java
index aab321af25..50305ed6d5 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXJavaBreadcrumbNativeCrashScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXJavaBreadcrumbNativeCrashScenario.java
@@ -5,7 +5,7 @@
import com.bugsnag.android.Bugsnag;
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXJavaBreadcrumbNativeCrashScenario extends Scenario {
static {
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXJavaBreadcrumbNativeNotifyScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXJavaBreadcrumbNativeNotifyScenario.java
index c30012d67b..af496ad945 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXJavaBreadcrumbNativeNotifyScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXJavaBreadcrumbNativeNotifyScenario.java
@@ -5,7 +5,7 @@
import com.bugsnag.android.Bugsnag;
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXJavaBreadcrumbNativeNotifyScenario extends Scenario {
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXJavaUserInfoNativeCrashScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXJavaUserInfoNativeCrashScenario.java
index 193b5c3b08..2a123ff1c4 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXJavaUserInfoNativeCrashScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXJavaUserInfoNativeCrashScenario.java
@@ -5,7 +5,7 @@
import com.bugsnag.android.Bugsnag;
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXJavaUserInfoNativeCrashScenario extends Scenario {
static {
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXNativeBreadcrumbJavaCrashScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXNativeBreadcrumbJavaCrashScenario.java
index 5cde81bbf5..f2786aa30e 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXNativeBreadcrumbJavaCrashScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXNativeBreadcrumbJavaCrashScenario.java
@@ -4,7 +4,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import java.lang.reflect.Array;
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXNativeBreadcrumbJavaNotifyScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXNativeBreadcrumbJavaNotifyScenario.java
index 6e278c9366..440095be22 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXNativeBreadcrumbJavaNotifyScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXNativeBreadcrumbJavaNotifyScenario.java
@@ -6,7 +6,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXNativeBreadcrumbJavaNotifyScenario extends Scenario {
static {
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXNativeBreadcrumbNativeCrashScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXNativeBreadcrumbNativeCrashScenario.java
index b38b5c4b99..f34099b361 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXNativeBreadcrumbNativeCrashScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXNativeBreadcrumbNativeCrashScenario.java
@@ -5,7 +5,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXNativeBreadcrumbNativeCrashScenario extends Scenario {
static {
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXNotifyScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXNotifyScenario.java
index aca7b24200..95851150c5 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXNotifyScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXNotifyScenario.java
@@ -4,7 +4,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXNotifyScenario extends Scenario {
static {
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXNullPointerScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXNullPointerScenario.java
index c5a59af2a6..d42638b8c8 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXNullPointerScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXNullPointerScenario.java
@@ -2,7 +2,7 @@
import android.content.Context;
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXNullPointerScenario extends Scenario {
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSessionInfoCrashScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSessionInfoCrashScenario.java
index a5d5d1040c..677c2fbfd6 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSessionInfoCrashScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSessionInfoCrashScenario.java
@@ -7,7 +7,7 @@
import com.bugsnag.android.Configuration;
import com.bugsnag.android.TestHarnessHooksKt;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXSessionInfoCrashScenario extends Scenario {
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigabrtScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigabrtScenario.java
index 8584be0493..74acb3ea58 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigabrtScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigabrtScenario.java
@@ -4,7 +4,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXSigabrtScenario extends Scenario {
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigbusScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigbusScenario.java
index 8904774054..0f042dd099 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigbusScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigbusScenario.java
@@ -4,7 +4,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXSigbusScenario extends Scenario {
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigfpeScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigfpeScenario.java
index c897e8c924..f37e94f49f 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigfpeScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigfpeScenario.java
@@ -4,7 +4,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXSigfpeScenario extends Scenario {
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigillScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigillScenario.java
index 7765275a63..7ef349aeae 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigillScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigillScenario.java
@@ -4,7 +4,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXSigillScenario extends Scenario {
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigsegvScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigsegvScenario.java
index 463325d691..b8f75288d8 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigsegvScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigsegvScenario.java
@@ -4,7 +4,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXSigsegvScenario extends Scenario {
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigtrapScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigtrapScenario.java
index cc618a469d..e14c52cb6e 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigtrapScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXSigtrapScenario.java
@@ -4,7 +4,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXSigtrapScenario extends Scenario {
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXStackoverflowScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXStackoverflowScenario.java
index 537d294b49..82e4fd6814 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXStackoverflowScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXStackoverflowScenario.java
@@ -4,7 +4,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXStackoverflowScenario extends Scenario {
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXStartSessionScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXStartSessionScenario.java
index 1a9dc86521..42395e70cf 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXStartSessionScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXStartSessionScenario.java
@@ -7,7 +7,7 @@
import com.bugsnag.android.Configuration;
import com.bugsnag.android.TestHarnessHooksKt;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXStartSessionScenario extends Scenario {
static {
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXStopSessionScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXStopSessionScenario.java
index d146cf7c81..0ff24a9476 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXStopSessionScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXStopSessionScenario.java
@@ -7,7 +7,7 @@
import com.bugsnag.android.Configuration;
import com.bugsnag.android.TestHarnessHooksKt;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXStopSessionScenario extends Scenario {
static {
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXThrowSomethingScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXThrowSomethingScenario.java
index c11e3cd710..581d4dfa74 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXThrowSomethingScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXThrowSomethingScenario.java
@@ -4,7 +4,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXThrowSomethingScenario extends Scenario {
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXTrapScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXTrapScenario.java
index 43e31a52b6..b3e14c4055 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXTrapScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXTrapScenario.java
@@ -4,7 +4,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXTrapScenario extends Scenario {
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXUpdateContextCrashScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXUpdateContextCrashScenario.java
index ee19714775..6901be151a 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXUpdateContextCrashScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXUpdateContextCrashScenario.java
@@ -7,7 +7,7 @@
import com.bugsnag.android.Configuration;
import android.content.Intent;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import com.bugsnag.android.mazerunner.SecondActivity;
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXUserInfoScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXUserInfoScenario.java
index 5efae7ffaa..29e28bd9e8 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXUserInfoScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXUserInfoScenario.java
@@ -4,7 +4,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXUserInfoScenario extends Scenario {
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXWriteReadOnlyMemoryScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXWriteReadOnlyMemoryScenario.java
index 043db0782b..7302e9f206 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXWriteReadOnlyMemoryScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/CXXWriteReadOnlyMemoryScenario.java
@@ -5,7 +5,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class CXXWriteReadOnlyMemoryScenario extends Scenario {
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/DetectNdkDisabledScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/DetectNdkDisabledScenario.java
index 6dce99c120..972d4b73b7 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/DetectNdkDisabledScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/DetectNdkDisabledScenario.java
@@ -2,7 +2,7 @@
import android.content.Context;
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class DetectNdkDisabledScenario extends Scenario {
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/DetectNdkEnabledScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/DetectNdkEnabledScenario.java
index 31d8d04397..126a313aa0 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/DetectNdkEnabledScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/DetectNdkEnabledScenario.java
@@ -2,7 +2,7 @@
import android.content.Context;
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class DetectNdkEnabledScenario extends Scenario {
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/HandledExceptionJavaScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/HandledExceptionJavaScenario.java
index 18fe3a5f95..1aa507dddf 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/HandledExceptionJavaScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/HandledExceptionJavaScenario.java
@@ -5,7 +5,7 @@
import com.bugsnag.android.Bugsnag;
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
/**
* Sends a handled exception to Bugsnag, which does not include session data.
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/NativeBeforeSendScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/NativeBeforeSendScenario.java
index 6b2e03e279..abd6259b0e 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/NativeBeforeSendScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/NativeBeforeSendScenario.java
@@ -6,7 +6,7 @@
import com.bugsnag.android.Report;
import android.content.Context;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class NativeBeforeSendScenario extends Scenario {
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/NativeNotifyBeforeSendScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/NativeNotifyBeforeSendScenario.java
index 88f1107f9d..6af38feb02 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/NativeNotifyBeforeSendScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/NativeNotifyBeforeSendScenario.java
@@ -6,7 +6,7 @@
import com.bugsnag.android.Report;
import android.content.Context;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class NativeNotifyBeforeSendScenario extends Scenario {
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/NotifyBeforeSendScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/NotifyBeforeSendScenario.java
index 976bb85fcb..89440e870f 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/NotifyBeforeSendScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/NotifyBeforeSendScenario.java
@@ -7,7 +7,7 @@
import com.bugsnag.android.Severity;
import android.content.Context;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class NotifyBeforeSendScenario extends Scenario {
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/NotifyBeforeSendUnsetContextScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/NotifyBeforeSendUnsetContextScenario.java
index 844c68fe3f..3f777ffbdc 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/NotifyBeforeSendUnsetContextScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/NotifyBeforeSendUnsetContextScenario.java
@@ -7,7 +7,7 @@
import com.bugsnag.android.Severity;
import android.content.Context;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class NotifyBeforeSendUnsetContextScenario extends Scenario {
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/UnhandledExceptionJavaScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/UnhandledExceptionJavaScenario.java
index 962fa0febf..fad9d53875 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/UnhandledExceptionJavaScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/UnhandledExceptionJavaScenario.java
@@ -4,7 +4,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
/**
* Sends an unhandled exception to Bugsnag.
diff --git a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/UnsatisfiedLinkErrorScenario.java b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/UnsatisfiedLinkErrorScenario.java
index f59b32de0a..0a7679eeac 100644
--- a/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/UnsatisfiedLinkErrorScenario.java
+++ b/tests/features/fixtures/mazerunner/src/main/java/com/bugsnag/android/mazerunner/scenarios/UnsatisfiedLinkErrorScenario.java
@@ -4,7 +4,7 @@
import com.bugsnag.android.Configuration;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
public class UnsatisfiedLinkErrorScenario extends Scenario {