Loading api/current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -485,6 +485,7 @@ package android { field public static final int focusable = 16842970; // 0x10100da field public static final int focusableInTouchMode = 16842971; // 0x10100db field public static final int focusedMonthDateColor = 16843587; // 0x1010343 field public static final int fontFamily = 16843692; // 0x10103ac field public static final int footerDividersEnabled = 16843311; // 0x101022f field public static final int foreground = 16843017; // 0x1010109 field public static final int foregroundGravity = 16843264; // 0x1010200 core/java/android/text/style/TextAppearanceSpan.java +23 −18 Original line number Diff line number Diff line Loading @@ -68,6 +68,10 @@ public class TextAppearanceSpan extends MetricAffectingSpan implements Parcelabl TextAppearance_textSize, -1); mStyle = a.getInt(com.android.internal.R.styleable.TextAppearance_textStyle, 0); String family = a.getString(com.android.internal.R.styleable.TextAppearance_fontFamily); if (family != null) { mTypeface = family; } else { int tf = a.getInt(com.android.internal.R.styleable.TextAppearance_typeface, 0); switch (tf) { Loading @@ -87,6 +91,7 @@ public class TextAppearanceSpan extends MetricAffectingSpan implements Parcelabl mTypeface = null; break; } } a.recycle(); Loading core/java/android/widget/TextView.java +28 −6 Original line number Diff line number Diff line Loading @@ -154,6 +154,7 @@ import java.util.Locale; * @attr ref android.R.styleable#TextView_textColorLink * @attr ref android.R.styleable#TextView_textSize * @attr ref android.R.styleable#TextView_textScaleX * @attr ref android.R.styleable#TextView_fontFamily * @attr ref android.R.styleable#TextView_typeface * @attr ref android.R.styleable#TextView_textStyle * @attr ref android.R.styleable#TextView_cursorVisible Loading Loading @@ -464,6 +465,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener ColorStateList textColorHint = null; ColorStateList textColorLink = null; int textSize = 15; String fontFamily = null; int typefaceIndex = -1; int styleIndex = -1; boolean allCaps = false; Loading Loading @@ -516,6 +518,10 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener typefaceIndex = appearance.getInt(attr, -1); break; case com.android.internal.R.styleable.TextAppearance_fontFamily: fontFamily = appearance.getString(attr); break; case com.android.internal.R.styleable.TextAppearance_textStyle: styleIndex = appearance.getInt(attr, -1); break; Loading Loading @@ -781,6 +787,10 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener styleIndex = a.getInt(attr, styleIndex); break; case com.android.internal.R.styleable.TextView_fontFamily: fontFamily = a.getString(attr); break; case com.android.internal.R.styleable.TextView_password: password = a.getBoolean(attr, password); break; Loading Loading @@ -1051,7 +1061,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener typefaceIndex = MONOSPACE; } setTypefaceByIndex(typefaceIndex, styleIndex); setTypefaceFromAttrs(fontFamily, typefaceIndex, styleIndex); if (shadowcolor != 0) { setShadowLayer(r, dx, dy, shadowcolor); Loading Loading @@ -1111,8 +1121,15 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener } } private void setTypefaceByIndex(int typefaceIndex, int styleIndex) { private void setTypefaceFromAttrs(String familyName, int typefaceIndex, int styleIndex) { Typeface tf = null; if (familyName != null) { tf = Typeface.create(familyName, styleIndex); if (tf != null) { setTypeface(tf); return; } } switch (typefaceIndex) { case SANS: tf = Typeface.SANS_SERIF; Loading Loading @@ -2160,14 +2177,17 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener setLinkTextColor(colors); } String familyName; int typefaceIndex, styleIndex; familyName = appearance.getString(com.android.internal.R.styleable. TextAppearance_fontFamily); typefaceIndex = appearance.getInt(com.android.internal.R.styleable. TextAppearance_typeface, -1); styleIndex = appearance.getInt(com.android.internal.R.styleable. TextAppearance_textStyle, -1); setTypefaceByIndex(typefaceIndex, styleIndex); setTypefaceFromAttrs(familyName, typefaceIndex, styleIndex); if (appearance.getBoolean(com.android.internal.R.styleable.TextAppearance_textAllCaps, false)) { Loading Loading @@ -2269,6 +2289,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener * * @see #getTypeface() * * @attr ref android.R.styleable#TextView_fontFamily * @attr ref android.R.styleable#TextView_typeface * @attr ref android.R.styleable#TextView_textStyle */ Loading @@ -2290,6 +2311,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener * * @see #setTypeface(Typeface) * * @attr ref android.R.styleable#TextView_fontFamily * @attr ref android.R.styleable#TextView_typeface * @attr ref android.R.styleable#TextView_textStyle */ Loading Loading @@ -3690,15 +3712,15 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener boolean forceUpdate = false; if (isPassword) { setTransformationMethod(PasswordTransformationMethod.getInstance()); setTypefaceByIndex(MONOSPACE, 0); setTypefaceFromAttrs(null /* fontFamily */, MONOSPACE, 0); } else if (isVisiblePassword) { if (mTransformation == PasswordTransformationMethod.getInstance()) { forceUpdate = true; } setTypefaceByIndex(MONOSPACE, 0); setTypefaceFromAttrs(null /* fontFamily */, MONOSPACE, 0); } else if (wasPassword || wasVisiblePassword) { // not in password mode, clean up typeface and transformation setTypefaceByIndex(-1, -1); setTypefaceFromAttrs(null /* fontFamily */, -1, -1); if (mTransformation == PasswordTransformationMethod.getInstance()) { forceUpdate = true; } Loading core/res/res/values/attrs.xml +7 −0 Original line number Diff line number Diff line Loading @@ -857,6 +857,9 @@ --> <attr name="textSize" format="dimension" /> <!-- Default font family. --> <attr name="fontFamily" format="string" /> <!-- Default text typeface. --> <attr name="typeface"> <enum name="normal" value="0" /> Loading Loading @@ -2999,6 +3002,8 @@ <attr name="textStyle" /> <!-- Typeface (normal, sans, serif, monospace) for the text. --> <attr name="typeface" /> <!-- Font family (named by string) for the text. --> <attr name="fontFamily" /> <!-- Color of the text selection highlight. --> <attr name="textColorHighlight" /> <!-- Color of the hint text. --> Loading Loading @@ -3044,6 +3049,8 @@ <attr name="typeface" /> <!-- Style (bold, italic, bolditalic) for the text. --> <attr name="textStyle" /> <!-- Font family (named by string) for the text. --> <attr name="fontFamily" /> <!-- Text color for links. --> <attr name="textColorLink" /> <!-- Makes the cursor visible (the default) or invisible. --> Loading core/res/res/values/public.xml +2 −0 Original line number Diff line number Diff line Loading @@ -3605,4 +3605,6 @@ <public type="attr" name="importantForAccessibility" id="0x010103aa" /> <public type="attr" name="kcm" id="0x010103ab" /> <public type="attr" name="fontFamily" /> </resources> Loading
api/current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -485,6 +485,7 @@ package android { field public static final int focusable = 16842970; // 0x10100da field public static final int focusableInTouchMode = 16842971; // 0x10100db field public static final int focusedMonthDateColor = 16843587; // 0x1010343 field public static final int fontFamily = 16843692; // 0x10103ac field public static final int footerDividersEnabled = 16843311; // 0x101022f field public static final int foreground = 16843017; // 0x1010109 field public static final int foregroundGravity = 16843264; // 0x1010200
core/java/android/text/style/TextAppearanceSpan.java +23 −18 Original line number Diff line number Diff line Loading @@ -68,6 +68,10 @@ public class TextAppearanceSpan extends MetricAffectingSpan implements Parcelabl TextAppearance_textSize, -1); mStyle = a.getInt(com.android.internal.R.styleable.TextAppearance_textStyle, 0); String family = a.getString(com.android.internal.R.styleable.TextAppearance_fontFamily); if (family != null) { mTypeface = family; } else { int tf = a.getInt(com.android.internal.R.styleable.TextAppearance_typeface, 0); switch (tf) { Loading @@ -87,6 +91,7 @@ public class TextAppearanceSpan extends MetricAffectingSpan implements Parcelabl mTypeface = null; break; } } a.recycle(); Loading
core/java/android/widget/TextView.java +28 −6 Original line number Diff line number Diff line Loading @@ -154,6 +154,7 @@ import java.util.Locale; * @attr ref android.R.styleable#TextView_textColorLink * @attr ref android.R.styleable#TextView_textSize * @attr ref android.R.styleable#TextView_textScaleX * @attr ref android.R.styleable#TextView_fontFamily * @attr ref android.R.styleable#TextView_typeface * @attr ref android.R.styleable#TextView_textStyle * @attr ref android.R.styleable#TextView_cursorVisible Loading Loading @@ -464,6 +465,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener ColorStateList textColorHint = null; ColorStateList textColorLink = null; int textSize = 15; String fontFamily = null; int typefaceIndex = -1; int styleIndex = -1; boolean allCaps = false; Loading Loading @@ -516,6 +518,10 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener typefaceIndex = appearance.getInt(attr, -1); break; case com.android.internal.R.styleable.TextAppearance_fontFamily: fontFamily = appearance.getString(attr); break; case com.android.internal.R.styleable.TextAppearance_textStyle: styleIndex = appearance.getInt(attr, -1); break; Loading Loading @@ -781,6 +787,10 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener styleIndex = a.getInt(attr, styleIndex); break; case com.android.internal.R.styleable.TextView_fontFamily: fontFamily = a.getString(attr); break; case com.android.internal.R.styleable.TextView_password: password = a.getBoolean(attr, password); break; Loading Loading @@ -1051,7 +1061,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener typefaceIndex = MONOSPACE; } setTypefaceByIndex(typefaceIndex, styleIndex); setTypefaceFromAttrs(fontFamily, typefaceIndex, styleIndex); if (shadowcolor != 0) { setShadowLayer(r, dx, dy, shadowcolor); Loading Loading @@ -1111,8 +1121,15 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener } } private void setTypefaceByIndex(int typefaceIndex, int styleIndex) { private void setTypefaceFromAttrs(String familyName, int typefaceIndex, int styleIndex) { Typeface tf = null; if (familyName != null) { tf = Typeface.create(familyName, styleIndex); if (tf != null) { setTypeface(tf); return; } } switch (typefaceIndex) { case SANS: tf = Typeface.SANS_SERIF; Loading Loading @@ -2160,14 +2177,17 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener setLinkTextColor(colors); } String familyName; int typefaceIndex, styleIndex; familyName = appearance.getString(com.android.internal.R.styleable. TextAppearance_fontFamily); typefaceIndex = appearance.getInt(com.android.internal.R.styleable. TextAppearance_typeface, -1); styleIndex = appearance.getInt(com.android.internal.R.styleable. TextAppearance_textStyle, -1); setTypefaceByIndex(typefaceIndex, styleIndex); setTypefaceFromAttrs(familyName, typefaceIndex, styleIndex); if (appearance.getBoolean(com.android.internal.R.styleable.TextAppearance_textAllCaps, false)) { Loading Loading @@ -2269,6 +2289,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener * * @see #getTypeface() * * @attr ref android.R.styleable#TextView_fontFamily * @attr ref android.R.styleable#TextView_typeface * @attr ref android.R.styleable#TextView_textStyle */ Loading @@ -2290,6 +2311,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener * * @see #setTypeface(Typeface) * * @attr ref android.R.styleable#TextView_fontFamily * @attr ref android.R.styleable#TextView_typeface * @attr ref android.R.styleable#TextView_textStyle */ Loading Loading @@ -3690,15 +3712,15 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener boolean forceUpdate = false; if (isPassword) { setTransformationMethod(PasswordTransformationMethod.getInstance()); setTypefaceByIndex(MONOSPACE, 0); setTypefaceFromAttrs(null /* fontFamily */, MONOSPACE, 0); } else if (isVisiblePassword) { if (mTransformation == PasswordTransformationMethod.getInstance()) { forceUpdate = true; } setTypefaceByIndex(MONOSPACE, 0); setTypefaceFromAttrs(null /* fontFamily */, MONOSPACE, 0); } else if (wasPassword || wasVisiblePassword) { // not in password mode, clean up typeface and transformation setTypefaceByIndex(-1, -1); setTypefaceFromAttrs(null /* fontFamily */, -1, -1); if (mTransformation == PasswordTransformationMethod.getInstance()) { forceUpdate = true; } Loading
core/res/res/values/attrs.xml +7 −0 Original line number Diff line number Diff line Loading @@ -857,6 +857,9 @@ --> <attr name="textSize" format="dimension" /> <!-- Default font family. --> <attr name="fontFamily" format="string" /> <!-- Default text typeface. --> <attr name="typeface"> <enum name="normal" value="0" /> Loading Loading @@ -2999,6 +3002,8 @@ <attr name="textStyle" /> <!-- Typeface (normal, sans, serif, monospace) for the text. --> <attr name="typeface" /> <!-- Font family (named by string) for the text. --> <attr name="fontFamily" /> <!-- Color of the text selection highlight. --> <attr name="textColorHighlight" /> <!-- Color of the hint text. --> Loading Loading @@ -3044,6 +3049,8 @@ <attr name="typeface" /> <!-- Style (bold, italic, bolditalic) for the text. --> <attr name="textStyle" /> <!-- Font family (named by string) for the text. --> <attr name="fontFamily" /> <!-- Text color for links. --> <attr name="textColorLink" /> <!-- Makes the cursor visible (the default) or invisible. --> Loading
core/res/res/values/public.xml +2 −0 Original line number Diff line number Diff line Loading @@ -3605,4 +3605,6 @@ <public type="attr" name="importantForAccessibility" id="0x010103aa" /> <public type="attr" name="kcm" id="0x010103ab" /> <public type="attr" name="fontFamily" /> </resources>