From: tobiasKaminsky Date: Wed, 12 Nov 2014 13:51:56 +0000 (+0100) Subject: fix Problem with < Android 3.0 X-Git-Tag: oc-android-1.7.0_signed~108^2~1 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/6e34ccb817ed13b6808a2541a5c1699fd14f89d8?hp=--cc fix Problem with < Android 3.0 --- 6e34ccb817ed13b6808a2541a5c1699fd14f89d8 diff --git a/src/com/owncloud/android/utils/DisplayUtils.java b/src/com/owncloud/android/utils/DisplayUtils.java index cdd86836..544a9236 100644 --- a/src/com/owncloud/android/utils/DisplayUtils.java +++ b/src/com/owncloud/android/utils/DisplayUtils.java @@ -279,13 +279,28 @@ public class DisplayUtils { } public static CharSequence getRelativeDateTimeString(Context c, long time, long minResolution, long transitionResolution, int flags){ + CharSequence dateString = ""; + + // in Future if (time > System.currentTimeMillis()){ return DisplayUtils.unixTimeToHumanReadable(time); - } else if ((System.currentTimeMillis() - time) < 60000) { - return c.getString(R.string.file_list_seconds_ago) + ", " + - DateFormat.getTimeFormat(c).format(new Date(time)); + } + // < 60 seconds -> seconds ago + else if ((System.currentTimeMillis() - time) < 60 * 1000) { + return c.getString(R.string.file_list_seconds_ago); } else { - return DateUtils.getRelativeDateTimeString(c, time, minResolution, transitionResolution, flags); + // Workaround 2.x bug + if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.HONEYCOMB && (System.currentTimeMillis() - time) > 24 * 60 * 60 * 1000){ + Date date = new Date(time); + date.setHours(0); + date.setMinutes(0); + date.setSeconds(0); + dateString = DateUtils.getRelativeDateTimeString(c, date.getTime(), minResolution, transitionResolution, flags); + } else { + dateString = DateUtils.getRelativeDateTimeString(c, time, minResolution, transitionResolution, flags); + } } + + return dateString.toString().split(",")[0]; } }