aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Hoisie <hoisie@google.com>2024-04-05 13:54:32 -0700
committerCopybara-Service <copybara-worker@google.com>2024-04-05 13:55:12 -0700
commit1eb2d5cee8de37e78cfd6d7b9a13625f924dd1de (patch)
tree4c6b96aa696a2208c099b25d63d657776a78b2af
parent4fd6139fd57de25bf09e1a8712cddbb1803f0936 (diff)
downloadrobolectric-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.java22
-rw-r--r--shadows/framework/src/main/java/org/robolectric/shadows/ShadowTranslationManager.java6
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();