package example.packt.com.embeddedapp.client.oauth2; import android.content.Context; import android.content.SharedPreferences; import android.preference.PreferenceManager; public class TokenStore { private final SharedPreferences prefs; public TokenStore(Context context) { prefs = PreferenceManager.getDefaultSharedPreferences(context); } public void save(AccessToken accessToken) { SharedPreferences.Editor editor = prefs.edit(); editor.putBoolean("authorized", true); editor.putString("access_token", accessToken.getValue()); editor.putString("scope", accessToken.getScope()); editor.putString("token_type", accessToken.getTokenType()); editor.putLong("expires_in", accessToken.getExpiresIn()); editor.putLong("issued_at", accessToken.getIssuedAt()); editor.commit(); } public AccessToken getToken() { AccessToken token = null; boolean authorized = prefs.getBoolean("authorized", false); if (authorized) { token = new AccessToken(); token.setValue(prefs.getString("access_token", null)); token.setScope(prefs.getString("scope", "")); token.setTokenType(prefs.getString("token_type", "bearer")); token.setExpiresIn(prefs.getLong("expires_in", -1)); // prevents / 0 token.setIssuedAt(prefs.getLong("issued_at", -1)); // prevents / 0 } return token; } }