Upgrade to androidx.test 1.4.0-beta01
1.4.0 has a fix for multidex test apks on older
api levels.
Fix appcompat tests on api17-19:
- Skip emoji2 integration tests below API19 as they are correctly
detecting emoji2 doesn't work below api19
- Use @UiThreadTest for various tests that call methods that require ui
thread to call ui-thread only methods (previously, they were called on a
test thread, which happens to work by accident on later API levels)
Bug: 189215873
Bug: 189491755
Bug: 189492236
Bug: 189491928
Bug: 189492631
Bug: 189493648
Test: ./gradlew assembleAndroidTest
Change-Id: I0256cb19d97bc016f0ef2a45c25f0cd0814fb1b6
diff --git a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatAutoCompleteTextViewTest.java b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatAutoCompleteTextViewTest.java
index c5046d0..448975c 100644
--- a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatAutoCompleteTextViewTest.java
+++ b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatAutoCompleteTextViewTest.java
@@ -22,10 +22,9 @@
import android.view.Menu;
import android.view.MenuItem;
+import androidx.test.annotation.UiThreadTest;
import androidx.test.filters.LargeTest;
-import org.junit.Test;
-
/**
* In addition to all tinting-related tests done by the base class, this class provides
* tests specific to {@link AppCompatAutoCompleteTextView} class.
@@ -39,7 +38,7 @@
super(AppCompatAutoCompleteTextViewActivity.class);
}
- @Test
+ @UiThreadTest
public void testSetCustomSelectionActionModeCallback() {
final AppCompatAutoCompleteTextView view = new AppCompatAutoCompleteTextView(mActivity);
final ActionMode.Callback callback = new ActionMode.Callback() {
diff --git a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatBaseAutoSizeTest.java b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatBaseAutoSizeTest.java
index e555de4..483718c 100644
--- a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatBaseAutoSizeTest.java
+++ b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatBaseAutoSizeTest.java
@@ -42,6 +42,7 @@
import androidx.core.content.res.ResourcesCompat;
import androidx.core.widget.AutoSizeableTextView;
import androidx.core.widget.TextViewCompat;
+import androidx.test.annotation.UiThreadTest;
import androidx.test.filters.FlakyTest;
import androidx.test.filters.LargeTest;
import androidx.test.filters.MediumTest;
@@ -527,7 +528,7 @@
}
}
- @Test
+ @UiThreadTest
@MediumTest
@FlakyTest(bugId = 157145343)
public void testAutoSizeCallers_setTypeface() throws Throwable {
diff --git a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatBaseTextViewEmojiTest.java b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatBaseTextViewEmojiTest.java
index 64117cf..da6fa86 100644
--- a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatBaseTextViewEmojiTest.java
+++ b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatBaseTextViewEmojiTest.java
@@ -18,6 +18,8 @@
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.atLeast;
import static org.mockito.Mockito.atLeastOnce;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
@@ -25,6 +27,7 @@
import static org.mockito.Mockito.when;
import android.app.Instrumentation;
+import android.view.inputmethod.EditorInfo;
import android.widget.TextView;
import androidx.appcompat.testutils.BaseTestActivity;
@@ -32,6 +35,7 @@
import androidx.test.annotation.UiThreadTest;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.MediumTest;
+import androidx.test.filters.SdkSuppress;
import androidx.test.platform.app.InstrumentationRegistry;
import androidx.test.rule.ActivityTestRule;
@@ -76,6 +80,7 @@
@Test
@UiThreadTest
+ @SdkSuppress(minSdkVersion = 19)
public void byDefault_setText_callsEmojiCompat() {
resetEmojiCompatToNewMock();
ViewType subject = mActivityTestRule.getActivity()
@@ -86,6 +91,7 @@
@Test
@UiThreadTest
+ @SdkSuppress(minSdkVersion = 19)
public void whenEnabled_setText_callsProcess() {
resetEmojiCompatToNewMock();
ViewType subject = mActivityTestRule.getActivity()
@@ -97,6 +103,7 @@
@Test
@UiThreadTest
+ @SdkSuppress(minSdkVersion = 19)
public void whenDisabled_noCalls() {
resetEmojiCompatToNewMock();
ViewType subject = mActivityTestRule.getActivity()
@@ -109,6 +116,7 @@
@Test
@UiThreadTest
+ @SdkSuppress(minSdkVersion = 19)
public void whenReEnabled_callsProcess() throws Throwable {
resetEmojiCompatToNewMock();
ViewType subject = mActivityTestRule.getActivity()
@@ -123,6 +131,7 @@
}
@Test
+ @SdkSuppress(minSdkVersion = 19)
public void whenNotConfigured_andDisabled_doesNotEnable_whenConfigured() throws Throwable {
EmojiCompat.reset((EmojiCompat) null);
mActivityTestRule.finishActivity();
@@ -150,12 +159,16 @@
enabledInAdvance.setText("Some text");
defaultEmoji.setFilters(defaultEmoji.getFilters());
defaultEmoji.setText("Some text");
+ // this is allowed, but all other interactions should not happen
+ verify(mEmojiCompatMock, atLeast(0)).updateEditorInfoAttrs(
+ any(EditorInfo.class));
verifyNoMoreInteractions(mEmojiCompatMock);
});
}
@Test
+ @SdkSuppress(minSdkVersion = 19)
public void whenNotConfigured_callingEnabled_afterConfigure_enablesEmoji() throws Throwable {
EmojiCompat.reset((EmojiCompat) null);
mActivityTestRule.finishActivity();
@@ -175,6 +188,7 @@
}
@Test
+ @SdkSuppress(minSdkVersion = 19)
public void getEnabled() throws Throwable {
ActivityType activity = mActivityTestRule.getActivity();
ViewType disabledInAdvance =
diff --git a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatButtonTest.java b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatButtonTest.java
index b6febf9..3c15924 100644
--- a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatButtonTest.java
+++ b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatButtonTest.java
@@ -29,6 +29,7 @@
import androidx.appcompat.test.R;
import androidx.core.content.res.ResourcesCompat;
+import androidx.test.annotation.UiThreadTest;
import androidx.test.filters.LargeTest;
import org.junit.Test;
@@ -107,7 +108,7 @@
assertEquals(expected, button.getTypeface());
}
- @Test
+ @UiThreadTest
public void testSetCustomSelectionActionModeCallback() {
final AppCompatButton view = new AppCompatButton(mActivity);
final ActionMode.Callback callback = new ActionMode.Callback() {
diff --git a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatCheckedTextViewTest.java b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatCheckedTextViewTest.java
index cef0f44..6df367d 100644
--- a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatCheckedTextViewTest.java
+++ b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatCheckedTextViewTest.java
@@ -31,6 +31,7 @@
import androidx.appcompat.test.R;
import androidx.core.content.res.ResourcesCompat;
import androidx.core.widget.CheckedTextViewCompat;
+import androidx.test.annotation.UiThreadTest;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.LargeTest;
import androidx.test.filters.SdkSuppress;
@@ -113,7 +114,7 @@
assertNotNull(checkMark);
}
- @Test
+ @UiThreadTest
public void testSetCustomSelectionActionModeCallback() {
final AppCompatCheckedTextView view = new AppCompatCheckedTextView(mActivity);
final ActionMode.Callback callback = new ActionMode.Callback() {
diff --git a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatEditTextTest.java b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatEditTextTest.java
index 1f61146..7a1b0fb 100644
--- a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatEditTextTest.java
+++ b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatEditTextTest.java
@@ -200,7 +200,7 @@
private static class NoOpTextClassifier implements TextClassifier {}
- @Test
+ @UiThreadTest
public void testSetCustomSelectionActionModeCallback() {
final AppCompatEditText view = new AppCompatEditText(mActivityTestRule.getActivity());
final ActionMode.Callback callback = new ActionMode.Callback() {
diff --git a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatTextViewTest.java b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatTextViewTest.java
index 281e840..ad475d6 100644
--- a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatTextViewTest.java
+++ b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatTextViewTest.java
@@ -1221,7 +1221,7 @@
true);
}
- @Test
+ @UiThreadTest
public void testSetCustomSelectionActionModeCallback() {
final AppCompatTextView view = new AppCompatTextView(mActivity);
final ActionMode.Callback callback = new ActionMode.Callback() {
diff --git a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/SwitchCompatEmojiTest.java b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/SwitchCompatEmojiTest.java
index 9c85141..9b84be7 100644
--- a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/SwitchCompatEmojiTest.java
+++ b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/SwitchCompatEmojiTest.java
@@ -26,6 +26,7 @@
import androidx.appcompat.test.R;
import androidx.emoji2.text.EmojiCompat;
import androidx.test.ext.junit.runners.AndroidJUnit4;
+import androidx.test.filters.SdkSuppress;
import androidx.test.filters.SmallTest;
import org.junit.Test;
@@ -41,6 +42,7 @@
}
@Test
+ @SdkSuppress(minSdkVersion = 19)
public void setupCallbacks_whenLoading() throws Throwable {
SwitchCompat emojiEnabled = mActivityTestRule.getActivity()
.findViewById(R.id.emoji_enabled);
@@ -55,6 +57,7 @@
}
@Test
+ @SdkSuppress(minSdkVersion = 19)
public void dontSetupCallbacks_whenDisabled() throws Throwable {
SwitchCompat emojiDisabled =
mActivityTestRule.getActivity().findViewById(R.id.emoji_disabled);
@@ -69,6 +72,7 @@
}
@Test
+ @SdkSuppress(minSdkVersion = 19)
public void noInteractions_whenDisnabled_andRepeatedShowText() {
SwitchCompat emojiDisabled =
mActivityTestRule.getActivity().findViewById(R.id.emoji_disabled);
@@ -85,6 +89,8 @@
verifyNoMoreInteractions(mEmojiCompatMock);
}
+ @Test
+ @SdkSuppress(minSdkVersion = 19)
public void setupCallbacks_whenLoading_andEnabledLate() throws Throwable {
SwitchCompat emojiDisabled =
mActivityTestRule.getActivity().findViewById(R.id.emoji_disabled);
@@ -101,6 +107,8 @@
verify(mEmojiCompatMock).registerInitCallback(any(EmojiCompat.InitCallback.class));
}
+ @Test
+ @SdkSuppress(minSdkVersion = 19)
public void whenSetShowText_doesTransform() {
SwitchCompat emojiEnabled =
mActivityTestRule.getActivity().findViewById(R.id.emoji_enabled);
@@ -111,6 +119,8 @@
verify(mEmojiCompatMock, atLeastOnce()).getLoadState();
}
+ @Test
+ @SdkSuppress(minSdkVersion = 19)
public void whenSetTextOn_doesTransform() {
SwitchCompat emojiEnabled =
mActivityTestRule.getActivity().findViewById(R.id.emoji_enabled);
@@ -122,6 +132,8 @@
verify(mEmojiCompatMock, atLeastOnce()).getLoadState();
}
+ @Test
+ @SdkSuppress(minSdkVersion = 19)
public void whenSetTextOff_doesTransform() {
SwitchCompat emojiEnabled =
mActivityTestRule.getActivity().findViewById(R.id.emoji_enabled);
diff --git a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/SwitchCompatTest.java b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/SwitchCompatTest.java
index 12a4d54..03bfb04 100644
--- a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/SwitchCompatTest.java
+++ b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/SwitchCompatTest.java
@@ -41,6 +41,7 @@
import androidx.test.annotation.UiThreadTest;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.MediumTest;
+import androidx.test.filters.SdkSuppress;
import org.junit.Before;
import org.junit.Rule;
@@ -171,6 +172,7 @@
info.recycle();
}
+ @SdkSuppress(minSdkVersion = 21) // b/189493648
@Test
public void testSetCustomSelectionActionModeCallback() {
final SwitchCompat view = new SwitchCompat(mActivity);
diff --git a/buildSrc/src/main/kotlin/androidx/build/dependencies/Dependencies.kt b/buildSrc/src/main/kotlin/androidx/build/dependencies/Dependencies.kt
index 763d853..42ea14c 100644
--- a/buildSrc/src/main/kotlin/androidx/build/dependencies/Dependencies.kt
+++ b/buildSrc/src/main/kotlin/androidx/build/dependencies/Dependencies.kt
@@ -19,25 +19,16 @@
import androidx.build.OperatingSystem
import androidx.build.getOperatingSystem
-const val ANDROIDX_TEST_VERSION = "1.3.0"
+const val ANDROIDX_TEST_VERSION = "1.4.0-beta01"
const val ANDROIDX_TEST_CORE = "androidx.test:core:$ANDROIDX_TEST_VERSION"
-const val ANDROIDX_TEST_EXT_JUNIT = "androidx.test.ext:junit:1.1.2"
-const val ANDROIDX_TEST_EXT_KTX = "androidx.test.ext:junit-ktx:1.1.2"
+const val ANDROIDX_TEST_EXT_JUNIT = "androidx.test.ext:junit:1.1.3-beta01"
+const val ANDROIDX_TEST_EXT_KTX = "androidx.test.ext:junit-ktx:1.1.3-beta01"
const val ANDROIDX_TEST_EXT_TRUTH = "androidx.test.ext:truth:$ANDROIDX_TEST_VERSION"
const val ANDROIDX_TEST_MONITOR = "androidx.test:monitor:$ANDROIDX_TEST_VERSION"
const val ANDROIDX_TEST_RULES = "androidx.test:rules:$ANDROIDX_TEST_VERSION"
const val ANDROIDX_TEST_RUNNER = "androidx.test:runner:$ANDROIDX_TEST_VERSION"
const val ANDROIDX_TEST_UIAUTOMATOR = "androidx.test.uiautomator:uiautomator:2.2.0"
-// Remove ANDROIDX_TEST_*_LATEST once ANDROIDX_TEST_* upgrades to the next stable release
-// after 1.3.0, and replace all usages of ANDROIDX_TEST_*_LATEST with ANDROIDX_TEST_*
-const val ANDROIDX_TEST_LATEST_VERSION = "1.4.0-alpha06"
-const val ANDROIDX_TEST_CORE_LATEST = "androidx.test:core:$ANDROIDX_TEST_LATEST_VERSION"
-const val ANDROIDX_TEST_EXT_TRUTH_LATEST = "androidx.test.ext:truth:$ANDROIDX_TEST_LATEST_VERSION"
-const val ANDROIDX_TEST_MONITOR_LATEST = "androidx.test:monitor:$ANDROIDX_TEST_LATEST_VERSION"
-const val ANDROIDX_TEST_RULES_LATEST = "androidx.test:rules:$ANDROIDX_TEST_LATEST_VERSION"
-const val ANDROIDX_TEST_RUNNER_LATEST = "androidx.test:runner:$ANDROIDX_TEST_LATEST_VERSION"
-
const val AUTO_COMMON = "com.google.auto:auto-common:0.11"
const val AUTO_SERVICE_ANNOTATIONS = "com.google.auto.service:auto-service-annotations:1.0-rc6"
const val AUTO_SERVICE_PROCESSOR = "com.google.auto.service:auto-service:1.0-rc6"
diff --git a/compose/integration-tests/demos/build.gradle b/compose/integration-tests/demos/build.gradle
index c80024b..499c336 100644
--- a/compose/integration-tests/demos/build.gradle
+++ b/compose/integration-tests/demos/build.gradle
@@ -32,7 +32,7 @@
implementation("androidx.preference:preference-ktx:1.1.1")
androidTestImplementation(project(":compose:ui:ui-test-junit4"))
-
+ androidTestImplementation(ANDROIDX_TEST_CORE)
androidTestImplementation(ANDROIDX_TEST_RULES)
androidTestImplementation(ANDROIDX_TEST_RUNNER)
androidTestImplementation(ESPRESSO_CORE)
diff --git a/compose/test-utils/build.gradle b/compose/test-utils/build.gradle
index 9683b8b..4f47043 100644
--- a/compose/test-utils/build.gradle
+++ b/compose/test-utils/build.gradle
@@ -46,6 +46,7 @@
implementation(projectOrArtifact(":compose:ui:ui-unit"))
implementation(projectOrArtifact(":compose:ui:ui-graphics"))
implementation(projectOrArtifact(":activity:activity-compose"))
+ implementation(ANDROIDX_TEST_CORE)
implementation(ANDROIDX_TEST_RULES)
// This has stub APIs for access to legacy Android APIs, so we don't want
@@ -83,6 +84,7 @@
// This has stub APIs for access to legacy Android APIs, so we don't want
// any dependency on this module.
compileOnly(projectOrArtifact(":compose:ui:ui-android-stubs"))
+ implementation(ANDROIDX_TEST_CORE)
implementation(ANDROIDX_TEST_RULES)
}
diff --git a/compose/ui/ui-test-junit4/build.gradle b/compose/ui/ui-test-junit4/build.gradle
index 753900b..89bbc5a 100644
--- a/compose/ui/ui-test-junit4/build.gradle
+++ b/compose/ui/ui-test-junit4/build.gradle
@@ -41,7 +41,7 @@
if(!AndroidXUiPlugin.isMultiplatformEnabled(project)) {
api(project(":compose:ui:ui-test"))
api("androidx.activity:activity:1.2.0")
- api(ANDROIDX_TEST_EXT_JUNIT)
+ api("androidx.test.ext:junit:1.1.2")
api(JUNIT)
api(KOTLIN_STDLIB)
api(KOTLIN_STDLIB_COMMON)
@@ -52,8 +52,8 @@
implementation("androidx.annotation:annotation:1.1.0")
implementation("androidx.lifecycle:lifecycle-common:2.3.0")
implementation("androidx.lifecycle:lifecycle-runtime:2.3.0")
- implementation(ANDROIDX_TEST_CORE)
- implementation(ANDROIDX_TEST_MONITOR)
+ implementation("androidx.test:core:1.3.0")
+ implementation("androidx.test:monitor:1.3.0")
implementation(ESPRESSO_CORE)
implementation(ESPRESSO_IDLING_RESOURCE)
implementation(KOTLIN_COROUTINES_CORE)
@@ -103,14 +103,14 @@
androidMain.dependencies {
api("androidx.activity:activity:1.2.0")
implementation project(":activity:activity-compose")
- api(ANDROIDX_TEST_EXT_JUNIT)
+ api("androidx.test.ext:junit:1.1.2")
implementation(project(":compose:animation:animation-core"))
implementation(project(":compose:runtime:runtime-saveable"))
implementation("androidx.lifecycle:lifecycle-common:2.3.0")
implementation("androidx.lifecycle:lifecycle-runtime:2.3.0")
- implementation(ANDROIDX_TEST_CORE)
- implementation(ANDROIDX_TEST_MONITOR)
+ implementation("androidx.test:core:1.3.0")
+ implementation("androidx.test:monitor:1.3.0")
implementation(ESPRESSO_CORE)
implementation(ESPRESSO_IDLING_RESOURCE)
}
diff --git a/compose/ui/ui-test-manifest/integration-tests/testapp/build.gradle b/compose/ui/ui-test-manifest/integration-tests/testapp/build.gradle
index ef1ee31..350db1d 100644
--- a/compose/ui/ui-test-manifest/integration-tests/testapp/build.gradle
+++ b/compose/ui/ui-test-manifest/integration-tests/testapp/build.gradle
@@ -30,6 +30,7 @@
androidTestImplementation(project(":compose:ui:ui-test-junit4"))
androidTestImplementation(ANDROIDX_TEST_RUNNER)
+ androidTestImplementation(ANDROIDX_TEST_CORE)
}
android {
diff --git a/compose/ui/ui/build.gradle b/compose/ui/ui/build.gradle
index ca35bc6..a131583 100644
--- a/compose/ui/ui/build.gradle
+++ b/compose/ui/ui/build.gradle
@@ -80,9 +80,9 @@
testImplementation(project(":compose:ui:ui-test-junit4"))
testImplementation(project(":compose:test-utils"))
- androidTestImplementation(ANDROIDX_TEST_CORE_LATEST)
- androidTestImplementation(ANDROIDX_TEST_RULES_LATEST)
- androidTestImplementation(ANDROIDX_TEST_RUNNER_LATEST)
+ androidTestImplementation(ANDROIDX_TEST_CORE)
+ androidTestImplementation(ANDROIDX_TEST_RULES)
+ androidTestImplementation(ANDROIDX_TEST_RUNNER)
androidTestImplementation(ANDROIDX_TEST_EXT_KTX)
androidTestImplementation(ANDROIDX_TEST_UIAUTOMATOR)
androidTestImplementation(KOTLIN_COROUTINES_TEST)
diff --git a/core/core/src/androidTest/java/androidx/core/location/LocationCompatTest.java b/core/core/src/androidTest/java/androidx/core/location/LocationCompatTest.java
index 6584403..13d7a29 100644
--- a/core/core/src/androidTest/java/androidx/core/location/LocationCompatTest.java
+++ b/core/core/src/androidTest/java/androidx/core/location/LocationCompatTest.java
@@ -26,6 +26,7 @@
import android.os.Build;
import android.os.SystemClock;
+import androidx.test.filters.SdkSuppress;
import androidx.test.filters.SmallTest;
import org.junit.Test;
@@ -70,6 +71,7 @@
< MAX_ELAPSED_REALTIME_OFFSET_MS);
}
+ @SdkSuppress(minSdkVersion = 21) // b/189491755
@Test
public void testMock() {
Location location = new Location("");
diff --git a/core/core/src/androidTest/java/androidx/core/telephony/TelephonyManagerCompatTest.java b/core/core/src/androidTest/java/androidx/core/telephony/TelephonyManagerCompatTest.java
index f7fe966..93f601c 100644
--- a/core/core/src/androidTest/java/androidx/core/telephony/TelephonyManagerCompatTest.java
+++ b/core/core/src/androidTest/java/androidx/core/telephony/TelephonyManagerCompatTest.java
@@ -52,6 +52,7 @@
(TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE);
}
+ @SdkSuppress(minSdkVersion = 21) // b/189491928
@Test
public void testGetSubscriptionId() {
SubscriptionManager subscriptionManager = (SubscriptionManager) mContext.getSystemService(
diff --git a/core/core/src/androidTest/java/androidx/core/view/WindowInsetsCompatTest.kt b/core/core/src/androidTest/java/androidx/core/view/WindowInsetsCompatTest.kt
index 16af340..54862d3 100644
--- a/core/core/src/androidTest/java/androidx/core/view/WindowInsetsCompatTest.kt
+++ b/core/core/src/androidTest/java/androidx/core/view/WindowInsetsCompatTest.kt
@@ -278,6 +278,7 @@
assertEquals(result.hashCode(), result2.hashCode())
}
+ @SdkSuppress(minSdkVersion = 21) // b/189492236
@Test
public fun set_only_navigation_bar_insets() {
val insets = WindowInsetsCompat.Builder()
diff --git a/core/core/src/androidTest/java/androidx/core/view/WindowInsetsControllerCompatActivityTest.kt b/core/core/src/androidTest/java/androidx/core/view/WindowInsetsControllerCompatActivityTest.kt
index ca37b0c..4f40563 100644
--- a/core/core/src/androidTest/java/androidx/core/view/WindowInsetsControllerCompatActivityTest.kt
+++ b/core/core/src/androidTest/java/androidx/core/view/WindowInsetsControllerCompatActivityTest.kt
@@ -263,7 +263,8 @@
}
@Test
- @SdkSuppress(maxSdkVersion = 29) // Flag deprecated in 30+
+ // minSdkVersion = 21 due to b/189492236
+ @SdkSuppress(minSdkVersion = 21, maxSdkVersion = 29) // Flag deprecated in 30+
public fun systemBarsBehavior_swipe() {
scenario.onActivity {
windowInsetsController.systemBarsBehavior =
@@ -279,7 +280,8 @@
}
@Test
- @SdkSuppress(maxSdkVersion = 29) // Flag deprecated in 30+
+ // minSdkVersion = 21 due to b/189492236
+ @SdkSuppress(minSdkVersion = 21, maxSdkVersion = 29) // Flag deprecated in 30+
public fun systemBarsBehavior_transient() {
scenario.onActivity {
windowInsetsController.systemBarsBehavior =
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index b695822..733bb6f 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -12,8 +12,8 @@
# -----------------------------------------------------------------------------
androidLintMin = "26.3.0"
-androidxTest = "1.3.0"
-androidxTestExt = "1.1.2"
+androidxTest = "1.4.0-beta01"
+androidxTestExt = "1.1.3-beta01"
autoService = "1.0-rc6"
autoValue = "1.6.3"
dexmaker = "2.25.0"
diff --git a/paging/runtime/src/androidTest/java/androidx/paging/AsyncPagingDataDifferTest.kt b/paging/runtime/src/androidTest/java/androidx/paging/AsyncPagingDataDifferTest.kt
index 7fd3cb8..85f72e34 100644
--- a/paging/runtime/src/androidTest/java/androidx/paging/AsyncPagingDataDifferTest.kt
+++ b/paging/runtime/src/androidTest/java/androidx/paging/AsyncPagingDataDifferTest.kt
@@ -28,6 +28,7 @@
import androidx.recyclerview.widget.ListUpdateCallback
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
+import androidx.test.filters.SdkSuppress
import androidx.testutils.MainDispatcherRule
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.Dispatchers
@@ -112,6 +113,7 @@
workerDispatcher = Dispatchers.Main
)
+ @SdkSuppress(minSdkVersion = 21) // b/189492631
@Test
fun performDiff_fastPathLoadStates() = testScope.runBlockingTest {
val loadEvents = mutableListOf<CombinedLoadStates>()
@@ -168,6 +170,7 @@
)
}
+ @SdkSuppress(minSdkVersion = 21) // b/189492631
@Test
fun performDiff_fastPathLoadStatesFlow() = testScope.runBlockingTest {
val loadEvents = mutableListOf<CombinedLoadStates>()
@@ -368,6 +371,7 @@
}
}
+ @SdkSuppress(minSdkVersion = 21) // b/189492631
@Test
fun submitData_guaranteesOrder() = testScope.runBlockingTest {
val pager = Pager(config = PagingConfig(2, enablePlaceholders = false), initialKey = 50) {
@@ -447,6 +451,7 @@
}
}
+ @SdkSuppress(minSdkVersion = 21) // b/189492631
@Test
fun submitData_doesNotCancelCollectionsCoroutine() = testScope.runBlockingTest {
lateinit var source1: TestPagingSource
@@ -508,6 +513,7 @@
job2.cancelAndJoin()
}
+ @SdkSuppress(minSdkVersion = 21) // b/189492631
@Test
fun loadStateFlowSynchronouslyUpdates() = testScope.runBlockingTest {
var combinedLoadStates: CombinedLoadStates? = null
diff --git a/paging/runtime/src/androidTest/java/androidx/paging/StateRestorationTest.kt b/paging/runtime/src/androidTest/java/androidx/paging/StateRestorationTest.kt
index 9fe24ea..c4b76df7 100644
--- a/paging/runtime/src/androidTest/java/androidx/paging/StateRestorationTest.kt
+++ b/paging/runtime/src/androidTest/java/androidx/paging/StateRestorationTest.kt
@@ -30,6 +30,7 @@
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
+import androidx.test.filters.SdkSuppress
import com.google.common.truth.Truth.assertThat
import com.google.common.truth.Truth.assertWithMessage
import kotlinx.coroutines.ExperimentalCoroutinesApi
@@ -108,6 +109,7 @@
createRecyclerView()
}
+ @SdkSuppress(minSdkVersion = 21) // b/189492631
@Test
fun restoreState_withPlaceholders() {
runTest {
@@ -152,6 +154,7 @@
}
}
+ @SdkSuppress(minSdkVersion = 21) // b/189492631
@Test
fun restoreState_withoutPlaceholders_cachedIn() {
runTest {
@@ -181,6 +184,7 @@
}
}
+ @SdkSuppress(minSdkVersion = 21) // b/189492631
@Test
fun emptyNewPage_allowRestoration() {
// check that we don't block restoration indefinitely if new pager is empty.
@@ -206,6 +210,7 @@
}
}
+ @SdkSuppress(minSdkVersion = 21) // b/189492631
@Test
fun userOverridesStateRestoration() {
runTest {
diff --git a/transition/transition/build.gradle b/transition/transition/build.gradle
index 1b20ed2..6fd5d13a 100644
--- a/transition/transition/build.gradle
+++ b/transition/transition/build.gradle
@@ -1,6 +1,8 @@
import androidx.build.LibraryGroups
import androidx.build.Publish
+import static androidx.build.dependencies.DependenciesKt.MULTIDEX
+
plugins {
id("AndroidXPlugin")
id("com.android.library")
@@ -28,6 +30,7 @@
androidTestImplementation(project(":internal-testutils-runtime"), {
exclude group: "androidx.fragment", module: "fragment"
})
+ androidTestImplementation(libs.multidex)
}
android {
@@ -37,6 +40,9 @@
aaptOptions {
additionalParameters "--no-version-transitions"
}
+ defaultConfig {
+ multiDexEnabled = true
+ }
}
androidx {