diff --git a/build.gradle.kts b/build.gradle.kts index a10ac0119ea..ec33368b81e 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -33,7 +33,7 @@ extra["targetSdkVersion"] = 34 extra["compileSdkVersion"] = 34 -extra["minSdkVersion"] = 21 +extra["minSdkVersion"] = 23 firebaseContinuousIntegration { ignorePaths = diff --git a/firebase-ai/firebase-ai.gradle.kts b/firebase-ai/firebase-ai.gradle.kts index 70b2883d287..63844f3c7f8 100644 --- a/firebase-ai/firebase-ai.gradle.kts +++ b/firebase-ai/firebase-ai.gradle.kts @@ -39,7 +39,7 @@ android { namespace = "com.google.firebase.ai" compileSdk = 34 defaultConfig { - minSdk = 21 + minSdk = rootProject.extra["minSdkVersion"] as Int consumerProguardFiles("consumer-rules.pro") multiDexEnabled = true testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" diff --git a/firebase-common/src/androidTest/java/com/google/firebase/FirebaseAppTest.java b/firebase-common/src/androidTest/java/com/google/firebase/FirebaseAppTest.java index f24a56c74c5..43417766dba 100644 --- a/firebase-common/src/androidTest/java/com/google/firebase/FirebaseAppTest.java +++ b/firebase-common/src/androidTest/java/com/google/firebase/FirebaseAppTest.java @@ -143,7 +143,7 @@ public void testInitializeApp_shouldPublishVersionForFirebaseCommon() { // After sorting the user agents are expected to be {"fire-android/", "fire-auth/x.y.z", // "fire-core/x.y.z", "test-component/1.2.3"} assertThat(actualUserAgent[0]).contains("android-installer"); - assertThat(actualUserAgent[1]).contains("android-min-sdk/21"); + assertThat(actualUserAgent[1]).contains("android-min-sdk/23"); assertThat(actualUserAgent[2]).contains("android-platform"); assertThat(actualUserAgent[3]).contains("android-target-sdk"); assertThat(actualUserAgent[4]).contains("device-brand"); diff --git a/firebase-config/firebase-config.gradle.kts b/firebase-config/firebase-config.gradle.kts index b97c1a7033e..e689ead214d 100644 --- a/firebase-config/firebase-config.gradle.kts +++ b/firebase-config/firebase-config.gradle.kts @@ -37,7 +37,7 @@ android { compileSdk = targetSdkVersion defaultConfig { - minSdk = 21 + minSdk = rootProject.extra["minSdkVersion"] as Int multiDexEnabled = true testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } diff --git a/firebase-dataconnect/demo/build.gradle.kts b/firebase-dataconnect/demo/build.gradle.kts index c27cc6ab181..9259b4f6b0b 100644 --- a/firebase-dataconnect/demo/build.gradle.kts +++ b/firebase-dataconnect/demo/build.gradle.kts @@ -72,7 +72,7 @@ android { namespace = "com.google.firebase.dataconnect.minimaldemo" compileSdk = 35 defaultConfig { - minSdk = 21 + minSdk = 23 targetSdk = 35 versionCode = 1 versionName = "1.0" diff --git a/firebase-dataconnect/testutil/src/main/kotlin/com/google/firebase/dataconnect/testutil/FactoryTestRule.kt b/firebase-dataconnect/testutil/src/main/kotlin/com/google/firebase/dataconnect/testutil/FactoryTestRule.kt index c6345a391f8..aee763c0db1 100644 --- a/firebase-dataconnect/testutil/src/main/kotlin/com/google/firebase/dataconnect/testutil/FactoryTestRule.kt +++ b/firebase-dataconnect/testutil/src/main/kotlin/com/google/firebase/dataconnect/testutil/FactoryTestRule.kt @@ -48,7 +48,7 @@ abstract class FactoryTestRule : ExternalResource() { override fun after() { active.set(false) while (instances.isNotEmpty()) { - destroyInstance(instances.removeLast()) + destroyInstance(instances.removeAt(instances.lastIndex)) } } diff --git a/firebase-firestore/src/test/java/com/google/firebase/firestore/spec/MemorySpecTest.java b/firebase-firestore/src/test/java/com/google/firebase/firestore/spec/MemorySpecTest.java index d07e3c6c886..324cf2716b0 100644 --- a/firebase-firestore/src/test/java/com/google/firebase/firestore/spec/MemorySpecTest.java +++ b/firebase-firestore/src/test/java/com/google/firebase/firestore/spec/MemorySpecTest.java @@ -28,7 +28,7 @@ import org.robolectric.annotation.Config; @RunWith(RobolectricTestRunner.class) -@Config(sdk = 21, manifest = Config.NONE) +@Config(sdk = 23, manifest = Config.NONE) public class MemorySpecTest extends SpecTestCase { private static final String DURABLE_PERSISTENCE = "durable-persistence"; diff --git a/firebase-inappmessaging-display/src/test/java/com/google/firebase/inappmessaging/display/FirebaseInAppMessagingDisplayTest.java b/firebase-inappmessaging-display/src/test/java/com/google/firebase/inappmessaging/display/FirebaseInAppMessagingDisplayTest.java index a4e8d722fce..803ec125db5 100644 --- a/firebase-inappmessaging-display/src/test/java/com/google/firebase/inappmessaging/display/FirebaseInAppMessagingDisplayTest.java +++ b/firebase-inappmessaging-display/src/test/java/com/google/firebase/inappmessaging/display/FirebaseInAppMessagingDisplayTest.java @@ -94,7 +94,7 @@ import org.robolectric.shadows.ShadowPackageManager; @RunWith(RobolectricTestRunner.class) -@Config(sdk = 21, qualifiers = "port") +@Config(sdk = 23, qualifiers = "port") @LooperMode(LooperMode.Mode.LEGACY) public class FirebaseInAppMessagingDisplayTest { diff --git a/firebase-inappmessaging-display/src/test/java/com/google/firebase/inappmessaging/display/OnSwipeListenerTest.java b/firebase-inappmessaging-display/src/test/java/com/google/firebase/inappmessaging/display/OnSwipeListenerTest.java index 33d68346285..da2872acbdd 100644 --- a/firebase-inappmessaging-display/src/test/java/com/google/firebase/inappmessaging/display/OnSwipeListenerTest.java +++ b/firebase-inappmessaging-display/src/test/java/com/google/firebase/inappmessaging/display/OnSwipeListenerTest.java @@ -25,7 +25,7 @@ import org.robolectric.annotation.Config; @RunWith(RobolectricTestRunner.class) -@Config(sdk = 21) +@Config(sdk = 23) public class OnSwipeListenerTest { private OnSwipeUpListener onSwipeListener; private boolean sweptUp; diff --git a/firebase-inappmessaging-display/src/test/java/com/google/firebase/inappmessaging/display/internal/FiamImageLoaderTest.java b/firebase-inappmessaging-display/src/test/java/com/google/firebase/inappmessaging/display/internal/FiamImageLoaderTest.java index 0567a1e65fe..a319395a344 100644 --- a/firebase-inappmessaging-display/src/test/java/com/google/firebase/inappmessaging/display/internal/FiamImageLoaderTest.java +++ b/firebase-inappmessaging-display/src/test/java/com/google/firebase/inappmessaging/display/internal/FiamImageLoaderTest.java @@ -36,7 +36,7 @@ import org.robolectric.annotation.Config; @RunWith(RobolectricTestRunner.class) -@Config(sdk = 21, qualifiers = "por") +@Config(sdk = 23, qualifiers = "por") public class FiamImageLoaderTest { private static final String IMAGE_URL = "https://www.imgur.com"; @Mock private RequestManager glideRequestManager; diff --git a/firebase-inappmessaging-display/src/test/java/com/google/firebase/inappmessaging/display/internal/FiamWindowManagerTest.java b/firebase-inappmessaging-display/src/test/java/com/google/firebase/inappmessaging/display/internal/FiamWindowManagerTest.java index 714fa513f11..5297590c3a8 100644 --- a/firebase-inappmessaging-display/src/test/java/com/google/firebase/inappmessaging/display/internal/FiamWindowManagerTest.java +++ b/firebase-inappmessaging-display/src/test/java/com/google/firebase/inappmessaging/display/internal/FiamWindowManagerTest.java @@ -42,7 +42,7 @@ import org.robolectric.annotation.Config; @RunWith(RobolectricTestRunner.class) -@Config(sdk = 21, qualifiers = "port") +@Config(sdk = 23, qualifiers = "port") public class FiamWindowManagerTest { private static final Context appContext = ApplicationProvider.getApplicationContext(); private static final int WINDOW_GRAVITY = Gravity.CENTER; diff --git a/firebase-messaging/src/test/AndroidManifest.xml b/firebase-messaging/src/test/AndroidManifest.xml index 34d239d4020..9cc3a8ab47e 100644 --- a/firebase-messaging/src/test/AndroidManifest.xml +++ b/firebase-messaging/src/test/AndroidManifest.xml @@ -18,7 +18,7 @@ android:versionCode="1" android:versionName="1"> - + diff --git a/firebase-messaging/src/test/java/com/google/firebase/messaging/DisplayNotificationRoboTest.java b/firebase-messaging/src/test/java/com/google/firebase/messaging/DisplayNotificationRoboTest.java index f3026653ee1..de61071d0e0 100644 --- a/firebase-messaging/src/test/java/com/google/firebase/messaging/DisplayNotificationRoboTest.java +++ b/firebase-messaging/src/test/java/com/google/firebase/messaging/DisplayNotificationRoboTest.java @@ -475,7 +475,7 @@ public void testClickActionAndLink() { /** Test that a valid notification with color is displayed. */ @Test - @Config(sdk = Build.VERSION_CODES.LOLLIPOP) + @Config(sdk = Build.VERSION_CODES.M) public void testColor() { final String color = "#123456"; Bundle data = new Bundle(); @@ -489,7 +489,7 @@ public void testColor() { } @Test - @Config(sdk = Build.VERSION_CODES.LOLLIPOP) + @Config(sdk = Build.VERSION_CODES.M) public void testNoColor() { Bundle data = new Bundle(); data.putString(KEY_TITLE, "title 123"); @@ -503,7 +503,7 @@ public void testNoColor() { /** Test that the user can choose the default color via AndroidManifest metadata. */ @Test - @Config(sdk = Build.VERSION_CODES.LOLLIPOP) + @Config(sdk = Build.VERSION_CODES.M) public void testColorFromMetadata() { Bundle metadata = new Bundle(); metadata.putInt( diff --git a/firebase-messaging/src/test/resources/robolectric.properties b/firebase-messaging/src/test/resources/robolectric.properties index 8bfbb3c5552..a44b8420266 100644 --- a/firebase-messaging/src/test/resources/robolectric.properties +++ b/firebase-messaging/src/test/resources/robolectric.properties @@ -1 +1 @@ -sdk=21 +sdk=23 diff --git a/firebase-sessions/src/test/kotlin/com/google/firebase/sessions/testing/FakeFirebaseApp.kt b/firebase-sessions/src/test/kotlin/com/google/firebase/sessions/testing/FakeFirebaseApp.kt index e934ada6bf0..cd758b8e0b1 100644 --- a/firebase-sessions/src/test/kotlin/com/google/firebase/sessions/testing/FakeFirebaseApp.kt +++ b/firebase-sessions/src/test/kotlin/com/google/firebase/sessions/testing/FakeFirebaseApp.kt @@ -43,7 +43,7 @@ internal class FakeFirebaseApp( val packageInfo = PackageInfoBuilder.newBuilder().setPackageName(context.packageName).build() packageInfo.versionName = MOCK_APP_VERSION - metadata?.let { packageInfo.applicationInfo.metaData = it } + metadata?.let { packageInfo.applicationInfo!!.metaData = it } shadowPackageManager.installPackage(packageInfo) val activityManager = context.getSystemService(Context.ACTIVITY_SERVICE) as ActivityManager diff --git a/firebase-storage/src/test/java/com/google/firebase/storage/DeleteTest.java b/firebase-storage/src/test/java/com/google/firebase/storage/DeleteTest.java index 592c7f1584a..f51a3fc6c62 100644 --- a/firebase-storage/src/test/java/com/google/firebase/storage/DeleteTest.java +++ b/firebase-storage/src/test/java/com/google/firebase/storage/DeleteTest.java @@ -32,7 +32,7 @@ /** Tests for {@link FirebaseStorage}. */ @RunWith(RobolectricTestRunner.class) -@Config(sdk = Build.VERSION_CODES.LOLLIPOP_MR1) +@Config(sdk = Build.VERSION_CODES.M) public class DeleteTest { @Rule public RetryRule retryRule = new RetryRule(3); diff --git a/firebase-storage/src/test/java/com/google/firebase/storage/ListTest.java b/firebase-storage/src/test/java/com/google/firebase/storage/ListTest.java index fda83ae5b80..dd7958c547a 100644 --- a/firebase-storage/src/test/java/com/google/firebase/storage/ListTest.java +++ b/firebase-storage/src/test/java/com/google/firebase/storage/ListTest.java @@ -34,7 +34,7 @@ /** Tests for {@link FirebaseStorage}. */ @RunWith(RobolectricTestRunner.class) -@Config(sdk = Build.VERSION_CODES.LOLLIPOP_MR1) +@Config(sdk = Build.VERSION_CODES.M) public class ListTest { @Rule public RetryRule retryRule = new RetryRule(3); diff --git a/firebase-storage/src/test/java/com/google/firebase/storage/MetadataTest.java b/firebase-storage/src/test/java/com/google/firebase/storage/MetadataTest.java index 0dbfbcf0330..24c9ddc5093 100644 --- a/firebase-storage/src/test/java/com/google/firebase/storage/MetadataTest.java +++ b/firebase-storage/src/test/java/com/google/firebase/storage/MetadataTest.java @@ -32,7 +32,7 @@ /** Tests for {@link FirebaseStorage}. */ @RunWith(RobolectricTestRunner.class) -@Config(sdk = Build.VERSION_CODES.LOLLIPOP_MR1) +@Config(sdk = Build.VERSION_CODES.M) public class MetadataTest { @Rule public RetryRule retryRule = new RetryRule(3); diff --git a/firebase-storage/src/test/java/com/google/firebase/storage/NetworkRequestTest.java b/firebase-storage/src/test/java/com/google/firebase/storage/NetworkRequestTest.java index 04afe3c8c1e..c3d3322e5c5 100644 --- a/firebase-storage/src/test/java/com/google/firebase/storage/NetworkRequestTest.java +++ b/firebase-storage/src/test/java/com/google/firebase/storage/NetworkRequestTest.java @@ -30,7 +30,7 @@ import org.robolectric.annotation.Config; @RunWith(RobolectricTestRunner.class) -@Config(sdk = Build.VERSION_CODES.LOLLIPOP_MR1) +@Config(sdk = Build.VERSION_CODES.M) public class NetworkRequestTest { private FirebaseApp app; diff --git a/firebase-storage/src/test/java/com/google/firebase/storage/PathingTest.java b/firebase-storage/src/test/java/com/google/firebase/storage/PathingTest.java index d450e0ae8e6..881fda6e5f1 100644 --- a/firebase-storage/src/test/java/com/google/firebase/storage/PathingTest.java +++ b/firebase-storage/src/test/java/com/google/firebase/storage/PathingTest.java @@ -36,7 +36,7 @@ /** Tests for {@link FirebaseStorage}. */ @RunWith(RobolectricTestRunner.class) -@Config(sdk = Build.VERSION_CODES.LOLLIPOP_MR1) +@Config(sdk = Build.VERSION_CODES.M) public class PathingTest { @Rule public RetryRule retryRule = new RetryRule(3); diff --git a/firebase-storage/src/test/java/com/google/firebase/storage/UploadTest.java b/firebase-storage/src/test/java/com/google/firebase/storage/UploadTest.java index e97028667ae..8d42f688221 100644 --- a/firebase-storage/src/test/java/com/google/firebase/storage/UploadTest.java +++ b/firebase-storage/src/test/java/com/google/firebase/storage/UploadTest.java @@ -62,7 +62,7 @@ /** Tests for {@link FirebaseStorage}. */ @SuppressWarnings("ConstantConditions") @RunWith(RobolectricTestRunner.class) -@Config(sdk = Build.VERSION_CODES.LOLLIPOP_MR1) +@Config(sdk = Build.VERSION_CODES.M) public class UploadTest { private static final String TEST_ASSET_ROOT = "assets/"; diff --git a/firebase-storage/src/test/java/com/google/firebase/storage/internal/StorageReferenceUriTest.java b/firebase-storage/src/test/java/com/google/firebase/storage/internal/StorageReferenceUriTest.java index 88a7e10f724..690c9c91f96 100644 --- a/firebase-storage/src/test/java/com/google/firebase/storage/internal/StorageReferenceUriTest.java +++ b/firebase-storage/src/test/java/com/google/firebase/storage/internal/StorageReferenceUriTest.java @@ -24,7 +24,7 @@ import org.robolectric.annotation.Config; @RunWith(RobolectricTestRunner.class) -@Config(sdk = Build.VERSION_CODES.LOLLIPOP_MR1) +@Config(sdk = Build.VERSION_CODES.M) public class StorageReferenceUriTest { private static final EmulatedServiceSettings EMULATOR_SETTINGS = diff --git a/firebase-vertexai/firebase-vertexai.gradle.kts b/firebase-vertexai/firebase-vertexai.gradle.kts index e27f3799cde..b180d76c315 100644 --- a/firebase-vertexai/firebase-vertexai.gradle.kts +++ b/firebase-vertexai/firebase-vertexai.gradle.kts @@ -39,7 +39,7 @@ android { namespace = "com.google.firebase.vertexai" compileSdk = 34 defaultConfig { - minSdk = 21 + minSdk = rootProject.extra["minSdkVersion"] as Int consumerProguardFiles("consumer-rules.pro") multiDexEnabled = true testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" diff --git a/transport/transport-runtime/src/test/java/com/google/android/datatransport/runtime/scheduling/jobscheduling/AlarmManagerSchedulerTest.java b/transport/transport-runtime/src/test/java/com/google/android/datatransport/runtime/scheduling/jobscheduling/AlarmManagerSchedulerTest.java index ac6293f9de3..4a66fd7e36b 100644 --- a/transport/transport-runtime/src/test/java/com/google/android/datatransport/runtime/scheduling/jobscheduling/AlarmManagerSchedulerTest.java +++ b/transport/transport-runtime/src/test/java/com/google/android/datatransport/runtime/scheduling/jobscheduling/AlarmManagerSchedulerTest.java @@ -14,7 +14,7 @@ package com.google.android.datatransport.runtime.scheduling.jobscheduling; -import static android.os.Build.VERSION_CODES.LOLLIPOP; +import static android.os.Build.VERSION_CODES.M; import static com.google.common.truth.Truth.assertThat; import static org.mockito.AdditionalMatchers.gt; import static org.mockito.ArgumentMatchers.any; @@ -47,7 +47,7 @@ import org.robolectric.RobolectricTestRunner; import org.robolectric.annotation.Config; -@Config(sdk = {LOLLIPOP}) +@Config(sdk = {M}) @RunWith(RobolectricTestRunner.class) public class AlarmManagerSchedulerTest { private static final long TWENTY_FOUR_HOURS = 24 * 60 * 60 * 1000; diff --git a/transport/transport-runtime/src/test/java/com/google/android/datatransport/runtime/scheduling/jobscheduling/JobInfoSchedulerTest.java b/transport/transport-runtime/src/test/java/com/google/android/datatransport/runtime/scheduling/jobscheduling/JobInfoSchedulerTest.java index 197daa2747c..693d047d3a8 100644 --- a/transport/transport-runtime/src/test/java/com/google/android/datatransport/runtime/scheduling/jobscheduling/JobInfoSchedulerTest.java +++ b/transport/transport-runtime/src/test/java/com/google/android/datatransport/runtime/scheduling/jobscheduling/JobInfoSchedulerTest.java @@ -14,7 +14,7 @@ package com.google.android.datatransport.runtime.scheduling.jobscheduling; -import static android.os.Build.VERSION_CODES.LOLLIPOP; +import static android.os.Build.VERSION_CODES.M; import static com.google.common.truth.Truth.assertThat; import android.app.job.JobInfo; @@ -37,7 +37,7 @@ import org.robolectric.RobolectricTestRunner; import org.robolectric.annotation.Config; -@Config(sdk = {LOLLIPOP}) +@Config(sdk = {M}) @RunWith(RobolectricTestRunner.class) public class JobInfoSchedulerTest { private static final long TWENTY_FOUR_HOURS = 24 * 60 * 60 * 1000; diff --git a/transport/transport-runtime/src/test/java/com/google/android/datatransport/runtime/scheduling/jobscheduling/UploaderTest.java b/transport/transport-runtime/src/test/java/com/google/android/datatransport/runtime/scheduling/jobscheduling/UploaderTest.java index f3b0e999842..25ec6040a7e 100644 --- a/transport/transport-runtime/src/test/java/com/google/android/datatransport/runtime/scheduling/jobscheduling/UploaderTest.java +++ b/transport/transport-runtime/src/test/java/com/google/android/datatransport/runtime/scheduling/jobscheduling/UploaderTest.java @@ -14,7 +14,7 @@ package com.google.android.datatransport.runtime.scheduling.jobscheduling; -import static android.os.Build.VERSION_CODES.LOLLIPOP; +import static android.os.Build.VERSION_CODES.M; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.argThat; @@ -52,7 +52,7 @@ import org.robolectric.RobolectricTestRunner; import org.robolectric.annotation.Config; -@Config(sdk = {LOLLIPOP}) +@Config(sdk = {M}) @RunWith(RobolectricTestRunner.class) public class UploaderTest { private static final SynchronizationGuard guard =