Loading core/api/test-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -1026,6 +1026,7 @@ package android.graphics { } public class Typeface { method @NonNull public static android.util.Pair<java.util.List<android.graphics.Typeface>,java.util.List<android.graphics.Typeface>> changeDefaultFontForTest(@NonNull java.util.List<android.graphics.Typeface>, @NonNull java.util.List<android.graphics.Typeface>); method @NonNull public static long[] deserializeFontMap(@NonNull java.nio.ByteBuffer, @NonNull java.util.Map<java.lang.String,android.graphics.Typeface>) throws java.io.IOException; method @Nullable public static android.os.SharedMemory getSystemFontMapSharedMemory(); method @NonNull public static android.os.SharedMemory serializeFontMap(@NonNull java.util.Map<java.lang.String,android.graphics.Typeface>) throws android.system.ErrnoException, java.io.IOException; Loading graphics/java/android/graphics/Typeface.java +36 −0 Original line number Diff line number Diff line Loading @@ -50,6 +50,7 @@ import android.util.Base64; import android.util.Log; import android.util.LongSparseArray; import android.util.LruCache; import android.util.Pair; import android.util.SparseArray; import com.android.internal.annotations.GuardedBy; Loading Loading @@ -1396,6 +1397,41 @@ public class Typeface { } } /** * Change default typefaces for testing purpose. * * Note: The existing TextView or Paint instance still holds the old Typeface. * * @param defaults array of [default, default_bold, default_italic, default_bolditalic]. * @param genericFamilies array of [sans-serif, serif, monospace] * @return return the old defaults and genericFamilies * @hide */ @TestApi @NonNull public static Pair<List<Typeface>, List<Typeface>> changeDefaultFontForTest( @NonNull List<Typeface> defaults, @NonNull List<Typeface> genericFamilies ) { synchronized (SYSTEM_FONT_MAP_LOCK) { List<Typeface> oldDefaults = Arrays.asList(sDefaults); sDefaults = defaults.toArray(new Typeface[4]); setDefault(defaults.get(0)); ArrayList<Typeface> oldGenerics = new ArrayList<>(); oldGenerics.add(sSystemFontMap.get("sans-serif")); sSystemFontMap.put("sans-serif", genericFamilies.get(0)); oldGenerics.add(sSystemFontMap.get("serif")); sSystemFontMap.put("serif", genericFamilies.get(1)); oldGenerics.add(sSystemFontMap.get("monospace")); sSystemFontMap.put("monospace", genericFamilies.get(2)); return new Pair<>(oldDefaults, oldGenerics); } } static { // Preload Roboto-Regular.ttf in Zygote for improving app launch performance. preloadFontFile("/system/fonts/Roboto-Regular.ttf"); Loading Loading
core/api/test-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -1026,6 +1026,7 @@ package android.graphics { } public class Typeface { method @NonNull public static android.util.Pair<java.util.List<android.graphics.Typeface>,java.util.List<android.graphics.Typeface>> changeDefaultFontForTest(@NonNull java.util.List<android.graphics.Typeface>, @NonNull java.util.List<android.graphics.Typeface>); method @NonNull public static long[] deserializeFontMap(@NonNull java.nio.ByteBuffer, @NonNull java.util.Map<java.lang.String,android.graphics.Typeface>) throws java.io.IOException; method @Nullable public static android.os.SharedMemory getSystemFontMapSharedMemory(); method @NonNull public static android.os.SharedMemory serializeFontMap(@NonNull java.util.Map<java.lang.String,android.graphics.Typeface>) throws android.system.ErrnoException, java.io.IOException; Loading
graphics/java/android/graphics/Typeface.java +36 −0 Original line number Diff line number Diff line Loading @@ -50,6 +50,7 @@ import android.util.Base64; import android.util.Log; import android.util.LongSparseArray; import android.util.LruCache; import android.util.Pair; import android.util.SparseArray; import com.android.internal.annotations.GuardedBy; Loading Loading @@ -1396,6 +1397,41 @@ public class Typeface { } } /** * Change default typefaces for testing purpose. * * Note: The existing TextView or Paint instance still holds the old Typeface. * * @param defaults array of [default, default_bold, default_italic, default_bolditalic]. * @param genericFamilies array of [sans-serif, serif, monospace] * @return return the old defaults and genericFamilies * @hide */ @TestApi @NonNull public static Pair<List<Typeface>, List<Typeface>> changeDefaultFontForTest( @NonNull List<Typeface> defaults, @NonNull List<Typeface> genericFamilies ) { synchronized (SYSTEM_FONT_MAP_LOCK) { List<Typeface> oldDefaults = Arrays.asList(sDefaults); sDefaults = defaults.toArray(new Typeface[4]); setDefault(defaults.get(0)); ArrayList<Typeface> oldGenerics = new ArrayList<>(); oldGenerics.add(sSystemFontMap.get("sans-serif")); sSystemFontMap.put("sans-serif", genericFamilies.get(0)); oldGenerics.add(sSystemFontMap.get("serif")); sSystemFontMap.put("serif", genericFamilies.get(1)); oldGenerics.add(sSystemFontMap.get("monospace")); sSystemFontMap.put("monospace", genericFamilies.get(2)); return new Pair<>(oldDefaults, oldGenerics); } } static { // Preload Roboto-Regular.ttf in Zygote for improving app launch performance. preloadFontFile("/system/fonts/Roboto-Regular.ttf"); Loading