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

Commit 633b32be authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix NPE and wrong behavior of Typeface.isSupportedAxes" into oc-dev

parents 17e51252 ffae6c7f
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -1596,10 +1596,13 @@ public class Paint {
            return true;
        }

        // The null typeface is valid and it is equivalent to Typeface.DEFAULT.
        // To call isSupportedAxes method, use Typeface.DEFAULT instance.
        Typeface targetTypeface = mTypeface == null ? Typeface.DEFAULT : mTypeface;
        FontVariationAxis[] axes = FontVariationAxis.fromFontVariationSettings(settings);
        final ArrayList<FontVariationAxis> filteredAxes = new ArrayList<FontVariationAxis>();
        for (final FontVariationAxis axis : axes) {
            if (mTypeface.isSupportedAxes(axis.getOpenTypeTagValue())) {
            if (targetTypeface.isSupportedAxes(axis.getOpenTypeTagValue())) {
                filteredAxes.add(axis);
            }
        }
@@ -1607,7 +1610,7 @@ public class Paint {
            return false;
        }
        mFontVariationSettings = settings;
        setTypeface(Typeface.createFromTypefaceWithVariation(mTypeface, filteredAxes));
        setTypeface(Typeface.createFromTypefaceWithVariation(targetTypeface, filteredAxes));
        return true;
    }

+3 −3
Original line number Diff line number Diff line
@@ -725,8 +725,8 @@ public class Typeface {
    }

    /** @hide */
    public static Typeface createFromTypefaceWithVariation(Typeface family,
            List<FontVariationAxis> axes) {
    public static Typeface createFromTypefaceWithVariation(@Nullable Typeface family,
            @NonNull List<FontVariationAxis> axes) {
        final long ni = family == null ? 0 : family.native_instance;
        return new Typeface(nativeCreateFromTypefaceWithVariation(ni, axes));
    }
@@ -1056,7 +1056,7 @@ public class Typeface {
                }
            }
        }
        return Arrays.binarySearch(mSupportedAxes, axis) > 0;
        return Arrays.binarySearch(mSupportedAxes, axis) >= 0;
    }

    private static native long nativeCreateFromTypeface(long native_instance, int style);