]> www.average.org Git - WhereAmI.git/blobdiff - src/org/average/whereami/PhoneLog.java
prototype for Calendar
[WhereAmI.git] / src / org / average / whereami / PhoneLog.java
index cf157a4b3cabb9ebfae70748d2a233cb6b262c26..8522e841b05df02c524bf0975c8dcecb16b83969 100644 (file)
@@ -1,30 +1,79 @@
 package org.average.whereami;
 
+import org.average.whereami.CredentialStore;
+
+//import java.lang.Long;
+
 import com.google.api.client.extensions.android2.AndroidHttp;
-import com.google.api.client.googleapis.GoogleHeaders;
-import com.google.api.client.http.HttpRequest;
-import com.google.api.client.http.HttpResponse;
+import com.google.api.client.auth.oauth2.draft10.AccessTokenResponse;
+import com.google.api.client.googleapis.auth.oauth2.draft10.GoogleAccessProtectedResource;
 import com.google.api.client.http.HttpResponseException;
 import com.google.api.client.http.HttpTransport;
+import com.google.api.client.http.javanet.NetHttpTransport;
+import com.google.api.client.json.JsonFactory;
+import com.google.api.client.json.jackson.JacksonFactory;
 import com.google.api.client.util.DateTime;
+import com.google.api.services.calendar.Calendar;
+import com.google.api.services.calendar.CalendarRequest;
+import com.google.api.services.calendar.model.CalendarList;
+import com.google.api.services.calendar.model.CalendarListEntry;
+import com.google.api.services.calendar.model.Event;
+import com.google.api.services.calendar.model.Events;
+import com.google.common.collect.Lists;
 
-//import com.google.api.services.calendar.CalendarClient;
-//import com.google.api.services.calendar.CalendarRequestInitializer;
-//import com.google.api.services.calendar.CalendarUrl;
-//import com.google.api.services.calendar.model.CalendarEntry;
-//import com.google.api.services.calendar.model.CalendarFeed;
-//import com.google.common.collect.Lists;
-
+import android.content.Context;
+import android.content.SharedPreferences;
 import android.util.Log;
-import android.os.SystemClock;
 
 public final class PhoneLog extends Oracle {
 
        final String TAG = getClass().getName();
 
+       private Calendar calendar;
+
+       public PhoneLog(final CredentialStore store) {
+               HttpTransport transport = AndroidHttp.newCompatibleTransport();
+               JsonFactory jsonFactory = new JacksonFactory();
+               AccessTokenResponse token = store.read();
+               Log.v(TAG, "tokens - access: \"" + token.accessToken +
+                       "\", refresh: \"" + token.refreshToken +
+                       "\", client_id: \"" + ClientCredentials.CLIENT_ID +
+                       "\", client_secret: \"" +
+                                       ClientCredentials.CLIENT_SECRET +
+                       "\"");
+               GoogleAccessProtectedResource accessProtectedResource =
+                       new GoogleAccessProtectedResource(
+                               token.accessToken,
+                               transport, jsonFactory,
+                               ClientCredentials.CLIENT_ID,
+                               ClientCredentials.CLIENT_SECRET,
+                               token.refreshToken)
+                               {
+                                       @Override
+                                       public void onAccessToken(
+                                                       String accessToken) {
+                                               Log.v(TAG, "Update access token to \"" + accessToken + "\"");
+                                               store.updateAccessToken(
+                                                       accessToken);
+                                       }
+                               }
+                               ;
+               Calendar.Builder cbldr = Calendar.builder(transport,
+                                                               jsonFactory);
+               cbldr.setHttpRequestInitializer(accessProtectedResource);
+               cbldr.setApplicationName("WhereAmI/1.0");
+               calendar = cbldr.build();
+       }
+
        @Override
        public final String getResult() {
-               SystemClock.sleep(5000);
-               return "Response from PhoneLog.getResult";
+               try {
+                       Log.v(TAG, "entering getResult");
+                       return TAG + " complete";
+                } catch (Exception ex) {
+                       Log.v(TAG, "exception in getResult: " + ex);
+                       ex.printStackTrace();
+                       return ex.getMessage();
+                }
        }
 }