package io.kaif.mobile.model.oauth;
import javax.inject.Inject;
import javax.inject.Singleton;
import com.google.gson.Gson;
import android.content.SharedPreferences;
@Singleton
public class AccessTokenManager {
public static final String ACCESS_TOKEN_KEY = "ACCESS_TOKEN";
SharedPreferences preference;
Gson gson;
@Inject
public AccessTokenManager(SharedPreferences preference, Gson gson) {
this.gson = gson;
this.preference = preference;
}
public boolean hasAccount() {
return preference.contains(ACCESS_TOKEN_KEY);
}
public void signOut() {
preference.edit().remove(ACCESS_TOKEN_KEY).apply();
}
public void saveAccount(AccessTokenInfo accessTokenInfo) {
preference.edit().putString(ACCESS_TOKEN_KEY, gson.toJson(accessTokenInfo)).apply();
}
public AccessTokenInfo findAccount() {
return gson.fromJson(preference.getString(ACCESS_TOKEN_KEY, null), AccessTokenInfo.class);
}
}