1 package org.average.whereami;
3 import android.content.Context;
4 import android.content.SharedPreferences;
5 import android.content.SharedPreferences.Editor;
7 import com.google.api.client.auth.oauth2.draft10.AccessTokenResponse;
9 public class PersistentStore {
11 private static final String ACCESS_TOKEN = "access_token";
12 private static final String EXPIRES_IN = "expires_in";
13 private static final String REFRESH_TOKEN = "refresh_token";
14 private static final String SCOPE = "scope";
16 private SharedPreferences prefs;
18 public PersistentStore(SharedPreferences prefs) {
22 public AccessTokenResponse readTokens() {
23 AccessTokenResponse accessTokenResponse = new AccessTokenResponse();
24 accessTokenResponse.accessToken = prefs.getString(ACCESS_TOKEN, "");
25 accessTokenResponse.expiresIn = prefs.getLong(EXPIRES_IN, 0);
26 accessTokenResponse.refreshToken = prefs.getString(REFRESH_TOKEN, "");
27 accessTokenResponse.scope = prefs.getString(SCOPE, "");
28 return accessTokenResponse;
31 public void writeTokens(AccessTokenResponse accessTokenResponse) {
32 Editor editor = prefs.edit();
33 editor.putString(ACCESS_TOKEN,accessTokenResponse.accessToken);
34 editor.putLong(EXPIRES_IN,accessTokenResponse.expiresIn);
35 editor.putString(REFRESH_TOKEN,accessTokenResponse.refreshToken);
36 editor.putString(SCOPE,accessTokenResponse.scope);
40 public void clearTokens() {
41 Editor editor = prefs.edit();
42 editor.remove(ACCESS_TOKEN);
43 editor.remove(EXPIRES_IN);
44 editor.remove(REFRESH_TOKEN);
49 public void updateAccessToken(String accessToken) {
50 Editor editor = prefs.edit();
51 editor.putString(ACCESS_TOKEN,accessToken);
55 public String get(String key) {
56 return prefs.getString(key, "");
59 public void put(String key, String value) {
60 Editor editor = prefs.edit();
61 editor.putString(key, value);