diff --git a/mastodon/src/main/java/org/joinmastodon/android/PushNotificationReceiver.java b/mastodon/src/main/java/org/joinmastodon/android/PushNotificationReceiver.java index b8c416d3e..d208424ff 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/PushNotificationReceiver.java +++ b/mastodon/src/main/java/org/joinmastodon/android/PushNotificationReceiver.java @@ -152,6 +152,7 @@ public class PushNotificationReceiver extends BroadcastReceiver{ case MENTION -> R.drawable.ic_fluent_mention_24_filled; 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; }); } 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 7950fa099..c7e2beeb6 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/NotificationsListFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/NotificationsListFragment.java @@ -2,8 +2,6 @@ package org.joinmastodon.android.fragments; import android.app.Activity; import android.os.Bundle; -import android.view.Menu; -import android.view.MenuInflater; import android.view.View; import com.squareup.otto.Subscribe; @@ -80,6 +78,7 @@ public class NotificationsListFragment extends BaseStatusListFragment getString(R.string.notification_boosted); case FAVORITE -> getString(R.string.user_favorited); case POLL -> getString(R.string.poll_ended); + case UPDATE -> getString(R.string.sk_post_edited); }; HeaderStatusDisplayItem titleItem=extraText!=null ? new HeaderStatusDisplayItem(n.id, n.account, n.createdAt, this, accountID, null, extraText, n, null) : null; if(n.status!=null){ diff --git a/mastodon/src/main/java/org/joinmastodon/android/fragments/SettingsFragment.java b/mastodon/src/main/java/org/joinmastodon/android/fragments/SettingsFragment.java index a0630d5ab..0e18d29c6 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/fragments/SettingsFragment.java +++ b/mastodon/src/main/java/org/joinmastodon/android/fragments/SettingsFragment.java @@ -195,6 +195,10 @@ public class SettingsFragment extends MastodonToolbarFragment{ GlobalUserPreferences.disableAltTextReminder=i.checked; GlobalUserPreferences.save(); })); + items.add(new SwitchItem(R.string.sk_settings_single_notification, R.drawable.ic_fluent_convert_range_24_regular, GlobalUserPreferences.keepOnlyLatestNotification, i->{ + GlobalUserPreferences.keepOnlyLatestNotification=i.checked; + GlobalUserPreferences.save(); + })); items.add(new SwitchItem(R.string.sk_settings_translate_only_opened, R.drawable.ic_fluent_translate_24_regular, GlobalUserPreferences.translateButtonOpenedOnly, i->{ GlobalUserPreferences.translateButtonOpenedOnly=i.checked; GlobalUserPreferences.save(); @@ -226,11 +230,8 @@ public class SettingsFragment extends MastodonToolbarFragment{ items.add(new SwitchItem(R.string.notify_follow, R.drawable.ic_fluent_person_add_24_regular, pushSubscription.alerts.follow, i->onNotificationsChanged(PushNotification.Type.FOLLOW, i.checked))); items.add(new SwitchItem(R.string.notify_reblog, R.drawable.ic_fluent_arrow_repeat_all_24_regular, pushSubscription.alerts.reblog, i->onNotificationsChanged(PushNotification.Type.REBLOG, i.checked))); items.add(new SwitchItem(R.string.notify_mention, R.drawable.ic_fluent_mention_24_regular, pushSubscription.alerts.mention, i->onNotificationsChanged(PushNotification.Type.MENTION, i.checked))); + items.add(new SwitchItem(R.string.sk_notify_update, R.drawable.ic_fluent_history_24_regular, pushSubscription.alerts.update, i->onNotificationsChanged(PushNotification.Type.UPDATE, i.checked))); items.add(new SwitchItem(R.string.sk_notify_posts, R.drawable.ic_fluent_alert_24_regular, pushSubscription.alerts.status, i->onNotificationsChanged(PushNotification.Type.STATUS, i.checked))); - items.add(new SwitchItem(R.string.sk_settings_single_notification, R.drawable.ic_fluent_convert_range_24_regular, GlobalUserPreferences.keepOnlyLatestNotification, i->{ - GlobalUserPreferences.keepOnlyLatestNotification=i.checked; - GlobalUserPreferences.save(); - })); items.add(new HeaderItem(R.string.settings_account)); items.add(new TextItem(R.string.sk_settings_profile, ()->UiUtils.launchWebBrowser(getActivity(), "https://"+session.domain+"/settings/profile"), R.drawable.ic_fluent_open_24_regular)); @@ -420,6 +421,7 @@ public class SettingsFragment extends MastodonToolbarFragment{ case REBLOG -> subscription.alerts.reblog=enabled; case MENTION -> subscription.alerts.mention=subscription.alerts.poll=enabled; case STATUS -> subscription.alerts.status=enabled; + case UPDATE -> subscription.alerts.update=enabled; } needUpdateNotificationSettings=true; } diff --git a/mastodon/src/main/java/org/joinmastodon/android/model/Notification.java b/mastodon/src/main/java/org/joinmastodon/android/model/Notification.java index 545028add..ffd70d8cb 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/model/Notification.java +++ b/mastodon/src/main/java/org/joinmastodon/android/model/Notification.java @@ -48,6 +48,8 @@ public class Notification extends BaseModel implements DisplayItemsParent{ @SerializedName("poll") POLL, @SerializedName("status") - STATUS + STATUS, + @SerializedName("update") + UPDATE } } diff --git a/mastodon/src/main/java/org/joinmastodon/android/model/PushNotification.java b/mastodon/src/main/java/org/joinmastodon/android/model/PushNotification.java index de5cc3dba..09784d471 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/model/PushNotification.java +++ b/mastodon/src/main/java/org/joinmastodon/android/model/PushNotification.java @@ -45,7 +45,9 @@ public class PushNotification extends BaseModel{ @SerializedName("poll") POLL(R.string.notification_type_poll), @SerializedName("status") - STATUS(R.string.sk_notification_type_status); + STATUS(R.string.sk_notification_type_status), + @SerializedName("update") + UPDATE(R.string.sk_notification_type_update); @StringRes public final int localizedName; diff --git a/mastodon/src/main/java/org/joinmastodon/android/model/PushSubscription.java b/mastodon/src/main/java/org/joinmastodon/android/model/PushSubscription.java index 7c0fc0967..d9146931e 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/model/PushSubscription.java +++ b/mastodon/src/main/java/org/joinmastodon/android/model/PushSubscription.java @@ -45,10 +45,11 @@ public class PushSubscription extends BaseModel implements Cloneable{ public boolean mention; public boolean poll; public boolean status; + public boolean update; public static Alerts ofAll(){ Alerts alerts=new Alerts(); - alerts.follow=alerts.favourite=alerts.reblog=alerts.mention=alerts.poll=alerts.status=true; + alerts.follow=alerts.favourite=alerts.reblog=alerts.mention=alerts.poll=alerts.status=alerts.update=true; return alerts; } @@ -61,6 +62,7 @@ public class PushSubscription extends BaseModel implements Cloneable{ ", mention="+mention+ ", poll="+poll+ ", status="+status+ + ", update="+update+ '}'; } diff --git a/mastodon/src/main/res/drawable/ic_fluent_history_24_filled.xml b/mastodon/src/main/res/drawable/ic_fluent_history_24_filled.xml new file mode 100644 index 000000000..b32bc18c0 --- /dev/null +++ b/mastodon/src/main/res/drawable/ic_fluent_history_24_filled.xml @@ -0,0 +1,3 @@ + + + diff --git a/mastodon/src/main/res/drawable/ic_fluent_history_24_regular.xml b/mastodon/src/main/res/drawable/ic_fluent_history_24_regular.xml new file mode 100644 index 000000000..cf69e5f70 --- /dev/null +++ b/mastodon/src/main/res/drawable/ic_fluent_history_24_regular.xml @@ -0,0 +1,3 @@ + + + diff --git a/mastodon/src/main/res/values/strings_sk.xml b/mastodon/src/main/res/values/strings_sk.xml index 798906c1e..2b82f6fcf 100644 --- a/mastodon/src/main/res/values/strings_sk.xml +++ b/mastodon/src/main/res/values/strings_sk.xml @@ -171,4 +171,7 @@ Edit timeline Edit timelines ALT + edited + Edited posts + Edits a reblogged posts \ No newline at end of file