]> www.average.org Git - WhereAmI.git/blobdiff - src/org/average/whereami/LastLocation.java
make threads share one instance of GoogleAccessProtectedResource
[WhereAmI.git] / src / org / average / whereami / LastLocation.java
index 47fd4b388029a7aba3c026a0ccb4600f174b09fd..99911c37afa8398714483de88b1dc4393287bc0c 100644 (file)
@@ -1,5 +1,6 @@
 package org.average.whereami;
 
+import org.average.whereami.APIBase;
 import org.average.whereami.PersistentStore;
 import org.average.whereami.SayWhen;
 
@@ -28,23 +29,26 @@ public final class LastLocation extends Oracle {
        private String myname;
        private String registered;
        private SayWhen sayWhen;
+       private Latitude latitude;
 
-       public LastLocation(final Resources res, final PersistentStore store) {
-               super(res, store);
-               loc_names = res.getStringArray(R.array.loc_names);
-               loc_lats = res.getStringArray(R.array.loc_lats);
-               loc_lons = res.getStringArray(R.array.loc_lons);
-               loc_dists = res.getStringArray(R.array.loc_dists);
-               myname = res.getString(R.string.myname);
-               registered = res.getString(R.string.registered);
-               sayWhen = new SayWhen(res);
+       public LastLocation(APIBase base) {
+               super(base);
+               loc_names = base.res.getStringArray(R.array.loc_names);
+               loc_lats = base.res.getStringArray(R.array.loc_lats);
+               loc_lons = base.res.getStringArray(R.array.loc_lons);
+               loc_dists = base.res.getStringArray(R.array.loc_dists);
+               myname = base.res.getString(R.string.myname);
+               registered = base.res.getString(R.string.registered);
+               sayWhen = new SayWhen(base.res);
+               latitude = Latitude.builder(base.httpTransport,
+                                                       base.jsonFactory)
+                       .setHttpRequestInitializer(
+                                               base.accessProtectedResource)
+                       .setApplicationName("WhereAmI/1.0").build();
        }
 
        @Override
        public final String getResult() {
-               Latitude latitude = Latitude.builder(httpTransport, jsonFactory)
-                       .setHttpRequestInitializer(accessProtectedResource())
-                       .setApplicationName("WhereAmI/1.0").build();
                try {
                        Log.v(TAG, "entering getResult");
                        Latitude.CurrentLocation.Get request =
@@ -61,7 +65,7 @@ public final class LastLocation extends Oracle {
                } catch (GoogleJsonResponseException e) {
                        Log.e(TAG, "GoogleJsonResponseException: " + e);
                        if (e.getResponse().getStatusCode() == 401) {
-                               return authErrorMessage;
+                               return base.authErrorMessage;
                        } else {
                                return e.getMessage();
                        }