package com.ioabsoftware.gameraven.util;
import android.content.Context;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
import java.util.UUID;
public final class AccountManager {
protected static final String ACCOUNTS_PREFNAME = "com.ioabsoftware.DroidFAQs.Accounts";
protected static String secureSalt;
/**
* list of accounts (username, password)
*/
private static SecurePreferences accounts;
public static void init(Context c) {
if (accounts == null) {
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(c);
if (settings.contains("secureSalt"))
secureSalt = settings.getString("secureSalt", null);
else {
secureSalt = UUID.randomUUID().toString();
settings.edit().putString("secureSalt", secureSalt).apply();
}
accounts = new SecurePreferences(c, ACCOUNTS_PREFNAME, secureSalt, false);
}
}
public static void addUser(Context c, String name, String pass) {
init(c);
accounts.put(name, pass);
}
public static void removeUser(Context c, String user) {
init(c);
accounts.removeValue(user);
}
public static boolean containsUser(Context c, String user) {
init(c);
return accounts.containsKey(user);
}
public static String[] getUsernames(Context c) {
init(c);
return accounts.getKeys();
}
public static String getPassword(Context c, String username) {
init(c);
return accounts.getString(username);
}
public static void clearAccounts(Context c) {
init(c);
accounts.clear();
}
}