diff options
author | 2024-03-20 23:40:12 +0000 | |
---|---|---|
committer | 2024-03-20 23:40:12 +0000 | |
commit | ca9930025adc972ae40edaaa8b76f3f66e53eea1 (patch) | |
tree | b6177bfafc969fa49451585841b87d2bb6894a46 | |
parent | 4f938d3f3e921e523bc3931c12502f12fd04b4b6 (diff) | |
parent | be7a60f1945a54d17e93c70b96513d0e4942756d (diff) |
Merge "Revert "CallStyle: Also handle null label to glue"" into main
-rw-r--r-- | core/java/com/android/internal/widget/EmphasizedNotificationButton.java | 35 |
1 files changed, 20 insertions, 15 deletions
diff --git a/core/java/com/android/internal/widget/EmphasizedNotificationButton.java b/core/java/com/android/internal/widget/EmphasizedNotificationButton.java index 56b93b3a046f..c07e62414ac2 100644 --- a/core/java/com/android/internal/widget/EmphasizedNotificationButton.java +++ b/core/java/com/android/internal/widget/EmphasizedNotificationButton.java @@ -249,6 +249,14 @@ public class EmphasizedNotificationButton extends Button { return; } + if (mIconToGlue == null && mLabelToGlue == null) { + if (DEBUG_NEW_ACTION_LAYOUT) { + Log.v(TAG, "glueIconAndLabelIfNeeded: no icon or label to glue; doing nothing"); + } + mGluePending = false; + return; + } + if (!evenlyDividedCallStyleActionLayout()) { Log.e(TAG, "glueIconAndLabelIfNeeded: new action layout disabled; doing nothing"); return; @@ -264,6 +272,17 @@ public class EmphasizedNotificationButton extends Button { return; } + // Ready to glue but don't have an icon *and* a label: + // + // (Note that this will *not* happen while the button is being initialized, since we won't + // be ready to glue. This can only happen if the button is initialized and displayed and + // *then* someone calls glueIcon or glueLabel. + + if (mLabelToGlue == null) { + Log.w(TAG, "glueIconAndLabelIfNeeded: icon glued without label; doing nothing"); + return; + } + // Can't glue: final int layoutDirection = getLayoutDirection(); @@ -294,26 +313,12 @@ public class EmphasizedNotificationButton extends Button { private static final String POP_DIRECTIONAL_ISOLATE = "\u2069"; private void glueIconAndLabel(int layoutDirection) { - if (mIconToGlue == null && mLabelToGlue == null) { - if (DEBUG_NEW_ACTION_LAYOUT) { - Log.d(TAG, "glueIconAndLabel: null icon and label, setting text to empty string"); - } - setText(""); - return; - } else if (mIconToGlue == null) { + if (mIconToGlue == null) { if (DEBUG_NEW_ACTION_LAYOUT) { Log.d(TAG, "glueIconAndLabel: null icon, setting text to label"); } setText(mLabelToGlue); return; - } else if (mLabelToGlue == null) { - if (DEBUG_NEW_ACTION_LAYOUT) { - Log.d(TAG, "glueIconAndLabel: null label, setting text to ImageSpan with icon"); - } - final SpannableStringBuilder builder = new SpannableStringBuilder(); - appendSpan(builder, IMAGE_SPAN_TEXT, new ImageSpan(mIconToGlue, ALIGN_CENTER)); - setText(builder); - return; } final boolean rtlLayout = layoutDirection == LAYOUT_DIRECTION_RTL; |