]> www.average.org Git - WhereAmI.git/blobdiff - src/org/average/whereami/SayWhen.java
SayWhen a separate class
[WhereAmI.git] / src / org / average / whereami / SayWhen.java
diff --git a/src/org/average/whereami/SayWhen.java b/src/org/average/whereami/SayWhen.java
new file mode 100644 (file)
index 0000000..21196ff
--- /dev/null
@@ -0,0 +1,33 @@
+package org.average.whereami;
+
+import android.content.res.Resources;
+import android.text.format.Time;
+import android.util.Log;
+
+public class SayWhen {
+
+       private String s_at;
+       private String yesterday;
+
+       public SayWhen(final Resources res) {
+               s_at = res.getString(R.string.s_at);
+               yesterday = res.getString(R.string.yesterday);
+       }
+
+       public String say(Long when) {
+               Long now = System.currentTimeMillis();
+               Time tnow = new Time();
+               tnow.set(now);
+               Time twhen = new Time();
+               twhen.set(when);
+               Boolean datechange = tnow.monthDay != twhen.monthDay;
+               Long hoursago = (System.currentTimeMillis() - when) / 3600000;
+               if (hoursago > 24) {
+                       return s_at + twhen.format(" %H:%M %d/%m/%Y");
+               } else if ((tnow.hour > 4 || hoursago > 12) && datechange) {
+                       return yesterday + " " + s_at + twhen.format(" %H:%M");
+               } else {
+                       return s_at + twhen.format(" %H:%M");
+               }
+       }
+}