package org.average.whereami;
-import org.average.whereami.CredentialStore;
+import org.average.whereami.PersistentStore;
import com.google.api.client.extensions.android2.AndroidHttp;
import com.google.api.client.auth.oauth2.draft10.AccessTokenResponse;
import android.content.res.Resources;
import android.util.Log;
-public class Oracle {
+abstract public class Oracle {
final String TAG = getClass().getName();
public HttpTransport httpTransport;
public JsonFactory jsonFactory;
+ public PersistentStore store;
- public GoogleAccessProtectedResource accessProtectedResource;
public String authErrorMessage;
- public Oracle(final Resources res, final CredentialStore store) {
+ public Oracle(final Resources res, final PersistentStore store) {
authErrorMessage = res.getString(R.string.autherror);
+ this.store = store;
httpTransport = AndroidHttp.newCompatibleTransport();
jsonFactory = new JacksonFactory();
- AccessTokenResponse token = store.read();
+}
+
+ public GoogleAccessProtectedResource accessProtectedResource() {
+ AccessTokenResponse token = store.readTokens();
Log.v(TAG, "tokens - access: \"" + token.accessToken +
"\", refresh: \"" + token.refreshToken +
"\", client_id: \"" + ClientCredentials.CLIENT_ID +
"\", client_secret: \"" +
ClientCredentials.CLIENT_SECRET +
"\"");
- accessProtectedResource = new GoogleAccessProtectedResource(
+ return new GoogleAccessProtectedResource(
token.accessToken, httpTransport, jsonFactory,
ClientCredentials.CLIENT_ID,
ClientCredentials.CLIENT_SECRET,
};
}
- public String getResult() {
- return "<need to be overriden>";
- }
+ abstract public String getResult();
}