Loading api/current.txt +2 −2 Original line number Diff line number Diff line Loading @@ -13230,7 +13230,7 @@ package android.graphics { method public void setFilterBitmap(boolean); method public void setFlags(int); method public void setFontFeatureSettings(java.lang.String); method public void setFontVariationSettings(java.lang.String); method public boolean setFontVariationSettings(java.lang.String); method public void setHinting(int); method public void setLetterSpacing(float); method public void setLinearText(boolean); Loading Loading @@ -51263,7 +51263,7 @@ package android.widget { method public void setExtractedText(android.view.inputmethod.ExtractedText); method public void setFilters(android.text.InputFilter[]); method public void setFontFeatureSettings(java.lang.String); method public void setFontVariationSettings(java.lang.String); method public boolean setFontVariationSettings(java.lang.String); method protected boolean setFrame(int, int, int, int); method public void setFreezesText(boolean); method public void setGravity(int); api/system-current.txt +2 −2 Original line number Diff line number Diff line Loading @@ -13965,7 +13965,7 @@ package android.graphics { method public void setFilterBitmap(boolean); method public void setFlags(int); method public void setFontFeatureSettings(java.lang.String); method public void setFontVariationSettings(java.lang.String); method public boolean setFontVariationSettings(java.lang.String); method public void setHinting(int); method public void setLetterSpacing(float); method public void setLinearText(boolean); Loading Loading @@ -55092,7 +55092,7 @@ package android.widget { method public void setExtractedText(android.view.inputmethod.ExtractedText); method public void setFilters(android.text.InputFilter[]); method public void setFontFeatureSettings(java.lang.String); method public void setFontVariationSettings(java.lang.String); method public boolean setFontVariationSettings(java.lang.String); method protected boolean setFrame(int, int, int, int); method public void setFreezesText(boolean); method public void setGravity(int); api/test-current.txt +2 −2 Original line number Diff line number Diff line Loading @@ -13268,7 +13268,7 @@ package android.graphics { method public void setFilterBitmap(boolean); method public void setFlags(int); method public void setFontFeatureSettings(java.lang.String); method public void setFontVariationSettings(java.lang.String); method public boolean setFontVariationSettings(java.lang.String); method public void setHinting(int); method public void setLetterSpacing(float); method public void setLinearText(boolean); Loading Loading @@ -51641,7 +51641,7 @@ package android.widget { method public void setExtractedText(android.view.inputmethod.ExtractedText); method public void setFilters(android.text.InputFilter[]); method public void setFontFeatureSettings(java.lang.String); method public void setFontVariationSettings(java.lang.String); method public boolean setFontVariationSettings(java.lang.String); method protected boolean setFrame(int, int, int, int); method public void setFreezesText(boolean); method public void setGravity(int); core/java/android/widget/TextView.java +9 −4 Original line number Diff line number Diff line Loading @@ -3808,23 +3808,28 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener * @param fontVariationSettings font variation settings. You can pass null or empty string as * no variation settings. * * @return true if the given settings is effective to at least one font file underlying this * TextView. This function also returns true for empty settings string. Otherwise * returns false. * * @see #getFontVariationSettings() * @see Paint#getFontVariationSettings() Paint.getFontVariationSettings() */ public void setFontVariationSettings(@Nullable String fontVariationSettings) { public boolean setFontVariationSettings(@Nullable String fontVariationSettings) { final String existingSettings = mTextPaint.getFontVariationSettings(); if (fontVariationSettings == existingSettings || (fontVariationSettings != null && fontVariationSettings.equals(existingSettings))) { return; return true; } mTextPaint.setFontVariationSettings(fontVariationSettings); boolean effective = mTextPaint.setFontVariationSettings(fontVariationSettings); if (mLayout != null) { if (effective && mLayout != null) { nullLayouts(); requestLayout(); invalidate(); } return effective; } /** Loading core/jni/android/graphics/Typeface.cpp +19 −0 Original line number Diff line number Diff line Loading @@ -91,6 +91,24 @@ static void Typeface_setDefault(JNIEnv *env, jobject, jlong faceHandle) { Typeface::setDefault(face); } static jobject Typeface_getSupportedAxes(JNIEnv *env, jobject, jlong faceHandle) { Typeface* face = reinterpret_cast<Typeface*>(faceHandle); const std::unordered_set<minikin::AxisTag>& tagSet = face->fFontCollection->getSupportedTags(); const size_t length = tagSet.size(); if (length == 0) { return nullptr; } std::vector<jint> tagVec(length); int index = 0; for (const auto& tag : tagSet) { tagVec[index++] = tag; } std::sort(tagVec.begin(), tagVec.end()); const jintArray result = env->NewIntArray(length); env->SetIntArrayRegion(result, 0, length, tagVec.data()); return result; } /////////////////////////////////////////////////////////////////////////////// static const JNINativeMethod gTypefaceMethods[] = { Loading @@ -103,6 +121,7 @@ static const JNINativeMethod gTypefaceMethods[] = { { "nativeCreateFromArray", "([J)J", (void*)Typeface_createFromArray }, { "nativeSetDefault", "(J)V", (void*)Typeface_setDefault }, { "nativeGetSupportedAxes", "(J)[I", (void*)Typeface_getSupportedAxes }, }; int register_android_graphics_Typeface(JNIEnv* env) Loading Loading
api/current.txt +2 −2 Original line number Diff line number Diff line Loading @@ -13230,7 +13230,7 @@ package android.graphics { method public void setFilterBitmap(boolean); method public void setFlags(int); method public void setFontFeatureSettings(java.lang.String); method public void setFontVariationSettings(java.lang.String); method public boolean setFontVariationSettings(java.lang.String); method public void setHinting(int); method public void setLetterSpacing(float); method public void setLinearText(boolean); Loading Loading @@ -51263,7 +51263,7 @@ package android.widget { method public void setExtractedText(android.view.inputmethod.ExtractedText); method public void setFilters(android.text.InputFilter[]); method public void setFontFeatureSettings(java.lang.String); method public void setFontVariationSettings(java.lang.String); method public boolean setFontVariationSettings(java.lang.String); method protected boolean setFrame(int, int, int, int); method public void setFreezesText(boolean); method public void setGravity(int);
api/system-current.txt +2 −2 Original line number Diff line number Diff line Loading @@ -13965,7 +13965,7 @@ package android.graphics { method public void setFilterBitmap(boolean); method public void setFlags(int); method public void setFontFeatureSettings(java.lang.String); method public void setFontVariationSettings(java.lang.String); method public boolean setFontVariationSettings(java.lang.String); method public void setHinting(int); method public void setLetterSpacing(float); method public void setLinearText(boolean); Loading Loading @@ -55092,7 +55092,7 @@ package android.widget { method public void setExtractedText(android.view.inputmethod.ExtractedText); method public void setFilters(android.text.InputFilter[]); method public void setFontFeatureSettings(java.lang.String); method public void setFontVariationSettings(java.lang.String); method public boolean setFontVariationSettings(java.lang.String); method protected boolean setFrame(int, int, int, int); method public void setFreezesText(boolean); method public void setGravity(int);
api/test-current.txt +2 −2 Original line number Diff line number Diff line Loading @@ -13268,7 +13268,7 @@ package android.graphics { method public void setFilterBitmap(boolean); method public void setFlags(int); method public void setFontFeatureSettings(java.lang.String); method public void setFontVariationSettings(java.lang.String); method public boolean setFontVariationSettings(java.lang.String); method public void setHinting(int); method public void setLetterSpacing(float); method public void setLinearText(boolean); Loading Loading @@ -51641,7 +51641,7 @@ package android.widget { method public void setExtractedText(android.view.inputmethod.ExtractedText); method public void setFilters(android.text.InputFilter[]); method public void setFontFeatureSettings(java.lang.String); method public void setFontVariationSettings(java.lang.String); method public boolean setFontVariationSettings(java.lang.String); method protected boolean setFrame(int, int, int, int); method public void setFreezesText(boolean); method public void setGravity(int);
core/java/android/widget/TextView.java +9 −4 Original line number Diff line number Diff line Loading @@ -3808,23 +3808,28 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener * @param fontVariationSettings font variation settings. You can pass null or empty string as * no variation settings. * * @return true if the given settings is effective to at least one font file underlying this * TextView. This function also returns true for empty settings string. Otherwise * returns false. * * @see #getFontVariationSettings() * @see Paint#getFontVariationSettings() Paint.getFontVariationSettings() */ public void setFontVariationSettings(@Nullable String fontVariationSettings) { public boolean setFontVariationSettings(@Nullable String fontVariationSettings) { final String existingSettings = mTextPaint.getFontVariationSettings(); if (fontVariationSettings == existingSettings || (fontVariationSettings != null && fontVariationSettings.equals(existingSettings))) { return; return true; } mTextPaint.setFontVariationSettings(fontVariationSettings); boolean effective = mTextPaint.setFontVariationSettings(fontVariationSettings); if (mLayout != null) { if (effective && mLayout != null) { nullLayouts(); requestLayout(); invalidate(); } return effective; } /** Loading
core/jni/android/graphics/Typeface.cpp +19 −0 Original line number Diff line number Diff line Loading @@ -91,6 +91,24 @@ static void Typeface_setDefault(JNIEnv *env, jobject, jlong faceHandle) { Typeface::setDefault(face); } static jobject Typeface_getSupportedAxes(JNIEnv *env, jobject, jlong faceHandle) { Typeface* face = reinterpret_cast<Typeface*>(faceHandle); const std::unordered_set<minikin::AxisTag>& tagSet = face->fFontCollection->getSupportedTags(); const size_t length = tagSet.size(); if (length == 0) { return nullptr; } std::vector<jint> tagVec(length); int index = 0; for (const auto& tag : tagSet) { tagVec[index++] = tag; } std::sort(tagVec.begin(), tagVec.end()); const jintArray result = env->NewIntArray(length); env->SetIntArrayRegion(result, 0, length, tagVec.data()); return result; } /////////////////////////////////////////////////////////////////////////////// static const JNINativeMethod gTypefaceMethods[] = { Loading @@ -103,6 +121,7 @@ static const JNINativeMethod gTypefaceMethods[] = { { "nativeCreateFromArray", "([J)J", (void*)Typeface_createFromArray }, { "nativeSetDefault", "(J)V", (void*)Typeface_setDefault }, { "nativeGetSupportedAxes", "(J)[I", (void*)Typeface_getSupportedAxes }, }; int register_android_graphics_Typeface(JNIEnv* env) Loading