Merge "Update Layout.Builder APIs" into main
diff --git a/core/api/current.txt b/core/api/current.txt
index cb92926..06bd72d 100644
--- a/core/api/current.txt
+++ b/core/api/current.txt
@@ -47549,7 +47549,7 @@
method @IntRange(from=0) public final int getWidth();
method public final void increaseWidthTo(int);
method public boolean isFallbackLineSpacingEnabled();
- method public final boolean isIncludeFontPadding();
+ method public final boolean isFontPaddingIncluded();
method public boolean isRtlCharAt(int);
method protected final boolean isSpanned();
field public static final int BREAK_STRATEGY_BALANCED = 2; // 0x2
@@ -47585,13 +47585,13 @@
method @NonNull public android.text.Layout.Builder setEllipsize(@Nullable android.text.TextUtils.TruncateAt);
method @NonNull public android.text.Layout.Builder setEllipsizedWidth(@IntRange(from=0) int);
method @NonNull public android.text.Layout.Builder setFallbackLineSpacingEnabled(boolean);
+ method @NonNull public android.text.Layout.Builder setFontPaddingIncluded(boolean);
method @NonNull public android.text.Layout.Builder setHyphenationFrequency(int);
- method @NonNull public android.text.Layout.Builder setIncludeFontPadding(boolean);
method @NonNull public android.text.Layout.Builder setJustificationMode(int);
method @NonNull public android.text.Layout.Builder setLeftIndents(@Nullable int[]);
method @NonNull public android.text.Layout.Builder setLineBreakConfig(@NonNull android.graphics.text.LineBreakConfig);
method @NonNull public android.text.Layout.Builder setLineSpacingAmount(float);
- method @NonNull public android.text.Layout.Builder setLineSpacingMultiplier(float);
+ method @NonNull public android.text.Layout.Builder setLineSpacingMultiplier(@FloatRange(from=0) float);
method @NonNull public android.text.Layout.Builder setMaxLines(@IntRange(from=1) int);
method @NonNull public android.text.Layout.Builder setRightIndents(@Nullable int[]);
method @NonNull public android.text.Layout.Builder setTextDirectionHeuristic(@NonNull android.text.TextDirectionHeuristic);
diff --git a/core/java/android/text/Layout.java b/core/java/android/text/Layout.java
index 98b9fee..c450dc8 100644
--- a/core/java/android/text/Layout.java
+++ b/core/java/android/text/Layout.java
@@ -16,6 +16,7 @@
package android.text;
+import android.annotation.FloatRange;
import android.annotation.IntDef;
import android.annotation.IntRange;
import android.annotation.NonNull;
@@ -3407,7 +3408,7 @@
*
* The specified amount of pixels will be added to each line.
*
- * The default value is {@code 0}.
+ * The default value is {@code 0}. The negative value is allowed for squeezing lines.
*
* @param amount an amount of pixels to be added to line height.
* @return this builder instance.
@@ -3435,7 +3436,7 @@
* @see StaticLayout.Builder#setLineSpacing(float, float)
*/
@NonNull
- public Builder setLineSpacingMultiplier(float multiplier) {
+ public Builder setLineSpacingMultiplier(@FloatRange(from = 0) float multiplier) {
mSpacingMult = multiplier;
return this;
}
@@ -3450,11 +3451,11 @@
*
* @param includeFontPadding true for including extra space into first and last line.
* @return this builder instance.
- * @see Layout#isIncludeFontPadding()
+ * @see Layout#isFontPaddingIncluded()
* @see StaticLayout.Builder#setIncludePad(boolean)
*/
@NonNull
- public Builder setIncludeFontPadding(boolean includeFontPadding) {
+ public Builder setFontPaddingIncluded(boolean includeFontPadding) {
mIncludePad = includeFontPadding;
return this;
}
@@ -3853,10 +3854,10 @@
* Returns true if this layout is created with increased line height.
*
* @return true if the layout is created with increased line height.
- * @see Layout.Builder#setIncludeFontPadding(boolean)
+ * @see Layout.Builder#setFontPaddingIncluded(boolean)
* @see StaticLayout.Builder#setIncludePad(boolean)
*/
- public final boolean isIncludeFontPadding() {
+ public final boolean isFontPaddingIncluded() {
return mIncludePad;
}
@@ -3979,7 +3980,7 @@
@Nullable
public final int[] getRightIndents() {
if (mRightIndents == null) {
- return mLeftIndents;
+ return null;
}
int[] newArray = new int[mRightIndents.length];
System.arraycopy(mRightIndents, 0, newArray, 0, newArray.length);