Loading api/current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -292,6 +292,7 @@ package android { field public static final int autoLink = 16842928; // 0x10100b0 field public static final int autoMirrored = 16843754; // 0x10103ea field public static final int autoRemoveFromRecents = 16843847; // 0x1010447 field public static final int autoSizeMaxTextSize = 16844103; // 0x1010547 field public static final int autoSizeMinTextSize = 16844088; // 0x1010538 field public static final int autoSizeStepGranularity = 16844086; // 0x1010536 field public static final int autoSizeStepSizeSet = 16844087; // 0x1010537 api/system-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -401,6 +401,7 @@ package android { field public static final int autoLink = 16842928; // 0x10100b0 field public static final int autoMirrored = 16843754; // 0x10103ea field public static final int autoRemoveFromRecents = 16843847; // 0x1010447 field public static final int autoSizeMaxTextSize = 16844103; // 0x1010547 field public static final int autoSizeMinTextSize = 16844088; // 0x1010538 field public static final int autoSizeStepGranularity = 16844086; // 0x1010536 field public static final int autoSizeStepSizeSet = 16844087; // 0x1010537 api/test-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -292,6 +292,7 @@ package android { field public static final int autoLink = 16842928; // 0x10100b0 field public static final int autoMirrored = 16843754; // 0x10103ea field public static final int autoRemoveFromRecents = 16843847; // 0x1010447 field public static final int autoSizeMaxTextSize = 16844103; // 0x1010547 field public static final int autoSizeMinTextSize = 16844088; // 0x1010538 field public static final int autoSizeStepGranularity = 16844086; // 0x1010536 field public static final int autoSizeStepSizeSet = 16844087; // 0x1010537 core/java/android/widget/TextView.java +31 −13 Original line number Diff line number Diff line Loading @@ -160,7 +160,6 @@ import org.xmlpull.v1.XmlPullParserException; import java.io.IOException; import java.lang.ref.WeakReference; import java.util.ArrayList; import java.util.Arrays; import java.util.Locale; /** Loading Loading @@ -678,6 +677,8 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener public static final int AUTO_SIZE_TYPE_XY = 1; // Auto-size type. private int mAutoSizeType = AUTO_SIZE_TYPE_NONE; // Specify if auto-size is needed. private boolean mNeedsAutoSize = false; // Default value for the step size in pixels. private static final int DEFAULT_AUTO_SIZE_GRANULARITY_IN_PX = 1; // Contains the sorted set of desired text sizes in pixels to pick from when auto-sizing text. Loading Loading @@ -889,6 +890,9 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener int autoSizeStepGranularityInPx = DEFAULT_AUTO_SIZE_GRANULARITY_IN_PX; int autoSizeMinTextSize = (int) TypedValue.applyDimension( TypedValue.COMPLEX_UNIT_SP, 12, getResources().getDisplayMetrics()); int autoSizeMaxTextSize = (int) TypedValue.applyDimension( TypedValue.COMPLEX_UNIT_SP, 112, getResources().getDisplayMetrics()); a = theme.obtainStyledAttributes( attrs, com.android.internal.R.styleable.TextView, defStyleAttr, defStyleRes); Loading Loading @@ -1256,6 +1260,10 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener case com.android.internal.R.styleable.TextView_autoSizeMinTextSize: autoSizeMinTextSize = a.getDimensionPixelSize(attr, autoSizeMinTextSize); break; case com.android.internal.R.styleable.TextView_autoSizeMaxTextSize: autoSizeMaxTextSize = a.getDimensionPixelSize(attr, autoSizeMaxTextSize); break; } } a.recycle(); Loading Loading @@ -1541,8 +1549,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener // Nothing to do. break; case AUTO_SIZE_TYPE_XY: // getTextSize() represents the maximum text size. if (getTextSize() <= autoSizeMinTextSize) { if (autoSizeMaxTextSize <= autoSizeMinTextSize) { throw new IllegalStateException("Maximum text size is less then minimum " + "text size"); } Loading @@ -1552,8 +1559,8 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener + " size step granularity in pixels"); } final int autoSizeValuesLength = (int) ((getTextSize() - autoSizeMinTextSize) / autoSizeStepGranularityInPx); final int autoSizeValuesLength = (autoSizeMaxTextSize - autoSizeMinTextSize) / autoSizeStepGranularityInPx; mAutoSizeTextSizesInPx = new int[autoSizeValuesLength]; int sizeToAdd = autoSizeMinTextSize; for (int i = 0; i < autoSizeValuesLength; i++) { Loading @@ -1561,7 +1568,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener sizeToAdd += autoSizeStepGranularityInPx; } Arrays.sort(mAutoSizeTextSizesInPx); mNeedsAutoSize = true; break; default: throw new IllegalArgumentException( Loading Loading @@ -3058,8 +3065,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener * pixel" units. This size is adjusted based on the current density and * user font size preference. * * <p>Note: if this TextView has mAutoSizeType set to {@link TextView#AUTO_SIZE_TYPE_XY} than * this function sets the maximum text size for auto-sizing. * <p>Note: if this TextView has the auto-size feature enabled than this function is no-op. * * @param size The scaled pixel size. * Loading @@ -3074,8 +3080,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener * Set the default text size to a given unit and value. See {@link * TypedValue} for the possible dimension units. * * <p>Note: if this TextView has mAutoSizeType set to {@link TextView#AUTO_SIZE_TYPE_XY} than * this function sets the maximum text size for auto-sizing. * <p>Note: if this TextView has the auto-size feature enabled than this function is no-op. * * @param unit The desired dimension unit. * @param size The desired size in the given units. Loading @@ -3083,6 +3088,12 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener * @attr ref android.R.styleable#TextView_textSize */ public void setTextSize(int unit, float size) { if (!isAutoSizeEnabled()) { setTextSizeInternal(unit, size); } } private void setTextSizeInternal(int unit, float size) { Context c = getContext(); Resources r; Loading @@ -3101,6 +3112,8 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener mTextPaint.setTextSize(size); if (mLayout != null) { // Do not auto-size right after setting the text size. mNeedsAutoSize = false; nullLayouts(); requestLayout(); invalidate(); Loading Loading @@ -7599,9 +7612,14 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener } if (isAutoSizeEnabled()) { if (mNeedsAutoSize) { // Call auto-size after the width and height have been calculated. autoSizeText(); } // Always try to auto-size if enabled. Functions that do not want to trigger auto-sizing // after the next measuring round should set this to false. mNeedsAutoSize = true; } setMeasuredDimension(width, height); } Loading @@ -7623,7 +7641,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener TEMP_RECTF.bottom = maxHeight; final float textSize = findLargestTextSizeWhichFits(TEMP_RECTF); if (textSize != getTextSize()) { setTextSize(TypedValue.COMPLEX_UNIT_PX, textSize); setTextSizeInternal(TypedValue.COMPLEX_UNIT_PX, textSize); } } } Loading core/res/res/values/attrs.xml +2 −0 Original line number Diff line number Diff line Loading @@ -4710,6 +4710,8 @@ <attr name="autoSizeStepSizeSet"/> <!-- The minimum text size constraint to be used when auto-sizing text --> <attr name="autoSizeMinTextSize" format="dimension" /> <!-- The maximum text size constraint to be used when auto-sizing text --> <attr name="autoSizeMaxTextSize" format="dimension" /> </declare-styleable> <declare-styleable name="TextViewAppearance"> <!-- Base text color, typeface, size, and style. --> Loading Loading
api/current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -292,6 +292,7 @@ package android { field public static final int autoLink = 16842928; // 0x10100b0 field public static final int autoMirrored = 16843754; // 0x10103ea field public static final int autoRemoveFromRecents = 16843847; // 0x1010447 field public static final int autoSizeMaxTextSize = 16844103; // 0x1010547 field public static final int autoSizeMinTextSize = 16844088; // 0x1010538 field public static final int autoSizeStepGranularity = 16844086; // 0x1010536 field public static final int autoSizeStepSizeSet = 16844087; // 0x1010537
api/system-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -401,6 +401,7 @@ package android { field public static final int autoLink = 16842928; // 0x10100b0 field public static final int autoMirrored = 16843754; // 0x10103ea field public static final int autoRemoveFromRecents = 16843847; // 0x1010447 field public static final int autoSizeMaxTextSize = 16844103; // 0x1010547 field public static final int autoSizeMinTextSize = 16844088; // 0x1010538 field public static final int autoSizeStepGranularity = 16844086; // 0x1010536 field public static final int autoSizeStepSizeSet = 16844087; // 0x1010537
api/test-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -292,6 +292,7 @@ package android { field public static final int autoLink = 16842928; // 0x10100b0 field public static final int autoMirrored = 16843754; // 0x10103ea field public static final int autoRemoveFromRecents = 16843847; // 0x1010447 field public static final int autoSizeMaxTextSize = 16844103; // 0x1010547 field public static final int autoSizeMinTextSize = 16844088; // 0x1010538 field public static final int autoSizeStepGranularity = 16844086; // 0x1010536 field public static final int autoSizeStepSizeSet = 16844087; // 0x1010537
core/java/android/widget/TextView.java +31 −13 Original line number Diff line number Diff line Loading @@ -160,7 +160,6 @@ import org.xmlpull.v1.XmlPullParserException; import java.io.IOException; import java.lang.ref.WeakReference; import java.util.ArrayList; import java.util.Arrays; import java.util.Locale; /** Loading Loading @@ -678,6 +677,8 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener public static final int AUTO_SIZE_TYPE_XY = 1; // Auto-size type. private int mAutoSizeType = AUTO_SIZE_TYPE_NONE; // Specify if auto-size is needed. private boolean mNeedsAutoSize = false; // Default value for the step size in pixels. private static final int DEFAULT_AUTO_SIZE_GRANULARITY_IN_PX = 1; // Contains the sorted set of desired text sizes in pixels to pick from when auto-sizing text. Loading Loading @@ -889,6 +890,9 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener int autoSizeStepGranularityInPx = DEFAULT_AUTO_SIZE_GRANULARITY_IN_PX; int autoSizeMinTextSize = (int) TypedValue.applyDimension( TypedValue.COMPLEX_UNIT_SP, 12, getResources().getDisplayMetrics()); int autoSizeMaxTextSize = (int) TypedValue.applyDimension( TypedValue.COMPLEX_UNIT_SP, 112, getResources().getDisplayMetrics()); a = theme.obtainStyledAttributes( attrs, com.android.internal.R.styleable.TextView, defStyleAttr, defStyleRes); Loading Loading @@ -1256,6 +1260,10 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener case com.android.internal.R.styleable.TextView_autoSizeMinTextSize: autoSizeMinTextSize = a.getDimensionPixelSize(attr, autoSizeMinTextSize); break; case com.android.internal.R.styleable.TextView_autoSizeMaxTextSize: autoSizeMaxTextSize = a.getDimensionPixelSize(attr, autoSizeMaxTextSize); break; } } a.recycle(); Loading Loading @@ -1541,8 +1549,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener // Nothing to do. break; case AUTO_SIZE_TYPE_XY: // getTextSize() represents the maximum text size. if (getTextSize() <= autoSizeMinTextSize) { if (autoSizeMaxTextSize <= autoSizeMinTextSize) { throw new IllegalStateException("Maximum text size is less then minimum " + "text size"); } Loading @@ -1552,8 +1559,8 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener + " size step granularity in pixels"); } final int autoSizeValuesLength = (int) ((getTextSize() - autoSizeMinTextSize) / autoSizeStepGranularityInPx); final int autoSizeValuesLength = (autoSizeMaxTextSize - autoSizeMinTextSize) / autoSizeStepGranularityInPx; mAutoSizeTextSizesInPx = new int[autoSizeValuesLength]; int sizeToAdd = autoSizeMinTextSize; for (int i = 0; i < autoSizeValuesLength; i++) { Loading @@ -1561,7 +1568,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener sizeToAdd += autoSizeStepGranularityInPx; } Arrays.sort(mAutoSizeTextSizesInPx); mNeedsAutoSize = true; break; default: throw new IllegalArgumentException( Loading Loading @@ -3058,8 +3065,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener * pixel" units. This size is adjusted based on the current density and * user font size preference. * * <p>Note: if this TextView has mAutoSizeType set to {@link TextView#AUTO_SIZE_TYPE_XY} than * this function sets the maximum text size for auto-sizing. * <p>Note: if this TextView has the auto-size feature enabled than this function is no-op. * * @param size The scaled pixel size. * Loading @@ -3074,8 +3080,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener * Set the default text size to a given unit and value. See {@link * TypedValue} for the possible dimension units. * * <p>Note: if this TextView has mAutoSizeType set to {@link TextView#AUTO_SIZE_TYPE_XY} than * this function sets the maximum text size for auto-sizing. * <p>Note: if this TextView has the auto-size feature enabled than this function is no-op. * * @param unit The desired dimension unit. * @param size The desired size in the given units. Loading @@ -3083,6 +3088,12 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener * @attr ref android.R.styleable#TextView_textSize */ public void setTextSize(int unit, float size) { if (!isAutoSizeEnabled()) { setTextSizeInternal(unit, size); } } private void setTextSizeInternal(int unit, float size) { Context c = getContext(); Resources r; Loading @@ -3101,6 +3112,8 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener mTextPaint.setTextSize(size); if (mLayout != null) { // Do not auto-size right after setting the text size. mNeedsAutoSize = false; nullLayouts(); requestLayout(); invalidate(); Loading Loading @@ -7599,9 +7612,14 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener } if (isAutoSizeEnabled()) { if (mNeedsAutoSize) { // Call auto-size after the width and height have been calculated. autoSizeText(); } // Always try to auto-size if enabled. Functions that do not want to trigger auto-sizing // after the next measuring round should set this to false. mNeedsAutoSize = true; } setMeasuredDimension(width, height); } Loading @@ -7623,7 +7641,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener TEMP_RECTF.bottom = maxHeight; final float textSize = findLargestTextSizeWhichFits(TEMP_RECTF); if (textSize != getTextSize()) { setTextSize(TypedValue.COMPLEX_UNIT_PX, textSize); setTextSizeInternal(TypedValue.COMPLEX_UNIT_PX, textSize); } } } Loading
core/res/res/values/attrs.xml +2 −0 Original line number Diff line number Diff line Loading @@ -4710,6 +4710,8 @@ <attr name="autoSizeStepSizeSet"/> <!-- The minimum text size constraint to be used when auto-sizing text --> <attr name="autoSizeMinTextSize" format="dimension" /> <!-- The maximum text size constraint to be used when auto-sizing text --> <attr name="autoSizeMaxTextSize" format="dimension" /> </declare-styleable> <declare-styleable name="TextViewAppearance"> <!-- Base text color, typeface, size, and style. --> Loading