diff options
| author | 2018-12-06 18:10:20 -0800 | |
|---|---|---|
| committer | 2018-12-06 18:10:20 -0800 | |
| commit | 6e41b0e39f353afe618120a1d17870db24205eb6 (patch) | |
| tree | 26674d3da3bfad1f2f7091d82e68bed951ff86c3 | |
| parent | b53030f983b8f606a6fed7527605073613895f67 (diff) | |
Fixed a padding issue if there is no right icon but a reply icon
The text wasn't actually flowing around the picture in that case.
Test: add bigtext notification without image, observe normal padding
Change-Id: I0c3513dac6ffecec50023ba6cc1a0ef54f581bd4
Fixes: 120423951
| -rw-r--r-- | core/java/android/app/Notification.java | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java index 0281e6a0631e..dba62f222f67 100644 --- a/core/java/android/app/Notification.java +++ b/core/java/android/app/Notification.java @@ -4770,14 +4770,16 @@ public class Notification implements Parcelable TemplateBindResult result) { boolean largeIconShown = bindLargeIcon(contentView, p); boolean replyIconShown = bindReplyIcon(contentView, p); + boolean iconContainerVisible = largeIconShown || replyIconShown; contentView.setViewVisibility(R.id.right_icon_container, - largeIconShown || replyIconShown ? View.VISIBLE : View.GONE); + iconContainerVisible ? View.VISIBLE : View.GONE); int marginEnd = calculateMarginEnd(largeIconShown, replyIconShown); contentView.setViewLayoutMarginEnd(R.id.line1, marginEnd); contentView.setViewLayoutMarginEnd(R.id.text, marginEnd); contentView.setViewLayoutMarginEnd(R.id.progress, marginEnd); if (result != null) { result.setIconMarginEnd(marginEnd); + result.setRightIconContainerVisible(iconContainerVisible); } } @@ -6777,7 +6779,8 @@ public class Notification implements Parcelable mBuilder.setTextViewColorSecondary(contentView, R.id.big_text, p); contentView.setViewVisibility(R.id.big_text, TextUtils.isEmpty(bigTextText) ? View.GONE : View.VISIBLE); - contentView.setBoolean(R.id.big_text, "setHasImage", mBuilder.mN.hasLargeIcon()); + contentView.setBoolean(R.id.big_text, "setHasImage", + result.isRightIconContainerVisible()); return contentView; } @@ -9914,6 +9917,7 @@ public class Notification implements Parcelable */ private static class TemplateBindResult { int mIconMarginEnd; + boolean mRightIconContainerVisible; /** * Get the margin end that needs to be added to any fields that may overlap @@ -9923,9 +9927,21 @@ public class Notification implements Parcelable return mIconMarginEnd; } + /** + * Is the icon container visible on the right size because of the reply button or the + * right icon. + */ + public boolean isRightIconContainerVisible() { + return mRightIconContainerVisible; + } + public void setIconMarginEnd(int iconMarginEnd) { this.mIconMarginEnd = iconMarginEnd; } + + public void setRightIconContainerVisible(boolean iconContainerVisible) { + mRightIconContainerVisible = iconContainerVisible; + } } private static class StandardTemplateParams { |