package com.boardgamegeek.auth; import android.content.Context; import android.content.SharedPreferences; import android.preference.PreferenceManager; import android.support.annotation.Nullable; import com.crashlytics.android.Crashlytics; public class AccountUtils { private static final String KEY_PREFIX = "account_"; private static final String KEY_USERNAME = KEY_PREFIX + "username"; private static final String KEY_FULL_NAME = KEY_PREFIX + "full_name"; private static final String KEY_AVATAR_URL = KEY_PREFIX + "avatar_url"; private AccountUtils() { } public static void clearFields(final Context context) { setUsername(context, null); setFullName(context, null); setAvatarUrl(context, null); } public static void setUsername(final Context context, final String username) { setString(context, username, KEY_USERNAME); Crashlytics.setUserIdentifier(username); } public static void setFullName(final Context context, String fullName) { setString(context, fullName, KEY_FULL_NAME); } public static void setAvatarUrl(final Context context, String avatarUrl) { setString(context, avatarUrl, KEY_AVATAR_URL); } @Nullable public static String getUsername(final Context context) { return getString(context, KEY_USERNAME); } @Nullable public static String getFullName(final Context context) { return getString(context, KEY_FULL_NAME); } @Nullable public static String getAvatarUrl(final Context context) { return getString(context, KEY_AVATAR_URL); } private static void setString(Context context, String value, String key) { SharedPreferences sp = getSharedPreferences(context); sp.edit().putString(key, value).apply(); } @Nullable private static String getString(Context context, String key) { SharedPreferences sp = getSharedPreferences(context); return sp.getString(key, null); } private static SharedPreferences getSharedPreferences(final Context context) { return PreferenceManager.getDefaultSharedPreferences(context); } }