X-Git-Url: http://www.average.org/gitweb/?p=WhereAmI.git;a=blobdiff_plain;f=src%2Forg%2Faverage%2Fwhereami%2FPersistentStore.java;fp=src%2Forg%2Faverage%2Fwhereami%2FPersistentStore.java;h=595fbf75b3170e2d2a2d49c97fb027eb8e32a659;hp=0000000000000000000000000000000000000000;hb=037cb8fe34228adc45247498dff852a1af8d304f;hpb=0d57ad853b17a0cf6f4a3e2c7372ba6580f3c379 diff --git a/src/org/average/whereami/PersistentStore.java b/src/org/average/whereami/PersistentStore.java new file mode 100644 index 0000000..595fbf7 --- /dev/null +++ b/src/org/average/whereami/PersistentStore.java @@ -0,0 +1,64 @@ +package org.average.whereami; + +import android.content.Context; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; + +import com.google.api.client.auth.oauth2.draft10.AccessTokenResponse; + +public class PersistentStore { + + private static final String ACCESS_TOKEN = "access_token"; + private static final String EXPIRES_IN = "expires_in"; + private static final String REFRESH_TOKEN = "refresh_token"; + private static final String SCOPE = "scope"; + + private SharedPreferences prefs; + + public PersistentStore(SharedPreferences prefs) { + this.prefs = prefs; + } + + public AccessTokenResponse read() { + AccessTokenResponse accessTokenResponse = new AccessTokenResponse(); + accessTokenResponse.accessToken = prefs.getString(ACCESS_TOKEN, ""); + accessTokenResponse.expiresIn = prefs.getLong(EXPIRES_IN, 0); + accessTokenResponse.refreshToken = prefs.getString(REFRESH_TOKEN, ""); + accessTokenResponse.scope = prefs.getString(SCOPE, ""); + return accessTokenResponse; + } + + public void write(AccessTokenResponse accessTokenResponse) { + Editor editor = prefs.edit(); + editor.putString(ACCESS_TOKEN,accessTokenResponse.accessToken); + editor.putLong(EXPIRES_IN,accessTokenResponse.expiresIn); + editor.putString(REFRESH_TOKEN,accessTokenResponse.refreshToken); + editor.putString(SCOPE,accessTokenResponse.scope); + editor.commit(); + } + + public void clear() { + Editor editor = prefs.edit(); + editor.remove(ACCESS_TOKEN); + editor.remove(EXPIRES_IN); + editor.remove(REFRESH_TOKEN); + editor.remove(SCOPE); + editor.commit(); + } + + public void updateAccessToken(String accessToken) { + Editor editor = prefs.edit(); + editor.putString(ACCESS_TOKEN,accessToken); + editor.commit(); + } + + public String get(String key) { + return prefs.getString(key, ""); + } + + public void put(String key, String value) { + Editor editor = prefs.edit(); + editor.putString(key, value); + editor.commit(); + } +}