X-Git-Url: http://www.average.org/gitweb/?p=WhereAmI.git;a=blobdiff_plain;f=src%2Forg%2Faverage%2Fwhereami%2FLastLocation.java;h=ba6722854bb7c1635ccebc956ee58ec00147a36d;hp=f911b6bd3e6412dc72281d3b74141204ae6b21fa;hb=ead6205fe0e2f7f14d8d1f6a62292508112be96d;hpb=fc90003666d07349f68ef0382b1e318a3ff2a3d3 diff --git a/src/org/average/whereami/LastLocation.java b/src/org/average/whereami/LastLocation.java index f911b6b..ba67228 100644 --- a/src/org/average/whereami/LastLocation.java +++ b/src/org/average/whereami/LastLocation.java @@ -1,6 +1,7 @@ package org.average.whereami; -import org.average.whereami.CredentialStore; +import org.average.whereami.PersistentStore; +import org.average.whereami.SayWhen; import java.lang.Math; import java.io.IOException; @@ -20,36 +21,27 @@ public final class LastLocation extends Oracle { final String TAG = getClass().getName(); - private Latitude latitude; - private String[] loc_names; private String[] loc_lats; private String[] loc_lons; private String[] loc_dists; private String myname; - private String timestamp; - private String longago; - private String lessthanhour; - private String onehour; - private String hours2to4; - private String hours5up; + private String registered; + private SayWhen sayWhen; + private Latitude latitude; - public LastLocation(final Resources res, final CredentialStore store) { + 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); - timestamp = res.getString(R.string.timestamp); - longago = res.getString(R.string.longago); - lessthanhour = res.getString(R.string.lessthanhour); - onehour = res.getString(R.string.onehour); - hours2to4 = res.getString(R.string.hours2to4); - hours5up = res.getString(R.string.hours5up); - + registered = res.getString(R.string.registered); + sayWhen = new SayWhen(res); latitude = Latitude.builder(httpTransport, jsonFactory) - .setHttpRequestInitializer(accessProtectedResource) + .setHttpRequestInitializer( + newMyAccessProtectedResource()) .setApplicationName("WhereAmI/1.0").build(); } @@ -69,14 +61,14 @@ public final class LastLocation extends Oracle { cloc.getTimestampMs().toString()); return locationMessage(lat, lon, tsm); } catch (GoogleJsonResponseException e) { - Log.v(TAG, "GoogleJsonResponseException: " + e); + Log.e(TAG, "GoogleJsonResponseException: " + e); if (e.getResponse().getStatusCode() == 401) { return authErrorMessage; } else { return e.getMessage(); } } catch (HttpResponseException e) { - Log.v(TAG, "HttpResponseException: " + e); + Log.e(TAG, "HttpResponseException: " + e); return e.getMessage(); } catch (IOException e) { e.printStackTrace(); @@ -101,20 +93,8 @@ public final class LastLocation extends Oracle { break; } } - Long ago = (System.currentTimeMillis() - tsm) / 3600000; - if (ago < 1) { - agomsg = lessthanhour; - } else if (ago < 2) { - agomsg = onehour; - } else if (ago < 5) { - agomsg = "" + ago + " " + hours2to4; - } else if (ago < 24) { - agomsg = "" + ago + " " + hours5up; - } else { - agomsg = longago; - } - return myname + " " + locmsg + ", " + timestamp + - " " + agomsg; + return myname + " " + locmsg + ", " + registered + + " " + sayWhen.say(tsm); } private Double toRad(Double deg) {