Ugly workaround for blacklist not properly persisting

Fixes #696
master
cpfeiffer 2017-08-01 00:10:10 +02:00
parent 12f9386fac
commit 95ce3d333e
2 changed files with 14 additions and 2 deletions

View File

@ -33,7 +33,6 @@ import android.os.Build;
import android.os.Build.VERSION;
import android.preference.PreferenceManager;
import android.provider.ContactsContract.PhoneLookup;
import android.support.annotation.Nullable;
import android.support.v4.content.LocalBroadcastManager;
import android.util.Log;
import android.util.TypedValue;
@ -377,7 +376,7 @@ public class GBApplication extends Application {
if (blacklist.isEmpty()) {
editor.putStringSet(GBPrefs.PACKAGE_BLACKLIST, null);
} else {
editor.putStringSet(GBPrefs.PACKAGE_BLACKLIST, blacklist);
Prefs.putStringSet(editor, GBPrefs.PACKAGE_BLACKLIST, blacklist);
}
editor.apply();
}

View File

@ -19,6 +19,7 @@ package nodomain.freeyourgadget.gadgetbridge.util;
import android.content.SharedPreferences;
import android.util.Log;
import java.util.HashSet;
import java.util.Set;
/**
@ -162,4 +163,16 @@ public class Prefs {
public SharedPreferences getPreferences() {
return preferences;
}
/**
* Ugly workaround for Set<String> preferences not consistently applying.
* @param editor
* @param preference
* @param value
*/
public static void putStringSet(SharedPreferences.Editor editor, String preference, HashSet<String> value) {
editor.putStringSet(preference, null);
editor.commit();
editor.putStringSet(preference, new HashSet<>(value));
}
}