diff options
author | Thomas <tschneider.ac@gmail.com> | 2023-12-14 08:03:47 +0100 |
---|---|---|
committer | Thomas <tschneider.ac@gmail.com> | 2023-12-14 08:03:47 +0100 |
commit | eb0ecd758390664799fa44dd178813a8119d13f3 (patch) | |
tree | 346dae12e9a2ea023abed99f3cbbba72db482dd2 | |
parent | 0d949f8dd62de5becee993281582f8b92e839587 (diff) |
Fix issue #997 - Store endpoint and create it only if it changesNTFY_avoid_429
-rw-r--r-- | app/src/main/java/app/fedilab/android/mastodon/services/CustomReceiver.java | 14 | ||||
-rw-r--r-- | app/src/main/res/values/strings.xml | 1 |
2 files changed, 13 insertions, 2 deletions
diff --git a/app/src/main/java/app/fedilab/android/mastodon/services/CustomReceiver.java b/app/src/main/java/app/fedilab/android/mastodon/services/CustomReceiver.java index e89837d13..cfe03a9c3 100644 --- a/app/src/main/java/app/fedilab/android/mastodon/services/CustomReceiver.java +++ b/app/src/main/java/app/fedilab/android/mastodon/services/CustomReceiver.java @@ -16,13 +16,16 @@ package app.fedilab.android.mastodon.services; import android.content.Context; import android.content.Intent; +import android.content.SharedPreferences; import androidx.annotation.NonNull; +import androidx.preference.PreferenceManager; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.unifiedpush.android.connector.MessagingReceiver; +import app.fedilab.android.R; import app.fedilab.android.mastodon.helper.NotificationsHelper; import app.fedilab.android.mastodon.helper.PushNotifications; @@ -63,8 +66,15 @@ public class CustomReceiver extends MessagingReceiver { @Override public void onNewEndpoint(@Nullable Context context, @NotNull String endpoint, @NotNull String slug) { if (context != null) { - PushNotifications - .registerPushNotifications(context, endpoint, slug); + SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(context); + String storedEnpoint = sharedpreferences.getString(context.getString(R.string.SET_STORED_ENDPOINT)+slug, null); + if(storedEnpoint == null || !storedEnpoint.equalsIgnoreCase(endpoint)) { + PushNotifications + .registerPushNotifications(context, endpoint, slug); + SharedPreferences.Editor editor = sharedpreferences.edit(); + editor.putString(context.getString(R.string.SET_STORED_ENDPOINT)+slug, endpoint); + editor.apply(); + } } } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 473d3eeb3..41ccd0b8a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1146,6 +1146,7 @@ <string name="SET_TRANSLATOR_HOST_LINGVA" translatable="false">lingva.ml</string> <string name="SET_TRANSLATOR_DOMAIN" translatable="false">SET_TRANSLATOR_DOMAIN</string> <string name="SET_TRANSLATOR" translatable="false">SET_TRANSLATOR</string> + <string name="SET_STORED_ENDPOINT" translatable="false">SET_STORED_ENDPOINT</string> <string name="SET_TRANSLATOR_VERSION" translatable="false">SET_TRANSLATOR_VERSION</string> <string name="SET_TRANSLATOR_API_KEY" translatable="false">SET_TRANSLATOR_API_KEY</string> |