mirror of
https://github.com/oxen-io/session-android.git
synced 2025-10-23 17:48:50 +00:00
@@ -22,6 +22,8 @@ public abstract class AbstractNotificationBuilder extends NotificationCompat.Bui
|
||||
@SuppressWarnings("unused")
|
||||
private static final String TAG = AbstractNotificationBuilder.class.getSimpleName();
|
||||
|
||||
private static final int MAX_DISPLAY_LENGTH = 500;
|
||||
|
||||
protected Context context;
|
||||
protected NotificationPrivacyPreference privacy;
|
||||
|
||||
@@ -74,7 +76,7 @@ public abstract class AbstractNotificationBuilder extends NotificationCompat.Bui
|
||||
|
||||
public void setTicker(@NonNull Recipient recipient, @Nullable CharSequence message) {
|
||||
if (privacy.isDisplayMessage()) {
|
||||
setTicker(getStyledMessage(recipient, message));
|
||||
setTicker(getStyledMessage(recipient, trimToDisplayLength(message)));
|
||||
} else if (privacy.isDisplayContact()) {
|
||||
setTicker(getStyledMessage(recipient, context.getString(R.string.AbstractNotificationBuilder_new_message)));
|
||||
} else {
|
||||
@@ -88,4 +90,11 @@ public abstract class AbstractNotificationBuilder extends NotificationCompat.Bui
|
||||
|
||||
return blinkPattern.split(",");
|
||||
}
|
||||
|
||||
protected @NonNull CharSequence trimToDisplayLength(@Nullable CharSequence text) {
|
||||
text = text == null ? "" : text;
|
||||
|
||||
return text.length() <= MAX_DISPLAY_LENGTH ? text
|
||||
: text.subSequence(0, MAX_DISPLAY_LENGTH);
|
||||
}
|
||||
}
|
||||
|
@@ -81,7 +81,7 @@ public class MultipleRecipientNotificationBuilder extends AbstractNotificationBu
|
||||
NotificationCompat.InboxStyle style = new NotificationCompat.InboxStyle();
|
||||
|
||||
for (CharSequence body : messageBodies) {
|
||||
style.addLine(body);
|
||||
style.addLine(trimToDisplayLength(body));
|
||||
}
|
||||
|
||||
setStyle(style);
|
||||
|
@@ -257,15 +257,15 @@ public class SingleRecipientNotificationBuilder extends AbstractNotificationBuil
|
||||
}
|
||||
|
||||
public NotificationCompat.Builder setContentText(CharSequence contentText) {
|
||||
this.contentText = contentText;
|
||||
return super.setContentText(contentText);
|
||||
this.contentText = trimToDisplayLength(contentText);
|
||||
return super.setContentText(this.contentText);
|
||||
}
|
||||
|
||||
private CharSequence getBigText(List<CharSequence> messageBodies) {
|
||||
SpannableStringBuilder content = new SpannableStringBuilder();
|
||||
|
||||
for (int i = 0; i < messageBodies.size(); i++) {
|
||||
content.append(messageBodies.get(i));
|
||||
content.append(trimToDisplayLength(messageBodies.get(i)));
|
||||
if (i < messageBodies.size() - 1) {
|
||||
content.append('\n');
|
||||
}
|
||||
|
Reference in New Issue
Block a user