diff options
| author | 2019-12-06 15:38:27 +0000 | |
|---|---|---|
| committer | 2019-12-06 15:38:27 +0000 | |
| commit | 4f1d1ca7729e05fb486773db3d1914f29d17d89c (patch) | |
| tree | 2c5cd4f91b291779f58a34630b496b79ff33bec7 | |
| parent | b49e6f44c868f62203c8f3f1bffcbe2173061909 (diff) | |
| parent | c932ff21008e07c97541ae98ea6d1cc5c193a2ab (diff) | |
Merge "Fix asset loading on ResourcesImpl swap"
| -rw-r--r-- | core/java/android/content/res/loader/ResourceLoaderManager.java | 1 | ||||
| -rw-r--r-- | core/tests/ResourceLoaderTests/src/android/content/res/loader/test/ResourceLoaderChangesTest.kt | 29 |
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) } |