Loading core/java/android/widget/TextView.java +23 −1 Original line number Diff line number Diff line Loading @@ -741,6 +741,10 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener private boolean mLocalesChanged = false; private int mTextSizeUnit = -1; // True if force bold text feature is enabled. This feature makes all text bolder. private boolean mForceBoldTextEnabled; private Typeface mOriginalTypeface; // True if setKeyListener() has been explicitly called private boolean mListenerChanged = false; // True if internationalized input should be used for numbers and date and time. Loading Loading @@ -1649,6 +1653,8 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener attributes.mTypefaceIndex = MONOSPACE; } mForceBoldTextEnabled = getContext().getResources().getConfiguration().forceBoldText == Configuration.FORCE_BOLD_TEXT_YES; applyTextAppearance(attributes); if (isPassword) { Loading Loading @@ -4276,6 +4282,14 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener invalidate(); } } if (newConfig.forceBoldText == Configuration.FORCE_BOLD_TEXT_YES) { mForceBoldTextEnabled = true; setTypeface(getTypeface()); } else if (newConfig.forceBoldText == Configuration.FORCE_BOLD_TEXT_NO || newConfig.forceBoldText == Configuration.FORCE_BOLD_TEXT_UNDEFINED) { mForceBoldTextEnabled = false; setTypeface(getTypeface()); } } /** Loading Loading @@ -4427,6 +4441,14 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener * @attr ref android.R.styleable#TextView_textStyle */ public void setTypeface(@Nullable Typeface tf) { mOriginalTypeface = tf; if (mForceBoldTextEnabled) { int newWeight = tf != null ? tf.getWeight() + 300 : 400; newWeight = Math.min(newWeight, 1000); int typefaceStyle = tf != null ? tf.getStyle() : 0; boolean italic = (typefaceStyle & Typeface.ITALIC) != 0; tf = Typeface.create(tf, newWeight, italic); } if (mTextPaint.getTypeface() != tf) { mTextPaint.setTypeface(tf); Loading @@ -4450,7 +4472,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener */ @InspectableProperty public Typeface getTypeface() { return mTextPaint.getTypeface(); return mOriginalTypeface; } /** Loading Loading
core/java/android/widget/TextView.java +23 −1 Original line number Diff line number Diff line Loading @@ -741,6 +741,10 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener private boolean mLocalesChanged = false; private int mTextSizeUnit = -1; // True if force bold text feature is enabled. This feature makes all text bolder. private boolean mForceBoldTextEnabled; private Typeface mOriginalTypeface; // True if setKeyListener() has been explicitly called private boolean mListenerChanged = false; // True if internationalized input should be used for numbers and date and time. Loading Loading @@ -1649,6 +1653,8 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener attributes.mTypefaceIndex = MONOSPACE; } mForceBoldTextEnabled = getContext().getResources().getConfiguration().forceBoldText == Configuration.FORCE_BOLD_TEXT_YES; applyTextAppearance(attributes); if (isPassword) { Loading Loading @@ -4276,6 +4282,14 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener invalidate(); } } if (newConfig.forceBoldText == Configuration.FORCE_BOLD_TEXT_YES) { mForceBoldTextEnabled = true; setTypeface(getTypeface()); } else if (newConfig.forceBoldText == Configuration.FORCE_BOLD_TEXT_NO || newConfig.forceBoldText == Configuration.FORCE_BOLD_TEXT_UNDEFINED) { mForceBoldTextEnabled = false; setTypeface(getTypeface()); } } /** Loading Loading @@ -4427,6 +4441,14 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener * @attr ref android.R.styleable#TextView_textStyle */ public void setTypeface(@Nullable Typeface tf) { mOriginalTypeface = tf; if (mForceBoldTextEnabled) { int newWeight = tf != null ? tf.getWeight() + 300 : 400; newWeight = Math.min(newWeight, 1000); int typefaceStyle = tf != null ? tf.getStyle() : 0; boolean italic = (typefaceStyle & Typeface.ITALIC) != 0; tf = Typeface.create(tf, newWeight, italic); } if (mTextPaint.getTypeface() != tf) { mTextPaint.setTypeface(tf); Loading @@ -4450,7 +4472,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener */ @InspectableProperty public Typeface getTypeface() { return mTextPaint.getTypeface(); return mOriginalTypeface; } /** Loading