]> www.average.org Git - WhereAmI.git/blobdiff - src/org/average/whereami/PhoneLog.java
make accessProtectedResource a method
[WhereAmI.git] / src / org / average / whereami / PhoneLog.java
index 708b88ef3d072d4f6213a3af82f3b481167d7986..6e13f2f4422248e5899c41f56259652d4fc2df57 100644 (file)
@@ -1,6 +1,7 @@
 package org.average.whereami;
 
 import org.average.whereami.PersistentStore;
+import org.average.whereami.SayWhen;
 
 import java.io.IOException;
 
@@ -36,9 +37,11 @@ public final class PhoneLog extends Oracle {
        private String in_call;
        private String out_call;
        private String duration;
+       private String lessthan;
        private String minutes1;
        private String minutes2to4;
        private String minutes5up;
+       private SayWhen sayWhen;
 
        public PhoneLog(final Resources res, final PersistentStore store) {
                super(res, store);
@@ -49,20 +52,21 @@ public final class PhoneLog extends Oracle {
                in_call = res.getString(R.string.in_call);
                out_call = res.getString(R.string.out_call);
                duration = res.getString(R.string.duration);
+               lessthan = res.getString(R.string.lessthan);
                minutes1 = res.getString(R.string.minutes1);
                minutes2to4 = res.getString(R.string.minutes2to4);
                minutes5up = res.getString(R.string.minutes5up);
+               sayWhen = new SayWhen(res);
                calendar_name = store.get("calendar_name");
                peer_name = store.get("peer_name");
                calendar_id = store.get("calendar_id");
-
-               calendar = Calendar.builder(httpTransport, jsonFactory)
-                       .setHttpRequestInitializer(accessProtectedResource)
-                       .setApplicationName("WhereAmI/1.0").build();
        }
 
        @Override
        public final String getResult() {
+               calendar = Calendar.builder(httpTransport, jsonFactory)
+                       .setHttpRequestInitializer(accessProtectedResource())
+                       .setApplicationName("WhereAmI/1.0").build();
                try {
                        Log.v(TAG, "entering getResult");
                        if (calendar_id == null || calendar_id == "") {
@@ -149,13 +153,13 @@ public final class PhoneLog extends Oracle {
                                Log.v(TAG, "event " + evStart +
                                        " - " + evStop +
                                        " : \"" + evSummary + "\"");
-                               if ((evSummary.startsWith("Called ") ||
-                                    evSummary.startsWith("Call from ")) &&
+                               if ((evSummary.startsWith("Call To ") ||
+                                    evSummary.startsWith("Call From ")) &&
                                    evStart > latestStartTime) {
                                                latestStartTime = evStart;
                                                latestStopTime = evStop;
                                                latestWasOutgoing = evSummary
-                                                       .startsWith("Called ");
+                                                       .startsWith("Call To ");
                                                wasFound = true;
                                }
                        }
@@ -183,18 +187,24 @@ public final class PhoneLog extends Oracle {
                stime.set(latestStartTime);
                Long dur = (latestStopTime - latestStartTime) / 60000L;
                Log.v(TAG, "Chosen event: start " + stime +
-                       " for " + dur + " sec");
+                       " for " + dur + " min");
                String minutes;
-               if (dur == 1) {
+               String howlong = dur.toString();
+               if (dur == 0) {
+                       howlong = lessthan;
+                       minutes = minutes2to4;
+               } else if ((dur / 10) == 1) {
+                       minutes = minutes5up;
+               } else if ((dur % 10) == 1) {
                        minutes = minutes1;
-               } else if (dur < 5) {
+               } else if ((dur % 10) < 5) {
                        minutes = minutes2to4;
                } else {
                        minutes = minutes5up;
                }
-               return last_call + " " +
-                       (latestWasOutgoing?out_call:in_call) +
-                       " " + duration + " " + dur + " " + minutes +
-                       " " + stime.format("%H:%M");
+               return last_call +
+                       " " + (latestWasOutgoing?out_call:in_call) +
+                       " " + sayWhen.say(latestStartTime) +
+                       " " + duration + " " + howlong + " " + minutes;
        }
 }