Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4b4c639a authored by stefan-niedermann's avatar stefan-niedermann
Browse files

#519 Synchronize on WiFi only

- Move listener back to class member (Garbage Collection?)
parent ee0c8096
Loading
Loading
Loading
Loading
+7 −6
Original line number Diff line number Diff line
@@ -70,6 +70,13 @@ public class NoteServerSyncHelper {
    private String syncOnlyOnWifiKey;
    private boolean syncOnlyOnWifi;

    private SharedPreferences.OnSharedPreferenceChangeListener onSharedPreferenceChangeListener = (SharedPreferences prefs, String key) -> {
        if (syncOnlyOnWifiKey.equals(key)) {
            syncOnlyOnWifi = prefs.getBoolean(syncOnlyOnWifiKey, false);
            updateNetworkStatus();
        }
    };

    private final BroadcastReceiver networkReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
@@ -120,12 +127,6 @@ public class NoteServerSyncHelper {
        appContext.registerReceiver(networkReceiver, new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION));

        SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this.appContext);
        SharedPreferences.OnSharedPreferenceChangeListener onSharedPreferenceChangeListener = (SharedPreferences changedPrefs, String key) -> {
            if (syncOnlyOnWifiKey.equals(key)) {
                syncOnlyOnWifi = changedPrefs.getBoolean(syncOnlyOnWifiKey, false);
                updateNetworkStatus();
            }
        };
        prefs.registerOnSharedPreferenceChangeListener(onSharedPreferenceChangeListener);
        syncOnlyOnWifi = prefs.getBoolean(syncOnlyOnWifiKey, false);