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

Commit fcc20be8 authored by Seigo Nonaka's avatar Seigo Nonaka Committed by android-build-merger
Browse files

Merge "Stop loading other package's font by default." into oc-dev

am: 824d75e0

Change-Id: Iec86839e2646bc6bf8ff45d0267d8aff82ae3452
parents 561e1eb9 824d75e0
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -2137,6 +2137,14 @@ class ContextImpl extends Context {
        return (mFlags & Context.CONTEXT_CREDENTIAL_PROTECTED_STORAGE) != 0;
    }

    @Override
    public boolean canLoadUnsafeResources() {
        if (getPackageName().equals(getOpPackageName())) {
            return true;
        }
        return (mFlags & Context.CONTEXT_IGNORE_SECURITY) != 0;
    }

    @Override
    public Display getDisplay() {
        if (mDisplay == null) {
+6 −0
Original line number Diff line number Diff line
@@ -4657,6 +4657,12 @@ public abstract class Context {
    @SystemApi
    public abstract boolean isCredentialProtectedStorage();

    /**
     * Returns true if the context can load unsafe resources, e.g. fonts.
     * @hide
     */
    public abstract boolean canLoadUnsafeResources();

    /**
     * @hide
     */
+6 −0
Original line number Diff line number Diff line
@@ -920,6 +920,12 @@ public class ContextWrapper extends Context {
        return mBase.isCredentialProtectedStorage();
    }

    /** {@hide} */
    @Override
    public boolean canLoadUnsafeResources() {
        return mBase.canLoadUnsafeResources();
    }

    /**
     * @hide
     */
+3 −3
Original line number Diff line number Diff line
@@ -913,7 +913,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
                        break;

                    case com.android.internal.R.styleable.TextAppearance_fontFamily:
                        if (!context.isRestricted()) {
                        if (!context.isRestricted() && context.canLoadUnsafeResources()) {
                            try {
                                fontTypeface = appearance.getFont(attr);
                            } catch (UnsupportedOperationException
@@ -1233,7 +1233,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
                    break;

                case com.android.internal.R.styleable.TextView_fontFamily:
                    if (!context.isRestricted()) {
                    if (!context.isRestricted() && context.canLoadUnsafeResources()) {
                        try {
                            fontTypeface = a.getFont(attr);
                        } catch (UnsupportedOperationException | Resources.NotFoundException e) {
@@ -3417,7 +3417,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener

        Typeface fontTypeface = null;
        String fontFamily = null;
        if (!context.isRestricted()) {
        if (!context.isRestricted() && context.canLoadUnsafeResources()) {
            try {
                fontTypeface = ta.getFont(R.styleable.TextAppearance_fontFamily);
            } catch (UnsupportedOperationException | Resources.NotFoundException e) {
+6 −0
Original line number Diff line number Diff line
@@ -808,6 +808,12 @@ public class MockContext extends Context {
        throw new UnsupportedOperationException();
    }

    /** {@hide} */
    @Override
    public boolean canLoadUnsafeResources() {
        throw new UnsupportedOperationException();
    }

    /** {@hide} */
    @Override
    public IBinder getActivityToken() {
Loading