Loading api/current.txt +2 −4 Original line number Diff line number Diff line Loading @@ -14771,8 +14771,7 @@ package android.graphics { ctor public Typeface.CustomFallbackBuilder(android.graphics.fonts.FontFamily); method public android.graphics.Typeface build(); method public android.graphics.Typeface.CustomFallbackBuilder setFallback(java.lang.String); method public android.graphics.Typeface.CustomFallbackBuilder setItalic(boolean); method public android.graphics.Typeface.CustomFallbackBuilder setWeight(int); method public android.graphics.Typeface.CustomFallbackBuilder setStyle(android.graphics.fonts.FontStyle); } public class Xfermode { Loading Loading @@ -15417,9 +15416,8 @@ package android.graphics.fonts { method public java.nio.ByteBuffer getBuffer(); method public java.io.File getFile(); method public android.os.LocaleList getLocaleList(); method public int getSlant(); method public android.graphics.fonts.FontStyle getStyle(); method public int getTtcIndex(); method public int getWeight(); } public static class Font.Builder { core/java/android/content/res/FontResourcesParser.java +5 −1 Original line number Diff line number Diff line Loading @@ -76,6 +76,10 @@ public class FontResourcesParser { // A class represents font element in xml file which points a file in resource. public static final class FontFileResourceEntry { public static final int RESOLVE_BY_FONT_TABLE = Typeface.RESOLVE_BY_FONT_TABLE; public static final int UPRIGHT = 0; public static final int ITALIC = 1; private final @NonNull String mFileName; private int mWeight; private int mItalic; Loading Loading @@ -216,7 +220,7 @@ public class FontResourcesParser { int weight = array.getInt(R.styleable.FontFamilyFont_fontWeight, Typeface.RESOLVE_BY_FONT_TABLE); int italic = array.getInt(R.styleable.FontFamilyFont_fontStyle, Typeface.RESOLVE_BY_FONT_TABLE); FontFileResourceEntry.RESOLVE_BY_FONT_TABLE); String variationSettings = array.getString( R.styleable.FontFamilyFont_fontVariationSettings); int ttcIndex = array.getInt(R.styleable.FontFamilyFont_ttcIndex, 0); Loading core/java/android/content/res/ResourcesImpl.java +2 −1 Original line number Diff line number Diff line Loading @@ -944,7 +944,8 @@ public class ResourcesImpl { } return Typeface.createFromResources(familyEntry, mAssets, file); } return Typeface.createFromResources(mAssets, file, value.assetCookie); return new Typeface.Builder(mAssets, file, false /* isAsset */, value.assetCookie) .build(); } catch (XmlPullParserException e) { Log.e(TAG, "Failed to parse xml resource " + file, e); } catch (IOException e) { Loading core/java/android/provider/FontsContract.java +34 −10 Original line number Diff line number Diff line Loading @@ -15,8 +15,6 @@ */ package android.provider; import static java.lang.annotation.RetentionPolicy.SOURCE; import android.annotation.IntDef; import android.annotation.IntRange; import android.annotation.NonNull; Loading @@ -25,22 +23,22 @@ import android.content.ContentResolver; import android.content.ContentUris; import android.content.Context; import android.content.pm.PackageInfo; import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.ProviderInfo; import android.content.pm.Signature; import android.database.Cursor; import android.graphics.Typeface; import android.graphics.fonts.Font; import android.graphics.fonts.FontFamily; import android.graphics.fonts.FontStyle; import android.graphics.fonts.FontVariationAxis; import android.net.Uri; import android.os.Bundle; import android.os.CancellationSignal; import android.os.Handler; import android.os.HandlerThread; import android.os.ParcelFileDescriptor; import android.os.Process; import android.os.ResultReceiver; import android.util.ArraySet; import android.util.Log; import android.util.LruCache; Loading @@ -49,7 +47,6 @@ import com.android.internal.annotations.VisibleForTesting; import com.android.internal.util.Preconditions; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; Loading @@ -64,11 +61,11 @@ import java.util.List; import java.util.Map; import java.util.Set; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicReference; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicReference; /** * Utility class to deal with Font ContentProviders. Loading Loading @@ -636,7 +633,34 @@ public class FontsContract { if (uriBuffer.isEmpty()) { return null; } return new Typeface.Builder(fonts, uriBuffer).build(); FontFamily.Builder familyBuilder = null; for (FontInfo fontInfo : fonts) { final ByteBuffer buffer = uriBuffer.get(fontInfo.getUri()); if (buffer == null) { continue; } try { final Font font = new Font.Builder(buffer) .setWeight(fontInfo.getWeight()) .setSlant(fontInfo.isItalic() ? FontStyle.FONT_SLANT_ITALIC : FontStyle.FONT_SLANT_UPRIGHT) .setTtcIndex(fontInfo.getTtcIndex()) .setFontVariationSettings(fontInfo.getAxes()) .build(); if (familyBuilder == null) { familyBuilder = new FontFamily.Builder(font); } else { familyBuilder.addFont(font); } } catch (IOException e) { continue; } } if (familyBuilder == null) { return null; } return new Typeface.CustomFallbackBuilder(familyBuilder.build()).build(); } /** Loading graphics/java/android/graphics/Typeface.java +133 −219 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
api/current.txt +2 −4 Original line number Diff line number Diff line Loading @@ -14771,8 +14771,7 @@ package android.graphics { ctor public Typeface.CustomFallbackBuilder(android.graphics.fonts.FontFamily); method public android.graphics.Typeface build(); method public android.graphics.Typeface.CustomFallbackBuilder setFallback(java.lang.String); method public android.graphics.Typeface.CustomFallbackBuilder setItalic(boolean); method public android.graphics.Typeface.CustomFallbackBuilder setWeight(int); method public android.graphics.Typeface.CustomFallbackBuilder setStyle(android.graphics.fonts.FontStyle); } public class Xfermode { Loading Loading @@ -15417,9 +15416,8 @@ package android.graphics.fonts { method public java.nio.ByteBuffer getBuffer(); method public java.io.File getFile(); method public android.os.LocaleList getLocaleList(); method public int getSlant(); method public android.graphics.fonts.FontStyle getStyle(); method public int getTtcIndex(); method public int getWeight(); } public static class Font.Builder {
core/java/android/content/res/FontResourcesParser.java +5 −1 Original line number Diff line number Diff line Loading @@ -76,6 +76,10 @@ public class FontResourcesParser { // A class represents font element in xml file which points a file in resource. public static final class FontFileResourceEntry { public static final int RESOLVE_BY_FONT_TABLE = Typeface.RESOLVE_BY_FONT_TABLE; public static final int UPRIGHT = 0; public static final int ITALIC = 1; private final @NonNull String mFileName; private int mWeight; private int mItalic; Loading Loading @@ -216,7 +220,7 @@ public class FontResourcesParser { int weight = array.getInt(R.styleable.FontFamilyFont_fontWeight, Typeface.RESOLVE_BY_FONT_TABLE); int italic = array.getInt(R.styleable.FontFamilyFont_fontStyle, Typeface.RESOLVE_BY_FONT_TABLE); FontFileResourceEntry.RESOLVE_BY_FONT_TABLE); String variationSettings = array.getString( R.styleable.FontFamilyFont_fontVariationSettings); int ttcIndex = array.getInt(R.styleable.FontFamilyFont_ttcIndex, 0); Loading
core/java/android/content/res/ResourcesImpl.java +2 −1 Original line number Diff line number Diff line Loading @@ -944,7 +944,8 @@ public class ResourcesImpl { } return Typeface.createFromResources(familyEntry, mAssets, file); } return Typeface.createFromResources(mAssets, file, value.assetCookie); return new Typeface.Builder(mAssets, file, false /* isAsset */, value.assetCookie) .build(); } catch (XmlPullParserException e) { Log.e(TAG, "Failed to parse xml resource " + file, e); } catch (IOException e) { Loading
core/java/android/provider/FontsContract.java +34 −10 Original line number Diff line number Diff line Loading @@ -15,8 +15,6 @@ */ package android.provider; import static java.lang.annotation.RetentionPolicy.SOURCE; import android.annotation.IntDef; import android.annotation.IntRange; import android.annotation.NonNull; Loading @@ -25,22 +23,22 @@ import android.content.ContentResolver; import android.content.ContentUris; import android.content.Context; import android.content.pm.PackageInfo; import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.ProviderInfo; import android.content.pm.Signature; import android.database.Cursor; import android.graphics.Typeface; import android.graphics.fonts.Font; import android.graphics.fonts.FontFamily; import android.graphics.fonts.FontStyle; import android.graphics.fonts.FontVariationAxis; import android.net.Uri; import android.os.Bundle; import android.os.CancellationSignal; import android.os.Handler; import android.os.HandlerThread; import android.os.ParcelFileDescriptor; import android.os.Process; import android.os.ResultReceiver; import android.util.ArraySet; import android.util.Log; import android.util.LruCache; Loading @@ -49,7 +47,6 @@ import com.android.internal.annotations.VisibleForTesting; import com.android.internal.util.Preconditions; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; Loading @@ -64,11 +61,11 @@ import java.util.List; import java.util.Map; import java.util.Set; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicReference; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicReference; /** * Utility class to deal with Font ContentProviders. Loading Loading @@ -636,7 +633,34 @@ public class FontsContract { if (uriBuffer.isEmpty()) { return null; } return new Typeface.Builder(fonts, uriBuffer).build(); FontFamily.Builder familyBuilder = null; for (FontInfo fontInfo : fonts) { final ByteBuffer buffer = uriBuffer.get(fontInfo.getUri()); if (buffer == null) { continue; } try { final Font font = new Font.Builder(buffer) .setWeight(fontInfo.getWeight()) .setSlant(fontInfo.isItalic() ? FontStyle.FONT_SLANT_ITALIC : FontStyle.FONT_SLANT_UPRIGHT) .setTtcIndex(fontInfo.getTtcIndex()) .setFontVariationSettings(fontInfo.getAxes()) .build(); if (familyBuilder == null) { familyBuilder = new FontFamily.Builder(font); } else { familyBuilder.addFont(font); } } catch (IOException e) { continue; } } if (familyBuilder == null) { return null; } return new Typeface.CustomFallbackBuilder(familyBuilder.build()).build(); } /** Loading
graphics/java/android/graphics/Typeface.java +133 −219 File changed.Preview size limit exceeded, changes collapsed. Show changes