summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2019-12-06 15:38:27 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2019-12-06 15:38:27 +0000
commit4f1d1ca7729e05fb486773db3d1914f29d17d89c (patch)
tree2c5cd4f91b291779f58a34630b496b79ff33bec7
parentb49e6f44c868f62203c8f3f1bffcbe2173061909 (diff)
parentc932ff21008e07c97541ae98ea6d1cc5c193a2ab (diff)
Merge "Fix asset loading on ResourcesImpl swap"
-rw-r--r--core/java/android/content/res/loader/ResourceLoaderManager.java1
-rw-r--r--core/tests/ResourceLoaderTests/src/android/content/res/loader/test/ResourceLoaderChangesTest.kt29
2 files changed, 18 insertions, 12 deletions
diff --git a/core/java/android/content/res/loader/ResourceLoaderManager.java b/core/java/android/content/res/loader/ResourceLoaderManager.java
index ddbfa81390e4..592ec09aa730 100644
--- a/core/java/android/content/res/loader/ResourceLoaderManager.java
+++ b/core/java/android/content/res/loader/ResourceLoaderManager.java
@@ -151,6 +151,7 @@ public class ResourceLoaderManager {
public void onImplUpdate(ResourcesImpl resourcesImpl) {
synchronized (mLock) {
this.mResourcesImpl = resourcesImpl;
+ this.mResourcesImpl.getAssets().setResourceLoaderManager(this);
updateLoaders();
}
}
diff --git a/core/tests/ResourceLoaderTests/src/android/content/res/loader/test/ResourceLoaderChangesTest.kt b/core/tests/ResourceLoaderTests/src/android/content/res/loader/test/ResourceLoaderChangesTest.kt
index e01e254b1f16..0c3d34e686dd 100644
--- a/core/tests/ResourceLoaderTests/src/android/content/res/loader/test/ResourceLoaderChangesTest.kt
+++ b/core/tests/ResourceLoaderTests/src/android/content/res/loader/test/ResourceLoaderChangesTest.kt
@@ -31,7 +31,6 @@ import androidx.test.runner.lifecycle.ActivityLifecycleMonitorRegistry
import androidx.test.runner.lifecycle.Stage
import com.google.common.truth.Truth.assertThat
import org.junit.After
-import org.junit.Assume
import org.junit.Before
import org.junit.Rule
import org.junit.Test
@@ -43,7 +42,6 @@ import java.util.concurrent.Executor
import java.util.concurrent.FutureTask
import java.util.concurrent.TimeUnit
-// @Ignore("UiAutomation is crashing with not connected, not sure why")
@RunWith(Parameterized::class)
class ResourceLoaderChangesTest : ResourceLoaderTestBase() {
@@ -75,7 +73,7 @@ class ResourceLoaderChangesTest : ResourceLoaderTestBase() {
@Before
@After
fun disableOverlay() {
-// enableOverlay(OVERLAY_PACKAGE, false)
+ enableOverlay(OVERLAY_PACKAGE, false)
}
@Test
@@ -156,25 +154,32 @@ class ResourceLoaderChangesTest : ResourceLoaderTestBase() {
// All these tests assert for the exact same loaders/values, so extract that logic out
private fun verifySameBeforeAndAfter(block: () -> Resources) {
- // TODO(chiuwinson): atest doesn't work with @Ignore, UiAutomation not connected error
- Assume.assumeFalse(true)
+ fun Resources.resource() = this.getString(android.R.string.cancel)
+ fun Resources.asset() = this.assets.open("Asset.txt").reader().readText()
- val originalValue = resources.getString(android.R.string.cancel)
+ val originalResource = resources.resource()
+ val originalAsset = resources.asset()
- val loader = "stringOne".openLoader()
- addLoader(loader)
+ val loaderResource = "stringOne".openLoader()
+ val loaderAsset = "assetOne".openLoader(dataType = DataType.ASSET)
+ addLoader(loaderResource)
+ addLoader(loaderAsset)
val oldLoaders = resources.loaders
- val oldValue = resources.getString(android.R.string.cancel)
+ val oldResource = resources.resource()
+ val oldAsset = resources.asset()
- assertThat(oldValue).isNotEqualTo(originalValue)
+ assertThat(oldResource).isNotEqualTo(originalResource)
+ assertThat(oldAsset).isNotEqualTo(originalAsset)
val newResources = block()
val newLoaders = newResources.loaders
- val newValue = newResources.getString(android.R.string.cancel)
+ val newResource = newResources.resource()
+ val newAsset = newResources.asset()
- assertThat(newValue).isEqualTo(oldValue)
+ assertThat(newResource).isEqualTo(oldResource)
+ assertThat(newAsset).isEqualTo(oldAsset)
assertThat(newLoaders).isEqualTo(oldLoaders)
}