package data;
import android.content.SharedPreferences;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Set;
public class PreferencesLayer {
private static PreferencesLayer instance;
private SharedPreferences sharedPreferences;
private PreferencesLayer(SharedPreferences sharedPreferences) {
this.sharedPreferences = sharedPreferences;
}
public static void initialize(SharedPreferences sharedPreferences) {
instance = new PreferencesLayer(sharedPreferences);
}
public static PreferencesLayer getInstance() {
if (instance == null) {
throw new IllegalStateException("PreferencesLayer not initialized!");
}
else {
return instance;
}
}
public void setDonationAmountPref(double amount) {
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putLong("donationAmount", Double.doubleToLongBits(amount));
editor.apply();
}
public void setCallPref(boolean flag) {
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putBoolean("call", flag);
editor.apply();
}
public void setPostPref(boolean flag) {
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putBoolean("post", flag);
editor.apply();
}
public void setDonatePref(boolean flag) {
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putBoolean("donate", flag);
editor.apply();
}
public void setMailPref(boolean flag) {
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putBoolean("mail", flag);
editor.apply();
}
public void setKey(String id) {
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("id", id);
editor.apply();
}
public void setPhoneNumbers(ArrayList<String> phoneNumbers) {
Set<String> set = new HashSet<>(phoneNumbers);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putStringSet("phoneNumbers", set);
editor.apply();
}
public void setEmails(ArrayList<String> emails) {
Set<String> set = new HashSet<>(emails);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putStringSet("emails", set);
editor.apply();
}
public double getDonationAmountPref() {
return Double.longBitsToDouble(sharedPreferences.getLong("donationAmount", Double.doubleToLongBits(1)));
}
public boolean getCallPref() {
return sharedPreferences.getBoolean("call", true);
}
public boolean getPostPref() {
return sharedPreferences.getBoolean("post", true);
}
public boolean getDonatePref() {
return sharedPreferences.getBoolean("donate", false);
}
public boolean getMailPref() {
return sharedPreferences.getBoolean("mail", false);
}
public String getKey() {
return sharedPreferences.getString("id", "");
}
public ArrayList<String> getPhoneNumbers() {
Set<String> set = sharedPreferences.getStringSet("phoneNumbers", new HashSet<String>());
return new ArrayList<>(set);
}
public ArrayList<String> getEmails() {
Set<String> set = sharedPreferences.getStringSet("emails", new HashSet<String>());
return new ArrayList<>(set);
}
}