X-Git-Url: http://www.average.org/gitweb/?p=WhereAmI.git;a=blobdiff_plain;f=src%2Forg%2Faverage%2Fwhereami%2FLastLocation.java;h=98b7cf09fd84a9d22e75d2c458fd14471e3b695e;hp=914a615217ddec08903f1f33dbc390bf5d8f8fd4;hb=ff11b2008ca666c719643b54a3825653168ca6da;hpb=44b9534a0dc3709450e434089b09a6039275d512 diff --git a/src/org/average/whereami/LastLocation.java b/src/org/average/whereami/LastLocation.java index 914a615..98b7cf0 100644 --- a/src/org/average/whereami/LastLocation.java +++ b/src/org/average/whereami/LastLocation.java @@ -19,6 +19,7 @@ import com.google.api.services.latitude.model.Location; import android.content.Context; import android.content.SharedPreferences; import android.content.res.Resources; +import android.text.format.Time; import android.util.Log; public final class LastLocation extends Oracle { @@ -31,12 +32,26 @@ public final class LastLocation extends Oracle { 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; public LastLocation(final Resources res, final CredentialStore 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_lons = res.getStringArray(R.array.loc_dists); + 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); HttpTransport transport = AndroidHttp.newCompatibleTransport(); JsonFactory jsonFactory = new JacksonFactory(); @@ -97,19 +112,33 @@ public final class LastLocation extends Oracle { Log.v(TAG, "entering locationMessage(" + lat + "," + lon + "," + tsm + ")"); String locmsg = ""; + String agomsg = ""; for (int i = 0; i < loc_names.length; i++) { Double dist = haversine(lat, lon, Double.parseDouble(loc_lats[i]), Double.parseDouble(loc_lons[i])); Log.v(TAG, "Dist from " + loc_names[i] + " is " + dist); - //if ((loc_dists[i] == "0") || - // (dist < Double.parseDouble(loc_dists[i]))) { - // locmsg = loc_names[i]; - // break; - //} + if ((loc_dists[i] == "0") || + (dist < Double.parseDouble(loc_dists[i]))) { + locmsg = loc_names[i]; + break; + } } - return locmsg; + 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; } private Double toRad(Double deg) {