package com.rava.voting.utils; import android.content.Context; import android.content.SharedPreferences; import android.preference.PreferenceManager; import android.util.Log; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.rava.voting.R; import com.rava.voting.model.User; import com.rava.voting.ui.PreferencesActivity; /** * Provides application settings */ public class SettingsManager { private static Context sContext; private static SharedPreferences sPreferences; private static final String KEY_USER = "key_user"; private SettingsManager() { } public static void init(Context c) { sContext = c; PreferenceManager.setDefaultValues(c, R.xml.preferences_connection, true); sPreferences = PreferenceManager.getDefaultSharedPreferences(c); } public static String getServerName() { return sPreferences .getString( PreferencesActivity.PrefsConnectionFragment.KEY_EDITTEXT_SERVER_NAME, "").trim(); } public static int getServerPort() { String temp = sPreferences .getString( PreferencesActivity.PrefsConnectionFragment.KEY_EDITTEXT_SERVER_PORT, "").trim(); int port = 0; try { port = Integer.parseInt(temp); } catch (NumberFormatException e) { } return port; } public static void saveUser(User user) { Gson gson = new GsonBuilder().create(); String userJson = gson.toJson(user); Log.i("user to prefs", userJson); SharedPreferences.Editor editor = sPreferences.edit(); editor.putString(KEY_USER, userJson); editor.commit(); } public static void clearUser() { SharedPreferences.Editor editor = sPreferences.edit(); editor.remove(KEY_USER); editor.commit(); } public static User getUser() { Gson gson = new GsonBuilder().create(); String userJson = sPreferences.getString(KEY_USER, ""); Log.i("user from prefs", userJson); if (userJson.isEmpty()) return null; User user = gson.fromJson(userJson, User.class); return user; } }