Merge "Don't call public non-final getResources() from getAssets()"
This commit is contained in:
committed by
Android (Google) Code Review
commit
ad217b68f8
@@ -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. */
|
||||
|
||||
@@ -82,8 +82,7 @@ public class ContextWrapper extends Context {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Resources getResources()
|
||||
{
|
||||
public Resources getResources() {
|
||||
return mBase.getResources();
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user