+
+ final String TAG = getClass().getName();
+
+ static public PersistentStore store;
+ static public HttpTransport httpTransport =
+ AndroidHttp.newCompatibleTransport();
+ static public JsonFactory jsonFactory = new JacksonFactory();
+ static public String authErrorMessage;
+
+ public Oracle(final Resources res, final PersistentStore store) {
+ authErrorMessage = res.getString(R.string.autherror);
+ this.store = store;
+ }
+
+ private class MyAccessProtectedResource
+ extends GoogleAccessProtectedResource {
+
+ public MyAccessProtectedResource(
+ String accessToken,
+ HttpTransport transport,
+ JsonFactory jsonFactory,
+ String clientId,
+ String clientSecret,
+ String refreshToken) {
+ super(accessToken, transport, jsonFactory,
+ clientId, clientSecret, refreshToken);
+ }
+
+ @Override
+ public void onAccessToken(String accessToken) {
+ Log.v(TAG, "Update access token to \""
+ + accessToken + "\"");
+ store.updateAccessToken( accessToken);
+ }
+
+ @Override
+ protected boolean executeRefreshToken() throws IOException {
+ Log.v(TAG, "executeRefreshToken was called");
+ return super.executeRefreshToken();
+ }
+ }
+
+ public MyAccessProtectedResource
+ newMyAccessProtectedResource() {
+ AccessTokenResponse token = store.readTokens();
+ Log.v(TAG, "tokens - access: \"" + token.accessToken +
+ "\", refresh: \"" + token.refreshToken +
+ "\", client_id: \"" + ClientCredentials.CLIENT_ID +
+ "\", client_secret: \"" +
+ ClientCredentials.CLIENT_SECRET +
+ "\"");
+ return new MyAccessProtectedResource(
+ token.accessToken, httpTransport, jsonFactory,
+ ClientCredentials.CLIENT_ID,
+ ClientCredentials.CLIENT_SECRET,
+ token.refreshToken);
+ }
+
+ abstract public String getResult();