summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/content/Context.java24
-rw-r--r--core/java/android/content/ContextWrapper.java3
-rw-r--r--core/java/android/view/ContextThemeWrapper.java7
3 files changed, 28 insertions, 6 deletions
diff --git a/core/java/android/content/Context.java b/core/java/android/content/Context.java
index 38a4475064af..67bdad576af3 100644
--- a/core/java/android/content/Context.java
+++ b/core/java/android/content/Context.java
@@ -326,10 +326,30 @@ public abstract class Context {
*/
public static final int BIND_NOT_VISIBLE = 0x40000000;
- /** Return an AssetManager instance for your application's package. */
+ /**
+ * Returns an AssetManager instance for the application's package.
+ * <p>
+ * <strong>Note:</strong> Implementations of this method should return
+ * an AssetManager instance that is consistent with the Resources instance
+ * returned by {@link #getResources()}. For example, they should share the
+ * same {@link Configuration} object.
+ *
+ * @return an AssetManager instance for the application's package
+ * @see #getResources()
+ */
public abstract AssetManager getAssets();
- /** Return a Resources instance for your application's package. */
+ /**
+ * Returns a Resources instance for the application's package.
+ * <p>
+ * <strong>Note:</strong> Implementations of this method should return
+ * a Resources instance that is consistent with the AssetManager instance
+ * returned by {@link #getAssets()}. For example, they should share the
+ * same {@link Configuration} object.
+ *
+ * @return a Resources instance for the application's package
+ * @see #getAssets()
+ */
public abstract Resources getResources();
/** Return PackageManager instance to find global package information. */
diff --git a/core/java/android/content/ContextWrapper.java b/core/java/android/content/ContextWrapper.java
index 1a3d262f6b56..c99ddc8fbe11 100644
--- a/core/java/android/content/ContextWrapper.java
+++ b/core/java/android/content/ContextWrapper.java
@@ -82,8 +82,7 @@ public class ContextWrapper extends Context {
}
@Override
- public Resources getResources()
- {
+ public Resources getResources() {
return mBase.getResources();
}
diff --git a/core/java/android/view/ContextThemeWrapper.java b/core/java/android/view/ContextThemeWrapper.java
index ea0873d6fb1b..4888877cb28b 100644
--- a/core/java/android/view/ContextThemeWrapper.java
+++ b/core/java/android/view/ContextThemeWrapper.java
@@ -104,11 +104,15 @@ public class ContextThemeWrapper extends ContextWrapper {
@Override
public AssetManager getAssets() {
// Ensure we're returning assets with the correct configuration.
- return getResources().getAssets();
+ return getResourcesInternal().getAssets();
}
@Override
public Resources getResources() {
+ return getResourcesInternal();
+ }
+
+ private Resources getResourcesInternal() {
if (mResources == null) {
if (mOverrideConfiguration == null) {
mResources = super.getResources();
@@ -117,7 +121,6 @@ public class ContextThemeWrapper extends ContextWrapper {
mResources = resContext.getResources();
}
}
-
return mResources;
}