From de83c1ea964871bcf4929faf678f7db767fe3707 Mon Sep 17 00:00:00 2001 From: Grishka Date: Sat, 21 Sep 2024 09:22:41 +0300 Subject: [PATCH] Add `update` notifications (AND-173) --- .../org/joinmastodon/android/model/NotificationType.java | 4 +++- .../displayitems/NotificationHeaderStatusDisplayItem.java | 7 ++++--- mastodon/src/main/res/values/strings.xml | 1 + 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/mastodon/src/main/java/org/joinmastodon/android/model/NotificationType.java b/mastodon/src/main/java/org/joinmastodon/android/model/NotificationType.java index 569596462..5e67fc5fc 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/model/NotificationType.java +++ b/mastodon/src/main/java/org/joinmastodon/android/model/NotificationType.java @@ -18,7 +18,9 @@ public enum NotificationType{ @SerializedName("poll") POLL, @SerializedName("status") - STATUS; + STATUS, + @SerializedName("update") + UPDATE; public boolean canBeGrouped(){ return this==REBLOG || this==FAVORITE; diff --git a/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/NotificationHeaderStatusDisplayItem.java b/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/NotificationHeaderStatusDisplayItem.java index b066997f2..786d373c5 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/NotificationHeaderStatusDisplayItem.java +++ b/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/NotificationHeaderStatusDisplayItem.java @@ -88,6 +88,7 @@ public class NotificationHeaderStatusDisplayItem extends StatusDisplayItem{ case FOLLOW_REQUEST -> R.string.user_sent_follow_request; case REBLOG -> R.string.notification_boosted; case FAVORITE -> R.string.user_favorited; + case UPDATE -> R.string.user_edited_post; default -> throw new IllegalStateException("Unexpected value: "+notification.notification.type); }, "{{name}}"); } @@ -181,8 +182,7 @@ public class NotificationHeaderStatusDisplayItem extends StatusDisplayItem{ @Override public void onBind(NotificationHeaderStatusDisplayItem item){ text.setText(item.text); -// avatar.setVisibility(item.notification.notification.type==NotificationType.POLL ? View.GONE : View.VISIBLE); - if(item.notification.notification.type==NotificationType.POLL){ + if(item.notification.notification.type==NotificationType.POLL || item.notification.notification.type==NotificationType.UPDATE){ avatarsContainer.setVisibility(View.GONE); }else{ avatarsContainer.setVisibility(View.VISIBLE); @@ -200,12 +200,13 @@ public class NotificationHeaderStatusDisplayItem extends StatusDisplayItem{ case REBLOG -> R.drawable.ic_repeat_fill1_24px; case FOLLOW, FOLLOW_REQUEST -> R.drawable.ic_person_add_fill1_24px; case POLL -> R.drawable.ic_insert_chart_fill1_24px; + case UPDATE -> R.drawable.ic_edit_24px; default -> throw new IllegalStateException("Unexpected value: "+item.notification.notification.type); }); icon.setImageTintList(ColorStateList.valueOf(UiUtils.getThemeColor(item.parentFragment.getActivity(), switch(item.notification.notification.type){ case FAVORITE -> R.attr.colorFavorite; case REBLOG -> R.attr.colorBoost; - case FOLLOW, FOLLOW_REQUEST -> R.attr.colorM3Primary; + case FOLLOW, FOLLOW_REQUEST, UPDATE -> R.attr.colorM3Primary; default -> R.attr.colorM3Outline; }))); itemView.setPadding(itemView.getPaddingLeft(), itemView.getPaddingTop(), itemView.getPaddingRight(), item.notification.status==null ? V.dp(12) : 0); diff --git a/mastodon/src/main/res/values/strings.xml b/mastodon/src/main/res/values/strings.xml index dbce0d927..2b1252733 100644 --- a/mastodon/src/main/res/values/strings.xml +++ b/mastodon/src/main/res/values/strings.xml @@ -797,4 +797,5 @@ Your poll has ended %s just posted + %s edited a post you interacted with \ No newline at end of file