X-Git-Url: http://www.average.org/gitweb/?p=WhereAmI.git;a=blobdiff_plain;f=src%2Forg%2Faverage%2Fwhereami%2FLastLocation.java;h=5899bf5b24d1e6f09adb4ea84752d1d1315881ba;hp=99911c37afa8398714483de88b1dc4393287bc0c;hb=HEAD;hpb=99db21a723e47ecd70fa490795379ab2344469dd diff --git a/src/org/average/whereami/LastLocation.java b/src/org/average/whereami/LastLocation.java index 99911c3..5899bf5 100644 --- a/src/org/average/whereami/LastLocation.java +++ b/src/org/average/whereami/LastLocation.java @@ -1,11 +1,15 @@ package org.average.whereami; import org.average.whereami.APIBase; +import org.average.whereami.Oracle; +import org.average.whereami.Utterance; import org.average.whereami.PersistentStore; import org.average.whereami.SayWhen; import java.lang.Math; import java.io.IOException; +import java.net.UnknownHostException; +import org.apache.http.conn.HttpHostConnectException; import com.google.api.client.googleapis.json.GoogleJsonResponseException; import com.google.api.client.http.HttpResponseException; @@ -48,7 +52,7 @@ public final class LastLocation extends Oracle { } @Override - public final String getResult() { + public final Utterance getResult() { try { Log.v(TAG, "entering getResult"); Latitude.CurrentLocation.Get request = @@ -61,20 +65,33 @@ public final class LastLocation extends Oracle { cloc.getLongitude().toString()); Long tsm = Long.parseLong( cloc.getTimestampMs().toString()); - return locationMessage(lat, lon, tsm); + return new Utterance(true, + locationMessage(lat, lon, tsm)); } catch (GoogleJsonResponseException e) { Log.e(TAG, "GoogleJsonResponseException: " + e); if (e.getResponse().getStatusCode() == 401) { - return base.authErrorMessage; + return new Utterance(false, + base.authErrorMessage + "\n" + + e.getMessage()); } else { - return e.getMessage(); + return new Utterance(false, e.getMessage()); } } catch (HttpResponseException e) { Log.e(TAG, "HttpResponseException: " + e); - return e.getMessage(); + return new Utterance(false, e.getMessage()); + } catch (UnknownHostException e) { + Log.e(TAG, "UnknownHostException: " + e); + return new Utterance(false, + base.connectErrorMessage + "\n" + + e.getMessage()); + } catch (HttpHostConnectException e) { + Log.e(TAG, "HttpHostConnectException: " + e); + return new Utterance(false, + base.connectErrorMessage + "\n" + + e.getMessage()); } catch (IOException e) { - e.printStackTrace(); - return e.getMessage(); + Log.e(TAG, "IOException: " + e); + return new Utterance(false, e.getMessage()); } } @@ -88,8 +105,9 @@ public final class LastLocation extends Oracle { 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") || + " is " + dist + + ", threshold " + loc_dists[i]); + if ((loc_dists[i].equals("0")) || (dist < Double.parseDouble(loc_dists[i]))) { locmsg = loc_names[i]; break;