diff --git a/api/current.txt b/api/current.txt index e06362f94d6f1..60a6900441e57 100644 --- a/api/current.txt +++ b/api/current.txt @@ -602,6 +602,7 @@ package android { 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 fontFeatureSettings = 16843962; // 0x10104ba field public static final int footerDividersEnabled = 16843311; // 0x101022f field public static final int foreground = 16843017; // 0x1010109 field public static final int foregroundGravity = 16843264; // 0x1010200 @@ -837,6 +838,7 @@ package android { field public static final int layout_x = 16843135; // 0x101017f field public static final int layout_y = 16843136; // 0x1010180 field public static final int left = 16843181; // 0x10101ad + field public static final int letterSpacing = 16843961; // 0x10104b9 field public static final int lineSpacingExtra = 16843287; // 0x1010217 field public static final int lineSpacingMultiplier = 16843288; // 0x1010218 field public static final int lines = 16843092; // 0x1010154 @@ -11031,12 +11033,14 @@ package android.graphics { method public android.graphics.ColorFilter getColorFilter(); method public boolean getFillPath(android.graphics.Path, android.graphics.Path); method public int getFlags(); + method public java.lang.String getFontFeatureSettings(); method public float getFontMetrics(android.graphics.Paint.FontMetrics); method public android.graphics.Paint.FontMetrics getFontMetrics(); method public int getFontMetricsInt(android.graphics.Paint.FontMetricsInt); method public android.graphics.Paint.FontMetricsInt getFontMetricsInt(); method public float getFontSpacing(); method public int getHinting(); + method public float getLetterSpacing(); method public android.graphics.MaskFilter getMaskFilter(); method public android.graphics.PathEffect getPathEffect(); method public deprecated android.graphics.Rasterizer getRasterizer(); @@ -11086,7 +11090,9 @@ package android.graphics { method public void setFakeBoldText(boolean); method public void setFilterBitmap(boolean); method public void setFlags(int); + method public void setFontFeatureSettings(java.lang.String); method public void setHinting(int); + method public void setLetterSpacing(float); method public void setLinearText(boolean); method public android.graphics.MaskFilter setMaskFilter(android.graphics.MaskFilter); method public android.graphics.PathEffect setPathEffect(android.graphics.PathEffect); @@ -39662,6 +39668,7 @@ package android.widget { method public int getExtendedPaddingBottom(); method public int getExtendedPaddingTop(); method public android.text.InputFilter[] getFilters(); + method public java.lang.String getFontFeatureSettings(); method public boolean getFreezesText(); method public int getGravity(); method public int getHighlightColor(); @@ -39675,6 +39682,7 @@ package android.widget { method public int getInputType(); method public final android.text.method.KeyListener getKeyListener(); method public final android.text.Layout getLayout(); + method public float getLetterSpacing(); method public int getLineBounds(int, android.graphics.Rect); method public int getLineCount(); method public int getLineHeight(); @@ -39758,6 +39766,7 @@ package android.widget { method public void setError(java.lang.CharSequence, android.graphics.drawable.Drawable); method public void setExtractedText(android.view.inputmethod.ExtractedText); method public void setFilters(android.text.InputFilter[]); + method public void setFontFeatureSettings(java.lang.String); method protected boolean setFrame(int, int, int, int); method public void setFreezesText(boolean); method public void setGravity(int); @@ -39774,6 +39783,7 @@ package android.widget { method public void setInputExtras(int) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException; method public void setInputType(int); method public void setKeyListener(android.text.method.KeyListener); + method public void setLetterSpacing(float); method public void setLineSpacing(float, float); method public void setLines(int); method public final void setLinkTextColor(int); diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index a0f7bafd23a08..b162e549bf2e9 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -17,6 +17,7 @@ package android.widget; import android.R; +import android.annotation.Nullable; import android.content.ClipData; import android.content.ClipboardManager; import android.content.Context; @@ -222,6 +223,8 @@ import static android.os.Build.VERSION_CODES.JELLY_BEAN_MR1; * @attr ref android.R.styleable#TextView_imeActionId * @attr ref android.R.styleable#TextView_editorExtras * @attr ref android.R.styleable#TextView_elegantTextHeight + * @attr ref android.R.styleable#TextView_letterSpacing + * @attr ref android.R.styleable#TextView_fontFeatureSettings */ @RemoteView public class TextView extends View implements ViewTreeObserver.OnPreDrawListener { @@ -2702,7 +2705,6 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener * * @see #setLetterSpacing(float) * @see Paint#setLetterSpacing - * @hide */ public float getLetterSpacing() { return mTextPaint.getLetterSpacing(); @@ -2716,7 +2718,6 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener * @see Paint#getLetterSpacing * * @attr ref android.R.styleable#TextView_letterSpacing - * @hide */ @android.view.RemotableViewMethod public void setLetterSpacing(float letterSpacing) { @@ -2736,8 +2737,8 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener * * @see #setFontFeatureSettings(String) * @see Paint#setFontFeatureSettings - * @hide */ + @Nullable public String getFontFeatureSettings() { return mTextPaint.getFontFeatureSettings(); } @@ -2747,14 +2748,14 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener * font-feature-settings attribute: * http://dev.w3.org/csswg/css-fonts/#propdef-font-feature-settings * + * @param fontFeatureSettings font feature settings represented as CSS compatible string * @see #getFontFeatureSettings() * @see Paint#getFontFeatureSettings * * @attr ref android.R.styleable#TextView_fontFeatureSettings - * @hide */ @android.view.RemotableViewMethod - public void setFontFeatureSettings(String fontFeatureSettings) { + public void setFontFeatureSettings(@Nullable String fontFeatureSettings) { if (fontFeatureSettings != mTextPaint.getFontFeatureSettings()) { mTextPaint.setFontFeatureSettings(fontFeatureSettings); diff --git a/core/res/res/values/public.xml b/core/res/res/values/public.xml index b9b78732ef1b1..3adcb77423d8b 100644 --- a/core/res/res/values/public.xml +++ b/core/res/res/values/public.xml @@ -2273,6 +2273,8 @@ + + @@ -2564,4 +2566,5 @@ + diff --git a/graphics/java/android/graphics/Paint.java b/graphics/java/android/graphics/Paint.java index ca8d736eec47c..1c76d9c63adaa 100644 --- a/graphics/java/android/graphics/Paint.java +++ b/graphics/java/android/graphics/Paint.java @@ -1267,7 +1267,6 @@ public class Paint { * is 0. * * @return the paint's letter-spacing for drawing text. - * @hide */ public float getLetterSpacing() { return native_getLetterSpacing(mNativePaint); @@ -1279,7 +1278,6 @@ public class Paint { * expansion will be around 0.05. Negative values tighten text. * * @param letterSpacing set the paint's letter-spacing for drawing text. - * @hide */ public void setLetterSpacing(float letterSpacing) { native_setLetterSpacing(mNativePaint, letterSpacing); @@ -1289,7 +1287,6 @@ public class Paint { * Get font feature settings. Default is null. * * @return the paint's currently set font feature settings. - * @hide */ public String getFontFeatureSettings() { return mFontFeatureSettings; @@ -1302,7 +1299,6 @@ public class Paint { * http://dev.w3.org/csswg/css-fonts/#propdef-font-feature-settings * * @param settings the font feature settings string to use, may be null. - * @hide */ public void setFontFeatureSettings(String settings) { if (settings != null && settings.equals("")) {