X-Git-Url: http://www.average.org/gitweb/?p=WhereAmI.git;a=blobdiff_plain;f=src%2Forg%2Faverage%2Fwhereami%2FSayWhen.java;fp=src%2Forg%2Faverage%2Fwhereami%2FSayWhen.java;h=21196ffe654d7df66c7d0138a18efddf1bec7031;hp=0000000000000000000000000000000000000000;hb=9cc761c03fc2da437a596df5c6cbec3cd01fcf2a;hpb=902f7d8ee32a0d9c929835efe8327c8a340a6b5b diff --git a/src/org/average/whereami/SayWhen.java b/src/org/average/whereami/SayWhen.java new file mode 100644 index 0000000..21196ff --- /dev/null +++ b/src/org/average/whereami/SayWhen.java @@ -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"); + } + } +}