X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/d0cee8be8556d1db46ec6193b209f9ffdae104d0..9d4ce6becd3973fb8aff57a2ac2c8b9c9df8a2ec:/src/com/owncloud/android/utils/FileStorageUtils.java diff --git a/src/com/owncloud/android/utils/FileStorageUtils.java b/src/com/owncloud/android/utils/FileStorageUtils.java index b462cd95..39837717 100644 --- a/src/com/owncloud/android/utils/FileStorageUtils.java +++ b/src/com/owncloud/android/utils/FileStorageUtils.java @@ -1,5 +1,8 @@ -/* ownCloud Android client application - * Copyright (C) 2012-2013 ownCloud Inc. +/** + * ownCloud Android client application + * + * @author David A. Velasco + * Copyright (C) 2015 ownCloud Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2, @@ -36,20 +39,19 @@ import android.preference.PreferenceManager; import android.net.Uri; import android.os.Environment; import android.os.StatFs; +import android.webkit.MimeTypeMap; /** * Static methods to help in access to local file system. - * - * @author David A. Velasco */ public class FileStorageUtils { - public static Integer mSortOrder; - public static Boolean mSortAscending; public static final Integer SORT_NAME = 0; public static final Integer SORT_DATE = 1; public static final Integer SORT_SIZE = 2; - + public static Integer mSortOrder = SORT_NAME; + public static Boolean mSortAscending = true; + //private static final String LOG_TAG = "FileStorageUtils"; @@ -135,7 +137,7 @@ public class FileStorageUtils { /** * Creates and populates a new {@link RemoteFile} object with the data read from an {@link OCFile}. * - * @param oCFile OCFile + * @param ocFile OCFile * @return New RemoteFile instance representing the resource described by ocFile. */ public static RemoteFile fillRemoteFile(OCFile ocFile){ @@ -171,7 +173,7 @@ public class FileStorageUtils { /** * Sorts list by Date - * @param sortAscending true: ascending, false: descending + * @param files */ public static Vector sortByDate(Vector files){ final Integer val; @@ -239,7 +241,7 @@ public class FileStorageUtils { /** * Sorts list by Name - * @param sortAscending true: ascending, false: descending + * @param files files to sort */ public static Vector sortByName(Vector files){ final Integer val; @@ -252,7 +254,7 @@ public class FileStorageUtils { Collections.sort(files, new Comparator() { public int compare(OCFile o1, OCFile o2) { if (o1.isFolder() && o2.isFolder()) { - return val * o1.getRemotePath().toLowerCase().compareTo(o2.getRemotePath().toLowerCase()); + return val * new AlphanumComparator().compare(o1, o2); } else if (o1.isFolder()) { return -1; } else if (o2.isFolder()) { @@ -284,6 +286,21 @@ public class FileStorageUtils { return result; } return 0; - } + } + + /** + * Mimetype String of a file + * @param path + * @return + */ + public static String getMimeTypeFromName(String path) { + String extension = ""; + int pos = path.lastIndexOf('.'); + if (pos >= 0) { + extension = path.substring(pos + 1); + } + String result = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension.toLowerCase()); + return (result != null) ? result : ""; + } }