X-Git-Url: http://www.average.org/gitweb/?p=WhereAmI.git;a=blobdiff_plain;f=src%2Forg%2Faverage%2Fwhereami%2FPhoneLog.java;h=6e13f2f4422248e5899c41f56259652d4fc2df57;hp=ff64fa9b3863aaf9092064a3205bf51c34f9d840;hb=e7ecf60a526f2f410d586895429e208370517bc9;hpb=816e15ad1c9de478be113a53a51b483791503c30 diff --git a/src/org/average/whereami/PhoneLog.java b/src/org/average/whereami/PhoneLog.java index ff64fa9..6e13f2f 100644 --- a/src/org/average/whereami/PhoneLog.java +++ b/src/org/average/whereami/PhoneLog.java @@ -1,6 +1,7 @@ package org.average.whereami; import org.average.whereami.PersistentStore; +import org.average.whereami.SayWhen; import java.io.IOException; @@ -32,23 +33,40 @@ public final class PhoneLog extends Oracle { private String calendar_id; private String nocalendar; private String noevents; + private String last_call; + 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); this.store = store; nocalendar = res.getString(R.string.nocalendar); noevents = res.getString(R.string.noevents); + last_call = res.getString(R.string.last_call); + 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 == "") { @@ -135,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; } } @@ -167,12 +185,26 @@ public final class PhoneLog extends Oracle { Boolean latestWasOutgoing) { Time stime = new Time(); stime.set(latestStartTime); - Long durms = latestStopTime - latestStartTime; + Long dur = (latestStopTime - latestStartTime) / 60000L; Log.v(TAG, "Chosen event: start " + stime + - " for " + durms + " msec"); - Long nowms = System.currentTimeMillis(); - return "" + (latestWasOutgoing?"Out ":"In ") + - (durms/3600000) + " min " + - stime.format("%H:%M"); + " for " + dur + " min"); + String minutes; + 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 % 10) < 5) { + minutes = minutes2to4; + } else { + minutes = minutes5up; + } + return last_call + + " " + (latestWasOutgoing?out_call:in_call) + + " " + sayWhen.say(latestStartTime) + + " " + duration + " " + howlong + " " + minutes; } }