package com.barcicki.trio.core;
import android.content.Context;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
public class TrioSettings {
public static final String MUSIC = "play_music";
public static final String SOUNDS = "play_sounds";
public static final String SAVED_GAME = "saved_game";
public static final String DISPLAY_ERRORS = "display_errors";
public static final String SEEN_CLASSIC = "seen_classic";
public static final String SEEN_TRIPLE = "seen_practice";
public static final String SEEN_SPEED = "seen_speed";
public static final String HAVE_PLAYED = "have_played";
private static boolean isInitialized = false;
private static Context settingsContext = null;
public static void initialize(Context context) {
if (!isInitialized) {
settingsContext = context;
isInitialized = true;
}
}
private static boolean writeBooleanPreference(String preferenceName, boolean value) {
if (!isInitialized) {
return false;
}
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(settingsContext);
SharedPreferences.Editor ed = prefs.edit();
ed.putBoolean(preferenceName, value);
return ed.commit();
}
private static boolean readBooleanPreference(String preferenceName, boolean defaultValue) {
if (!isInitialized) {
return defaultValue;
}
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(settingsContext);
return prefs.getBoolean(preferenceName, defaultValue);
}
public static boolean displaysWhatIsWrong() {
return readBooleanPreference(DISPLAY_ERRORS, true);
}
public static boolean setDisplaysWhatIsWrong(boolean value) {
return writeBooleanPreference(DISPLAY_ERRORS, value);
}
public static boolean isSavedGamePresent() {
return readBooleanPreference(SAVED_GAME, false);
}
public static boolean setSavedGamePresence(boolean value) {
return writeBooleanPreference(SAVED_GAME, value);
}
public static boolean isMusicEnabled() {
return readBooleanPreference(MUSIC, true);
}
public static boolean setMusicEnabled(boolean value) {
return writeBooleanPreference(MUSIC, value);
}
public static boolean isSoundEffectsEnabled() {
return readBooleanPreference(SOUNDS, true);
}
public static boolean setSoundeEffectsEnabled(boolean value) {
return writeBooleanPreference(SOUNDS, value);
}
public static boolean hasSeenClassicHelp() {
return readBooleanPreference(SEEN_CLASSIC, false);
}
public static boolean hasSeenTripleHelp() {
return readBooleanPreference(SEEN_TRIPLE, false);
}
public static boolean hasSeenSpeedHelp() {
return readBooleanPreference(SEEN_SPEED, false);
}
public static boolean hasPlayed() {
return readBooleanPreference(HAVE_PLAYED, false);
}
public static boolean setSeenClassicHelp(boolean value) {
return writeBooleanPreference(SEEN_CLASSIC, value);
}
public static boolean setSeenTripleHelp(boolean value) {
return writeBooleanPreference(SEEN_TRIPLE, value);
}
public static boolean setSeenSpeedHelp(boolean value) {
return writeBooleanPreference(SEEN_SPEED, value);
}
public static boolean setHavePlayed(boolean value) {
return writeBooleanPreference(HAVE_PLAYED, value);
}
}