diff options
| -rw-r--r-- | core/java/com/android/internal/widget/EmphasizedNotificationButton.java | 35 |
1 files changed, 15 insertions, 20 deletions
diff --git a/core/java/com/android/internal/widget/EmphasizedNotificationButton.java b/core/java/com/android/internal/widget/EmphasizedNotificationButton.java index 65d5a1fdbd00..e5ef8333e134 100644 --- a/core/java/com/android/internal/widget/EmphasizedNotificationButton.java +++ b/core/java/com/android/internal/widget/EmphasizedNotificationButton.java @@ -250,14 +250,6 @@ 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; @@ -273,17 +265,6 @@ 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(); @@ -314,12 +295,26 @@ public class EmphasizedNotificationButton extends Button { private static final String POP_DIRECTIONAL_ISOLATE = "\u2069"; private void glueIconAndLabel(int layoutDirection) { - if (mIconToGlue == null) { + 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 (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; |