Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ad217b68 authored by Alan Viverette's avatar Alan Viverette Committed by Android (Google) Code Review
Browse files

Merge "Don't call public non-final getResources() from getAssets()"

parents aa4f8008 713a5cdb
Loading
Loading
Loading
Loading
+22 −2
Original line number Diff line number Diff line
@@ -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. */
+1 −2
Original line number Diff line number Diff line
@@ -82,8 +82,7 @@ public class ContextWrapper extends Context {
    }

    @Override
    public Resources getResources()
    {
    public Resources getResources() {
        return mBase.getResources();
    }

+5 −2
Original line number Diff line number Diff line
@@ -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;
    }