Merge pull request #740 from owncloud/revert-669-master
[pub/Android/ownCloud.git] / src / com / owncloud / android / utils / DisplayUtils.java
index 8c4c492..da81f53 100644 (file)
@@ -27,8 +27,12 @@ import java.util.HashSet;
 import java.util.Set;\r
 \r
 import android.annotation.TargetApi;\r
 import java.util.Set;\r
 \r
 import android.annotation.TargetApi;\r
+import android.content.Context;\r
 import android.os.Build;\r
 import android.os.Build;\r
+import android.text.format.DateFormat;\r
+import android.text.format.DateUtils;\r
 \r
 \r
+import com.owncloud.android.MainApp;\r
 import com.owncloud.android.R;\r
 \r
 /**\r
 import com.owncloud.android.R;\r
 \r
 /**\r
@@ -39,6 +43,8 @@ import com.owncloud.android.R;
  */\r
 public class DisplayUtils {\r
     \r
  */\r
 public class DisplayUtils {\r
     \r
+    private static final String OWNCLOUD_APP_NAME = "ownCloud";\r
+\r
     //private static String TAG = DisplayUtils.class.getSimpleName(); \r
     \r
     private static final String[] sizeSuffixes = { "B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB" };\r
     //private static String TAG = DisplayUtils.class.getSimpleName(); \r
     \r
     private static final String[] sizeSuffixes = { "B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB" };\r
@@ -233,7 +239,8 @@ public class DisplayUtils {
     \r
     \r
     public static int getSeasonalIconId() {\r
     \r
     \r
     public static int getSeasonalIconId() {\r
-        if (Calendar.getInstance().get(Calendar.DAY_OF_YEAR) >= 354) {\r
+        if (Calendar.getInstance().get(Calendar.DAY_OF_YEAR) >= 354 &&\r
+                MainApp.getAppContext().getString(R.string.app_name).equals(OWNCLOUD_APP_NAME)) {\r
             return R.drawable.winter_holidays_icon;\r
         } else {\r
             return R.drawable.icon;\r
             return R.drawable.winter_holidays_icon;\r
         } else {\r
             return R.drawable.icon;\r
@@ -270,4 +277,47 @@ public class DisplayUtils {
             return url;\r
         }\r
     }\r
             return url;\r
         }\r
     }\r
+\r
+    /**\r
+     * Get the file extension if it is on path as type "content://.../DocInfo.doc"\r
+     * @param filepath: Content Uri converted to string format\r
+     * @return String: fileExtension (type '.pdf'). Empty if no extension\r
+     */\r
+    public static String getComposedFileExtension(String filepath) {\r
+        String fileExtension = "";\r
+        String fileNameInContentUri = filepath.substring(filepath.lastIndexOf("/"));\r
+\r
+        // Check if extension is included in uri\r
+        int pos = fileNameInContentUri.lastIndexOf('.');\r
+        if (pos >= 0) {\r
+            fileExtension = fileNameInContentUri.substring(pos);\r
+        }\r
+        return fileExtension;\r
+    }\r
+\r
+    public static CharSequence getRelativeDateTimeString(Context c, long time, long minResolution, long transitionResolution, int flags){\r
+        CharSequence dateString = "";\r
+        \r
+        // in Future\r
+        if (time > System.currentTimeMillis()){\r
+            return DisplayUtils.unixTimeToHumanReadable(time);\r
+        } \r
+        // < 60 seconds -> seconds ago\r
+        else if ((System.currentTimeMillis() - time) < 60 * 1000) {\r
+            return c.getString(R.string.file_list_seconds_ago);\r
+        } else {\r
+            // Workaround 2.x bug (see https://github.com/owncloud/android/issues/716)\r
+            if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.HONEYCOMB && (System.currentTimeMillis() - time) > 24 * 60 * 60 * 1000){\r
+                Date date = new Date(time);\r
+                date.setHours(0);\r
+                date.setMinutes(0);\r
+                date.setSeconds(0);\r
+                dateString = DateUtils.getRelativeDateTimeString(c, date.getTime(), minResolution, transitionResolution, flags);\r
+            } else {\r
+                dateString = DateUtils.getRelativeDateTimeString(c, time, minResolution, transitionResolution, flags);\r
+            }\r
+        }\r
+        \r
+        return dateString.toString().split(",")[0];
+    }\r
 }\r
 }\r