summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas <tschneider.ac@gmail.com>2023-12-14 10:01:55 +0100
committerThomas <tschneider.ac@gmail.com>2023-12-14 10:01:55 +0100
commit0982e1bb3844fbef2c78842d74f45c784214fd9f (patch)
tree5ad740d80ddaab37c203ab8f12171e55e58f9977
parenteb0ecd758390664799fa44dd178813a8119d13f3 (diff)
Fix issue #997 - Store endpoint and create it only if it changes
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/services/CustomReceiver.java18
1 files changed, 10 insertions, 8 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 cfe03a9c3..ab5fbc4c1 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
@@ -66,14 +66,16 @@ public class CustomReceiver extends MessagingReceiver {
@Override
public void onNewEndpoint(@Nullable Context context, @NotNull String endpoint, @NotNull String slug) {
if (context != null) {
- 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();
+ synchronized(this) {
+ SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(context);
+ String storedEnpoint = sharedpreferences.getString(context.getString(R.string.SET_STORED_ENDPOINT)+slug, null);
+ if(storedEnpoint == null || !storedEnpoint.equals(endpoint)) {
+ PushNotifications
+ .registerPushNotifications(context, endpoint, slug);
+ SharedPreferences.Editor editor = sharedpreferences.edit();
+ editor.putString(context.getString(R.string.SET_STORED_ENDPOINT)+slug, endpoint);
+ editor.commit();
+ }
}
}
}