trigger endpoint renewal when up settings change

Daniel Gultsch created

Change summary

src/main/java/eu/siacs/conversations/ui/fragment/settings/UpSettingsFragment.java | 12 
1 file changed, 11 insertions(+), 1 deletion(-)

Detailed changes

src/main/java/eu/siacs/conversations/ui/fragment/settings/UpSettingsFragment.java 🔗

@@ -7,7 +7,6 @@ import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.preference.EditTextPreference;
 import androidx.preference.ListPreference;
-import androidx.preference.Preference;
 
 import com.google.common.base.Strings;
 import com.google.common.collect.ImmutableList;
@@ -91,6 +90,17 @@ public class UpSettingsFragment extends XmppPreferenceFragment {
         }
     }
 
+    @Override
+    protected void onSharedPreferenceChanged(@NonNull String key) {
+        super.onSharedPreferenceChanged(key);
+        if (UnifiedPushDistributor.PREFERENCES.contains(key)) {
+            final var service = requireService();
+            if (service.reconfigurePushDistributor()) {
+                service.renewUnifiedPushEndpoints();
+            }
+        }
+    }
+
     @Override
     public void onStart() {
         super.onStart();