From c12a6eaee6b609bc53eb0a45d9199f37d5241801 Mon Sep 17 00:00:00 2001 From: sk Date: Wed, 25 Jan 2023 18:27:57 +0100 Subject: [PATCH] support admin notifications --- .../android/PushNotificationReceiver.java | 2 ++ .../fragments/NotificationsListFragment.java | 21 +++++++++++++++++-- .../android/model/Announcement.java | 10 +-------- .../android/model/Notification.java | 15 +++++++++++-- .../android/model/PushNotification.java | 6 +++++- .../android/model/PushSubscription.java | 10 +++++++++ .../joinmastodon/android/model/Status.java | 14 +++++++++++++ .../displayitems/HeaderStatusDisplayItem.java | 3 ++- .../ic_fluent_person_available_24_filled.xml | 3 +++ .../drawable/ic_fluent_warning_24_filled.xml | 3 +++ .../res/layout/fragment_report_comment.xml | 1 + mastodon/src/main/res/values/strings_sk.xml | 4 ++++ 12 files changed, 77 insertions(+), 15 deletions(-) create mode 100644 mastodon/src/main/res/drawable/ic_fluent_person_available_24_filled.xml create mode 100644 mastodon/src/main/res/drawable/ic_fluent_warning_24_filled.xml diff --git a/mastodon/src/main/java/org/joinmastodon/android/PushNotificationReceiver.java b/mastodon/src/main/java/org/joinmastodon/android/PushNotificationReceiver.java index d208424ff..5023e1996 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/PushNotificationReceiver.java +++ b/mastodon/src/main/java/org/joinmastodon/android/PushNotificationReceiver.java @@ -153,6 +153,8 @@ public class PushNotificationReceiver extends BroadcastReceiver{ case POLL -> R.drawable.ic_fluent_poll_24_filled; case STATUS -> R.drawable.ic_fluent_chat_24_filled; case UPDATE -> R.drawable.ic_fluent_history_24_filled; + case REPORT -> R.drawable.ic_fluent_warning_24_filled; + case SIGN_UP -> R.drawable.ic_fluent_person_available_24_filled; }); } diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/NotificationsListFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/NotificationsListFragment.java index fab315de8..9f406d5c6 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/NotificationsListFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/NotificationsListFragment.java @@ -2,6 +2,7 @@ package org.joinmastodon.android.fragments; import android.app.Activity; import android.os.Bundle; +import android.text.TextUtils; import android.view.View; import com.squareup.otto.Subscribe; @@ -12,15 +13,19 @@ import org.joinmastodon.android.api.requests.markers.SaveMarkers; import org.joinmastodon.android.api.session.AccountSessionManager; import org.joinmastodon.android.events.PollUpdatedEvent; import org.joinmastodon.android.events.RemoveAccountPostsEvent; +import org.joinmastodon.android.model.Account; import org.joinmastodon.android.model.Notification; import org.joinmastodon.android.model.PaginatedResponse; import org.joinmastodon.android.model.Status; import org.joinmastodon.android.ui.displayitems.AccountCardStatusDisplayItem; +import org.joinmastodon.android.ui.displayitems.AccountStatusDisplayItem; import org.joinmastodon.android.ui.displayitems.HeaderStatusDisplayItem; import org.joinmastodon.android.ui.displayitems.ImageStatusDisplayItem; import org.joinmastodon.android.ui.displayitems.StatusDisplayItem; +import org.joinmastodon.android.ui.displayitems.TextStatusDisplayItem; import org.joinmastodon.android.ui.utils.DiscoverInfoBannerHelper; import org.joinmastodon.android.ui.utils.InsetStatusItemDecoration; +import org.joinmastodon.android.ui.utils.UiUtils; import org.parceler.Parcels; import java.util.ArrayList; @@ -71,6 +76,8 @@ public class NotificationsListFragment extends BaseStatusListFragment buildDisplayItems(Notification n){ + Account reportTarget = n.report == null ? null : n.report.targetAccount == null ? null : + n.report.targetAccount; String extraText=switch(n.type){ case FOLLOW -> getString(R.string.user_followed_you); case FOLLOW_REQUEST -> getString(R.string.user_sent_follow_request); @@ -79,6 +86,8 @@ public class NotificationsListFragment extends BaseStatusListFragment getString(R.string.user_favorited); case POLL -> getString(R.string.poll_ended); case UPDATE -> getString(R.string.sk_post_edited); + case SIGN_UP -> getString(R.string.sk_signed_up); + case REPORT -> getString(R.string.sk_reported); }; HeaderStatusDisplayItem titleItem=extraText!=null ? new HeaderStatusDisplayItem(n.id, n.account, n.createdAt, this, accountID, n.status, extraText, n, null) : null; if(n.status!=null){ @@ -94,8 +103,13 @@ public class NotificationsListFragment extends BaseStatusListFragment + + diff --git a/mastodon/src/main/res/drawable/ic_fluent_warning_24_filled.xml b/mastodon/src/main/res/drawable/ic_fluent_warning_24_filled.xml new file mode 100644 index 000000000..8a40cb995 --- /dev/null +++ b/mastodon/src/main/res/drawable/ic_fluent_warning_24_filled.xml @@ -0,0 +1,3 @@ + + + diff --git a/mastodon/src/main/res/layout/fragment_report_comment.xml b/mastodon/src/main/res/layout/fragment_report_comment.xml index 0f71e8f89..6edde4b2a 100644 --- a/mastodon/src/main/res/layout/fragment_report_comment.xml +++ b/mastodon/src/main/res/layout/fragment_report_comment.xml @@ -31,6 +31,7 @@ android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content" + android:layout_marginBottom="16dp" android:paddingHorizontal="8dp" android:paddingVertical="8dp" android:gravity="center_vertical" diff --git a/mastodon/src/main/res/values/strings_sk.xml b/mastodon/src/main/res/values/strings_sk.xml index 4c976158a..1bd34c070 100644 --- a/mastodon/src/main/res/values/strings_sk.xml +++ b/mastodon/src/main/res/values/strings_sk.xml @@ -245,4 +245,8 @@ Your home instance must support local-only posting for this to work. Most modified versions of Mastodon do, but Mastodon doesn’t. Glitch local-only mode Enable this if your home instance runs on Glitch. Not needed for Hometown or Akkoma. + signed up + reported + Users signing up + New reports \ No newline at end of file