X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/297cb6b5c336a58a5a527da314154e4d3acf078b..f670cfad8f3d79e3b0fc53bf62b45d8122ecdb77:/src/com/owncloud/android/utils/DisplayUtils.java diff --git a/src/com/owncloud/android/utils/DisplayUtils.java b/src/com/owncloud/android/utils/DisplayUtils.java index f8e1accb..a1afb894 100644 --- a/src/com/owncloud/android/utils/DisplayUtils.java +++ b/src/com/owncloud/android/utils/DisplayUtils.java @@ -27,10 +27,13 @@ import java.util.HashSet; import java.util.Set; import android.annotation.TargetApi; +import android.content.Context; import android.os.Build; +import android.text.format.DateUtils; import com.owncloud.android.MainApp; import com.owncloud.android.R; +import com.owncloud.android.datamodel.OCFile; /** * A helper class for some string operations. @@ -291,4 +294,43 @@ public class DisplayUtils { } return fileExtension; } + + 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); + } + // < 60 seconds -> seconds ago + else if ((System.currentTimeMillis() - time) < 60 * 1000) { + return c.getString(R.string.file_list_seconds_ago); + } else { + // Workaround 2.x bug (see https://github.com/owncloud/android/issues/716) + 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]; + } + + /** + * Update the passed path removing the last "/" if it is not the root folder + * @param path + */ + public static String getPathWithoutLastSlash(String path) { + + // Remove last slash from path + if (path.length() > 1 && path.charAt(path.length()-1) == OCFile.PATH_SEPARATOR.charAt(0)) { + path = path.substring(0, path.length()-1); + } + return path; + } }