diff options
author | Michael Hoisie <hoisie@google.com> | 2024-04-05 13:54:32 -0700 |
---|---|---|
committer | Copybara-Service <copybara-worker@google.com> | 2024-04-05 13:55:12 -0700 |
commit | 1eb2d5cee8de37e78cfd6d7b9a13625f924dd1de (patch) | |
tree | 4c6b96aa696a2208c099b25d63d657776a78b2af | |
parent | 4fd6139fd57de25bf09e1a8712cddbb1803f0936 (diff) | |
download | robolectric-1eb2d5cee8de37e78cfd6d7b9a13625f924dd1de.tar.gz |
Turn off shadowOf generation for ShadowTranslationManager
ShadowTranslationManager was introduced in S, and enabling shadowOf will break
test modules where compileSdkVersion < 31.
PiperOrigin-RevId: 622274023
-rw-r--r-- | robolectric/src/test/java/org/robolectric/shadows/ShadowTranslationManagerTest.java | 22 | ||||
-rw-r--r-- | shadows/framework/src/main/java/org/robolectric/shadows/ShadowTranslationManager.java | 6 |
2 files changed, 13 insertions, 15 deletions
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowTranslationManagerTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowTranslationManagerTest.java index 0dfbb5cb4..acbef389b 100644 --- a/robolectric/src/test/java/org/robolectric/shadows/ShadowTranslationManagerTest.java +++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowTranslationManagerTest.java @@ -1,7 +1,6 @@ package org.robolectric.shadows; import static com.google.common.truth.Truth.assertThat; -import static org.robolectric.shadow.api.Shadow.extract; import android.icu.util.ULocale; import android.os.Build.VERSION_CODES; @@ -11,27 +10,21 @@ import android.view.translation.TranslationSpec; import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; import com.google.common.collect.ImmutableSet; -import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.annotation.Config; +import org.robolectric.shadow.api.Shadow; @RunWith(AndroidJUnit4.class) @Config(minSdk = VERSION_CODES.S) public class ShadowTranslationManagerTest { - private ShadowTranslationManager instance; - - @Before - public void setUp() { - instance = - extract( - ApplicationProvider.getApplicationContext().getSystemService(TranslationManager.class)); - } + private final TranslationManager translationManager = + ApplicationProvider.getApplicationContext().getSystemService(TranslationManager.class); @Test public void getOnDeviceTranslationCapabilities_noCapabilitiesSet_returnsEmpty() { assertThat( - instance.getOnDeviceTranslationCapabilities( + translationManager.getOnDeviceTranslationCapabilities( TranslationSpec.DATA_FORMAT_TEXT, TranslationSpec.DATA_FORMAT_TEXT)) .isEmpty(); } @@ -52,11 +45,12 @@ public class ShadowTranslationManagerTest { new TranslationSpec(ULocale.FRENCH, TranslationSpec.DATA_FORMAT_TEXT), /* uiTranslationEnabled= */ true, /* supportedTranslationFlags= */ 0)); - instance.setOnDeviceTranslationCapabilities( - TranslationSpec.DATA_FORMAT_TEXT, TranslationSpec.DATA_FORMAT_TEXT, capabilities); + ((ShadowTranslationManager) Shadow.extract(translationManager)) + .setOnDeviceTranslationCapabilities( + TranslationSpec.DATA_FORMAT_TEXT, TranslationSpec.DATA_FORMAT_TEXT, capabilities); assertThat( - instance.getOnDeviceTranslationCapabilities( + translationManager.getOnDeviceTranslationCapabilities( TranslationSpec.DATA_FORMAT_TEXT, TranslationSpec.DATA_FORMAT_TEXT)) .isEqualTo(capabilities); } diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowTranslationManager.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowTranslationManager.java index ed33b5928..9cd316944 100644 --- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowTranslationManager.java +++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowTranslationManager.java @@ -11,7 +11,11 @@ import org.robolectric.annotation.Implementation; import org.robolectric.annotation.Implements; /** Shadow for {@link TranslationManager}. */ -@Implements(value = TranslationManager.class, minSdk = VERSION_CODES.S) +@Implements( + value = TranslationManager.class, + minSdk = VERSION_CODES.S, + isInAndroidSdk = false // turn off shadowOf generation + ) public class ShadowTranslationManager { private final Table<Integer, Integer, ImmutableSet<TranslationCapability>> onDeviceTranslationCapabilities = HashBasedTable.create(); |