import java.io.IOException;
import org.average.whereami.ClientCredentials;
+import org.average.whereami.CredentialStore;
import android.app.Activity;
import android.os.Bundle;
ClientCredentials.CLIENT_SECRET,
code,
ClientCredentials.REDIRECT_URI).execute();
- storeTokens(accessTokenResponse);
+ CredentialStore credentialStore =
+ new CredentialStore(prefs);
+ credentialStore.write(accessTokenResponse);
finish();
//view.setVisibility(View.INVISIBLE);
//startActivity(new Intent(Authorize.this,
// WhereAmI.class));
} else if (url.indexOf("error=")!=-1) {
- clearTokens();
+ new CredentialStore(prefs).clear();
finish();
//view.setVisibility(View.INVISIBLE);
//startActivity(new Intent(Authorize.this,
ClientCredentials.REDIRECT_URI.length()+7,
url.length());
}
-
- private void storeTokens(AccessTokenResponse accessTokenResponse) {
- Log.w(TAG, "Storing tokens: " + 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();
- }
-
- private void clearTokens() {
- Log.w(TAG, "Clear tokens");
- Editor editor = prefs.edit();
- editor.remove(ACCESS_TOKEN);
- editor.remove(EXPIRES_IN);
- editor.remove(REFRESH_TOKEN);
- editor.remove(SCOPE);
- editor.commit();
- }
});
webview.loadUrl(authorizationUrl);
--- /dev/null
+package org.average.whereami;
+
+import android.content.SharedPreferences;
+import android.content.SharedPreferences.Editor;
+
+import com.google.api.client.auth.oauth2.draft10.AccessTokenResponse;
+
+public class CredentialStore {
+
+ 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 CredentialStore(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();
+ }
+}