]> www.average.org Git - WhereAmI.git/blobdiff - src/org/average/whereami/PersistentStore.java
make configurable calendar selection
[WhereAmI.git] / src / org / average / whereami / PersistentStore.java
diff --git a/src/org/average/whereami/PersistentStore.java b/src/org/average/whereami/PersistentStore.java
new file mode 100644 (file)
index 0000000..595fbf7
--- /dev/null
@@ -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();
+    }
+}