Allow setting a configuration to TestableResources
This allows me to specify different configurations so that I
can write a test for validating behavior with different configs.
Test: atest this with my other CLs
Bug: 283910436
Change-Id: I2f21b03b57a7b292384380aedab27769f09f22aa
diff --git a/tests/testables/src/android/testing/TestableResources.java b/tests/testables/src/android/testing/TestableResources.java
index 27d5b66..0ec106e 100644
--- a/tests/testables/src/android/testing/TestableResources.java
+++ b/tests/testables/src/android/testing/TestableResources.java
@@ -15,9 +15,11 @@
package android.testing;
import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
import static org.mockito.Mockito.withSettings;
import android.content.Context;
+import android.content.res.Configuration;
import android.content.res.Resources;
import android.util.Log;
import android.util.SparseArray;
@@ -54,6 +56,16 @@
}
/**
+ * Sets a configuration for {@link #getResources()} to return to allow custom configs to
+ * be set and tested.
+ *
+ * @param configuration the configuration to return from resources.
+ */
+ public void overrideConfiguration(Configuration configuration) {
+ when(mResources.getConfiguration()).thenReturn(configuration);
+ }
+
+ /**
* Sets the return value for the specified resource id.
* <p>
* Since resource ids are unique there is a single addOverride that will override the value