summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas <tschneider.ac@gmail.com>2023-12-14 08:03:47 +0100
committerThomas <tschneider.ac@gmail.com>2023-12-14 08:03:47 +0100
commiteb0ecd758390664799fa44dd178813a8119d13f3 (patch)
tree346dae12e9a2ea023abed99f3cbbba72db482dd2
parent0d949f8dd62de5becee993281582f8b92e839587 (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.java14
-rw-r--r--app/src/main/res/values/strings.xml1
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>