]> www.average.org Git - WhereAmI.git/blobdiff - src/org/average/whereami/PhoneLog.java
make one retry on failure
[WhereAmI.git] / src / org / average / whereami / PhoneLog.java
index 2e2b30b7f7c075dd85f932bcbb04ad31492c2c93..cf904c67a5038e5e515a2fbdf23bdb515bc07538 100644 (file)
@@ -1,6 +1,8 @@
 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;
 
@@ -66,32 +68,37 @@ public final class PhoneLog extends Oracle {
        }
 
        @Override
-       public final String getResult() {
+       public final Utterance getResult() {
                try {
                        Log.v(TAG, "entering getResult");
                        if (calendar_id == null || calendar_id == "") {
                                calendar_id = scanCalendars(calendar_name);
                        }
                        if (calendar_id == null || calendar_id == "") {
-                               return nocalendar + " \"" +
-                                       calendar_name + "\"";
+                               return new Utterance(true,
+                                       nocalendar + " \"" +
+                                       calendar_name + "\"");
                        } else {
                                base.store.put("calendar_id", calendar_id);
-                               return scanEvents(calendar_id, peer_name);
+                               return new Utterance(true,
+                                       scanEvents(calendar_id, peer_name));
                        }
                } 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 (IOException e) {
-                       e.printStackTrace();
-                       return e.getMessage();
+                       Log.e(TAG, "IOException: " + e);
+                       return new Utterance(false, e.getMessage());
                }
        }