summaryrefslogtreecommitdiff
path: root/core/java/android/widget/TextView.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android/widget/TextView.java')
-rw-r--r--core/java/android/widget/TextView.java81
1 files changed, 14 insertions, 67 deletions
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java
index 7327214c5389..014340197393 100644
--- a/core/java/android/widget/TextView.java
+++ b/core/java/android/widget/TextView.java
@@ -48,9 +48,6 @@ import android.annotation.XmlRes;
import android.app.Activity;
import android.app.PendingIntent;
import android.app.assist.AssistStructure;
-import android.app.compat.CompatChanges;
-import android.compat.annotation.ChangeId;
-import android.compat.annotation.EnabledSince;
import android.compat.annotation.UnsupportedAppUsage;
import android.content.ClipData;
import android.content.ClipDescription;
@@ -456,22 +453,6 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
private static final int FLOATING_TOOLBAR_SELECT_ALL_REFRESH_DELAY = 500;
- /**
- * This change ID enables the fallback text line spacing (line height) for BoringLayout.
- * @hide
- */
- @ChangeId
- @EnabledSince(targetSdkVersion = Build.VERSION_CODES.TIRAMISU)
- public static final long BORINGLAYOUT_FALLBACK_LINESPACING = 210923482L; // buganizer id
-
- /**
- * This change ID enables the fallback text line spacing (line height) for StaticLayout.
- * @hide
- */
- @ChangeId
- @EnabledSince(targetSdkVersion = Build.VERSION_CODES.P)
- public static final long STATICLAYOUT_FALLBACK_LINESPACING = 37756858; // buganizer id
-
// System wide time for last cut, copy or text changed action.
static long sLastCutCopyOrTextChangedTime;
@@ -785,13 +766,8 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
private boolean mListenerChanged = false;
// True if internationalized input should be used for numbers and date and time.
private final boolean mUseInternationalizedInput;
-
- // Fallback fonts that end up getting used should be allowed to affect line spacing.
- private static final int FALLBACK_LINE_SPACING_NONE = 0;
- private static final int FALLBACK_LINE_SPACING_STATIC_LAYOUT_ONLY = 1;
- private static final int FALLBACK_LINE_SPACING_ALL = 2;
-
- private int mUseFallbackLineSpacing;
+ // True if fallback fonts that end up getting used should be allowed to affect line spacing.
+ /* package */ boolean mUseFallbackLineSpacing;
// True if the view text can be padded for compat reasons, when the view is translated.
private final boolean mUseTextPaddingForUiTranslation;
@@ -1503,13 +1479,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
final int targetSdkVersion = context.getApplicationInfo().targetSdkVersion;
mUseInternationalizedInput = targetSdkVersion >= VERSION_CODES.O;
- if (CompatChanges.isChangeEnabled(BORINGLAYOUT_FALLBACK_LINESPACING)) {
- mUseFallbackLineSpacing = FALLBACK_LINE_SPACING_ALL;
- } else if (CompatChanges.isChangeEnabled(STATICLAYOUT_FALLBACK_LINESPACING)) {
- mUseFallbackLineSpacing = FALLBACK_LINE_SPACING_STATIC_LAYOUT_ONLY;
- } else {
- mUseFallbackLineSpacing = FALLBACK_LINE_SPACING_NONE;
- }
+ mUseFallbackLineSpacing = targetSdkVersion >= VERSION_CODES.P;
// TODO(b/179693024): Use a ChangeId instead.
mUseTextPaddingForUiTranslation = targetSdkVersion <= Build.VERSION_CODES.R;
@@ -4571,18 +4541,8 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
* @attr ref android.R.styleable#TextView_fallbackLineSpacing
*/
public void setFallbackLineSpacing(boolean enabled) {
- int fallbackStrategy;
- if (enabled) {
- if (CompatChanges.isChangeEnabled(BORINGLAYOUT_FALLBACK_LINESPACING)) {
- fallbackStrategy = FALLBACK_LINE_SPACING_ALL;
- } else {
- fallbackStrategy = FALLBACK_LINE_SPACING_STATIC_LAYOUT_ONLY;
- }
- } else {
- fallbackStrategy = FALLBACK_LINE_SPACING_NONE;
- }
- if (mUseFallbackLineSpacing != fallbackStrategy) {
- mUseFallbackLineSpacing = fallbackStrategy;
+ if (mUseFallbackLineSpacing != enabled) {
+ mUseFallbackLineSpacing = enabled;
if (mLayout != null) {
nullLayouts();
requestLayout();
@@ -4600,17 +4560,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
*/
@InspectableProperty
public boolean isFallbackLineSpacing() {
- return mUseFallbackLineSpacing != FALLBACK_LINE_SPACING_NONE;
- }
-
- private boolean isFallbackLineSpacingForBoringLayout() {
- return mUseFallbackLineSpacing == FALLBACK_LINE_SPACING_ALL;
- }
-
- // Package privte for accessing from Editor.java
- /* package */ boolean isFallbackLineSpacingForStaticLayout() {
- return mUseFallbackLineSpacing == FALLBACK_LINE_SPACING_ALL
- || mUseFallbackLineSpacing == FALLBACK_LINE_SPACING_STATIC_LAYOUT_ONLY;
+ return mUseFallbackLineSpacing;
}
/**
@@ -9198,7 +9148,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
if (hintBoring == UNKNOWN_BORING) {
hintBoring = BoringLayout.isBoring(mHint, mTextPaint, mTextDir,
- isFallbackLineSpacingForBoringLayout(), mHintBoring);
+ mHintBoring);
if (hintBoring != null) {
mHintBoring = hintBoring;
}
@@ -9240,7 +9190,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
.setTextDirection(mTextDir)
.setLineSpacing(mSpacingAdd, mSpacingMult)
.setIncludePad(mIncludePad)
- .setUseLineSpacingFromFallbacks(isFallbackLineSpacingForStaticLayout())
+ .setUseLineSpacingFromFallbacks(mUseFallbackLineSpacing)
.setBreakStrategy(mBreakStrategy)
.setHyphenationFrequency(mHyphenationFrequency)
.setJustificationMode(mJustificationMode)
@@ -9300,7 +9250,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
.setTextDirection(mTextDir)
.setLineSpacing(mSpacingAdd, mSpacingMult)
.setIncludePad(mIncludePad)
- .setUseLineSpacingFromFallbacks(isFallbackLineSpacingForStaticLayout())
+ .setUseLineSpacingFromFallbacks(mUseFallbackLineSpacing)
.setBreakStrategy(mBreakStrategy)
.setHyphenationFrequency(mHyphenationFrequency)
.setJustificationMode(mJustificationMode)
@@ -9309,8 +9259,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
result = builder.build();
} else {
if (boring == UNKNOWN_BORING) {
- boring = BoringLayout.isBoring(mTransformed, mTextPaint, mTextDir,
- isFallbackLineSpacingForBoringLayout(), mBoring);
+ boring = BoringLayout.isBoring(mTransformed, mTextPaint, mTextDir, mBoring);
if (boring != null) {
mBoring = boring;
}
@@ -9354,7 +9303,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
.setTextDirection(mTextDir)
.setLineSpacing(mSpacingAdd, mSpacingMult)
.setIncludePad(mIncludePad)
- .setUseLineSpacingFromFallbacks(isFallbackLineSpacingForStaticLayout())
+ .setUseLineSpacingFromFallbacks(mUseFallbackLineSpacing)
.setBreakStrategy(mBreakStrategy)
.setHyphenationFrequency(mHyphenationFrequency)
.setJustificationMode(mJustificationMode)
@@ -9481,8 +9430,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
}
if (des < 0) {
- boring = BoringLayout.isBoring(mTransformed, mTextPaint, mTextDir,
- isFallbackLineSpacingForBoringLayout(), mBoring);
+ boring = BoringLayout.isBoring(mTransformed, mTextPaint, mTextDir, mBoring);
if (boring != null) {
mBoring = boring;
}
@@ -9515,8 +9463,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
}
if (hintDes < 0) {
- hintBoring = BoringLayout.isBoring(mHint, mTextPaint, mTextDir,
- isFallbackLineSpacingForBoringLayout(), mHintBoring);
+ hintBoring = BoringLayout.isBoring(mHint, mTextPaint, mTextDir, mHintBoring);
if (hintBoring != null) {
mHintBoring = hintBoring;
}
@@ -9720,7 +9667,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
layoutBuilder.setAlignment(getLayoutAlignment())
.setLineSpacing(getLineSpacingExtra(), getLineSpacingMultiplier())
.setIncludePad(getIncludeFontPadding())
- .setUseLineSpacingFromFallbacks(isFallbackLineSpacingForStaticLayout())
+ .setUseLineSpacingFromFallbacks(mUseFallbackLineSpacing)
.setBreakStrategy(getBreakStrategy())
.setHyphenationFrequency(getHyphenationFrequency())
.setJustificationMode(getJustificationMode())