From: masensio Date: Tue, 27 May 2014 11:16:16 +0000 (+0200) Subject: Update file images, add new mimetypes to show: spreadsheets, impress, rar, rtf and 3gp X-Git-Tag: oc-android-1.7.0_signed~295^2~10 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/476bfba9e4d52088fd479582fea86ce4924092aa?ds=inline;hp=--cc Update file images, add new mimetypes to show: spreadsheets, impress, rar, rtf and 3gp --- 476bfba9e4d52088fd479582fea86ce4924092aa diff --git a/res/drawable-hdpi/file.png b/res/drawable-hdpi/file.png index 08f99372..71d73907 100644 Binary files a/res/drawable-hdpi/file.png and b/res/drawable-hdpi/file.png differ diff --git a/res/drawable-hdpi/file_doc.png b/res/drawable-hdpi/file_doc.png index 068ed572..e9c23239 100644 Binary files a/res/drawable-hdpi/file_doc.png and b/res/drawable-hdpi/file_doc.png differ diff --git a/res/drawable-hdpi/file_image.png b/res/drawable-hdpi/file_image.png index dc40bae8..bdb2e65c 100644 Binary files a/res/drawable-hdpi/file_image.png and b/res/drawable-hdpi/file_image.png differ diff --git a/res/drawable-hdpi/file_movie.png b/res/drawable-hdpi/file_movie.png index 2acfaf8d..e178ccee 100644 Binary files a/res/drawable-hdpi/file_movie.png and b/res/drawable-hdpi/file_movie.png differ diff --git a/res/drawable-hdpi/file_pdf.png b/res/drawable-hdpi/file_pdf.png index a4af2815..85c89530 100644 Binary files a/res/drawable-hdpi/file_pdf.png and b/res/drawable-hdpi/file_pdf.png differ diff --git a/res/drawable-hdpi/file_ppt.png b/res/drawable-hdpi/file_ppt.png new file mode 100644 index 00000000..4fb809eb Binary files /dev/null and b/res/drawable-hdpi/file_ppt.png differ diff --git a/res/drawable-hdpi/file_sound.png b/res/drawable-hdpi/file_sound.png index 33045afb..30f5367c 100644 Binary files a/res/drawable-hdpi/file_sound.png and b/res/drawable-hdpi/file_sound.png differ diff --git a/res/drawable-hdpi/file_xls.png b/res/drawable-hdpi/file_xls.png new file mode 100644 index 00000000..f6a2cc8d Binary files /dev/null and b/res/drawable-hdpi/file_xls.png differ diff --git a/res/drawable-hdpi/file_zip.png b/res/drawable-hdpi/file_zip.png index 398f601d..bffacb43 100644 Binary files a/res/drawable-hdpi/file_zip.png and b/res/drawable-hdpi/file_zip.png differ diff --git a/res/drawable-hdpi/ic_menu_archive.png b/res/drawable-hdpi/ic_menu_archive.png index 0bdcac5e..7d25b82b 100644 Binary files a/res/drawable-hdpi/ic_menu_archive.png and b/res/drawable-hdpi/ic_menu_archive.png differ diff --git a/res/drawable-ldpi/file.png b/res/drawable-ldpi/file.png index bbe560bb..b669fdf4 100644 Binary files a/res/drawable-ldpi/file.png and b/res/drawable-ldpi/file.png differ diff --git a/res/drawable-ldpi/file_doc.png b/res/drawable-ldpi/file_doc.png index a4070434..0ea07e3b 100644 Binary files a/res/drawable-ldpi/file_doc.png and b/res/drawable-ldpi/file_doc.png differ diff --git a/res/drawable-ldpi/file_image.png b/res/drawable-ldpi/file_image.png index b3af57ca..1bf20155 100644 Binary files a/res/drawable-ldpi/file_image.png and b/res/drawable-ldpi/file_image.png differ diff --git a/res/drawable-ldpi/file_movie.png b/res/drawable-ldpi/file_movie.png index 53bf0e78..e50c1681 100644 Binary files a/res/drawable-ldpi/file_movie.png and b/res/drawable-ldpi/file_movie.png differ diff --git a/res/drawable-ldpi/file_pdf.png b/res/drawable-ldpi/file_pdf.png index ded82499..a05afdd5 100644 Binary files a/res/drawable-ldpi/file_pdf.png and b/res/drawable-ldpi/file_pdf.png differ diff --git a/res/drawable-ldpi/file_ppt.png b/res/drawable-ldpi/file_ppt.png new file mode 100644 index 00000000..11a9cc96 Binary files /dev/null and b/res/drawable-ldpi/file_ppt.png differ diff --git a/res/drawable-ldpi/file_sound.png b/res/drawable-ldpi/file_sound.png index 6fc963f8..26e5a5fe 100644 Binary files a/res/drawable-ldpi/file_sound.png and b/res/drawable-ldpi/file_sound.png differ diff --git a/res/drawable-ldpi/file_xls.png b/res/drawable-ldpi/file_xls.png new file mode 100644 index 00000000..98553677 Binary files /dev/null and b/res/drawable-ldpi/file_xls.png differ diff --git a/res/drawable-ldpi/file_zip.png b/res/drawable-ldpi/file_zip.png index 04340f46..88d00400 100644 Binary files a/res/drawable-ldpi/file_zip.png and b/res/drawable-ldpi/file_zip.png differ diff --git a/res/drawable-ldpi/ic_menu_archive.png b/res/drawable-ldpi/ic_menu_archive.png index 7818537c..e4d0ee54 100644 Binary files a/res/drawable-ldpi/ic_menu_archive.png and b/res/drawable-ldpi/ic_menu_archive.png differ diff --git a/res/drawable-mdpi/file.png b/res/drawable-mdpi/file.png index 0a1ca52d..5fa8505f 100644 Binary files a/res/drawable-mdpi/file.png and b/res/drawable-mdpi/file.png differ diff --git a/res/drawable-mdpi/file_doc.png b/res/drawable-mdpi/file_doc.png index 95651f8e..2e7628a9 100644 Binary files a/res/drawable-mdpi/file_doc.png and b/res/drawable-mdpi/file_doc.png differ diff --git a/res/drawable-mdpi/file_image.png b/res/drawable-mdpi/file_image.png index 2b2fff49..eedd41f1 100644 Binary files a/res/drawable-mdpi/file_image.png and b/res/drawable-mdpi/file_image.png differ diff --git a/res/drawable-mdpi/file_movie.png b/res/drawable-mdpi/file_movie.png index 4c0254c4..b37e98d6 100644 Binary files a/res/drawable-mdpi/file_movie.png and b/res/drawable-mdpi/file_movie.png differ diff --git a/res/drawable-mdpi/file_pdf.png b/res/drawable-mdpi/file_pdf.png index 306ad99a..07aa2380 100644 Binary files a/res/drawable-mdpi/file_pdf.png and b/res/drawable-mdpi/file_pdf.png differ diff --git a/res/drawable-mdpi/file_ppt.png b/res/drawable-mdpi/file_ppt.png new file mode 100644 index 00000000..db7d58d2 Binary files /dev/null and b/res/drawable-mdpi/file_ppt.png differ diff --git a/res/drawable-mdpi/file_sound.png b/res/drawable-mdpi/file_sound.png index 8789e5cf..6b8b5892 100644 Binary files a/res/drawable-mdpi/file_sound.png and b/res/drawable-mdpi/file_sound.png differ diff --git a/res/drawable-mdpi/file_xls.png b/res/drawable-mdpi/file_xls.png new file mode 100644 index 00000000..b0264d78 Binary files /dev/null and b/res/drawable-mdpi/file_xls.png differ diff --git a/res/drawable-mdpi/file_zip.png b/res/drawable-mdpi/file_zip.png index 92647b83..61974b84 100644 Binary files a/res/drawable-mdpi/file_zip.png and b/res/drawable-mdpi/file_zip.png differ diff --git a/res/drawable-mdpi/ic_menu_archive.png b/res/drawable-mdpi/ic_menu_archive.png index 2c502851..7f29fbc8 100644 Binary files a/res/drawable-mdpi/ic_menu_archive.png and b/res/drawable-mdpi/ic_menu_archive.png differ diff --git a/src/com/owncloud/android/ui/adapter/FileListListAdapter.java b/src/com/owncloud/android/ui/adapter/FileListListAdapter.java index 38ade7c8..656e0042 100644 --- a/src/com/owncloud/android/ui/adapter/FileListListAdapter.java +++ b/src/com/owncloud/android/ui/adapter/FileListListAdapter.java @@ -113,7 +113,7 @@ public class FileListListAdapter extends BaseAdapter implements ListAdapter { fileName.setText(name); ImageView fileIcon = (ImageView) view.findViewById(R.id.imageView1); - fileIcon.setImageResource(DisplayUtils.getResourceId(file.getMimetype())); + fileIcon.setImageResource(DisplayUtils.getResourceId(file.getMimetype(), file.getFileName())); ImageView localStateView = (ImageView) view.findViewById(R.id.imageView2); FileDownloaderBinder downloaderBinder = mTransferServiceGetter.getFileDownloaderBinder(); FileUploaderBinder uploaderBinder = mTransferServiceGetter.getFileUploaderBinder(); diff --git a/src/com/owncloud/android/ui/fragment/FileDetailFragment.java b/src/com/owncloud/android/ui/fragment/FileDetailFragment.java index 76cee973..7a247b3d 100644 --- a/src/com/owncloud/android/ui/fragment/FileDetailFragment.java +++ b/src/com/owncloud/android/ui/fragment/FileDetailFragment.java @@ -330,7 +330,7 @@ public class FileDetailFragment extends FileFragment implements OnClickListener // set file details setFilename(file.getFileName()); - setFiletype(file.getMimetype()); + setFiletype(file.getMimetype(), file.getFileName()); setFilesize(file.getFileLength()); if(ocVersionSupportsTimeCreated()){ setTimeCreated(file.getCreationTimestamp()); @@ -383,7 +383,7 @@ public class FileDetailFragment extends FileFragment implements OnClickListener * Updates the MIME type in view * @param mimetype to set */ - private void setFiletype(String mimetype) { + private void setFiletype(String mimetype, String filename) { TextView tv = (TextView) getView().findViewById(R.id.fdType); if (tv != null) { String printableMimetype = DisplayUtils.convertMIMEtoPrettyPrint(mimetype);; @@ -391,7 +391,7 @@ public class FileDetailFragment extends FileFragment implements OnClickListener } ImageView iv = (ImageView) getView().findViewById(R.id.fdIcon); if (iv != null) { - iv.setImageResource(DisplayUtils.getResourceId(mimetype)); + iv.setImageResource(DisplayUtils.getResourceId(mimetype, filename)); } } diff --git a/src/com/owncloud/android/utils/DisplayUtils.java b/src/com/owncloud/android/utils/DisplayUtils.java index 680107b8..40bf1193 100644 --- a/src/com/owncloud/android/utils/DisplayUtils.java +++ b/src/com/owncloud/android/utils/DisplayUtils.java @@ -25,6 +25,8 @@ import java.util.HashMap; import java.util.HashSet; import java.util.Set; +import android.util.Log; + import com.owncloud.android.R; /** @@ -63,14 +65,28 @@ public class DisplayUtils { private static final String TYPE_VIDEO = "video"; private static final String SUBTYPE_PDF = "pdf"; - private static final String[] SUBTYPES_DOCUMENT = { "msword", "mspowerpoint", "msexcel", - "vnd.oasis.opendocument.presentation", - "vnd.oasis.opendocument.spreadsheet", - "vnd.oasis.opendocument.text" + private static final String[] SUBTYPES_DOCUMENT = { "msword", + "vnd.openxmlformats-officedocument.wordprocessingml.document", + "vnd.oasis.opendocument.text", + "rtf" }; private static Set SUBTYPES_DOCUMENT_SET = new HashSet(Arrays.asList(SUBTYPES_DOCUMENT)); + private static final String[] SUBTYPES_SPREADSHEET = { "msexcel", + "vnd.openxmlformats-officedocument.spreadsheetml.sheet", + "vnd.oasis.opendocument.spreadsheet" + }; + private static Set SUBTYPES_SPREADSHEET_SET = new HashSet(Arrays.asList(SUBTYPES_SPREADSHEET)); + private static final String[] SUBTYPES_PRESENTATION = { "mspowerpoint", + "vnd.openxmlformats-officedocument.presentationml.presentation", + "vnd.oasis.opendocument.presentation" + }; + private static Set SUBTYPES_PRESENTATION_SET = new HashSet(Arrays.asList(SUBTYPES_PRESENTATION)); private static final String[] SUBTYPES_COMPRESSED = {"x-tar", "x-gzip", "zip"}; private static final Set SUBTYPES_COMPRESSED_SET = new HashSet(Arrays.asList(SUBTYPES_COMPRESSED)); + private static final String SUBTYPE_OCTET_STREAM = "octet-stream"; + private static final String EXTENSION_RAR = "rar"; + private static final String EXTENSION_RTF = "rtf"; + private static final String EXTENSION_3GP = "3gp"; /** * Converts the file size in bytes to human readable output. @@ -137,7 +153,7 @@ public class DisplayUtils { * @param mimetype MIME type string. * @return Resource identifier of an image resource. */ - public static int getResourceId(String mimetype) { + public static int getResourceId(String mimetype, String filename) { if (mimetype == null || "DIR".equals(mimetype)) { return R.drawable.ic_menu_archive; @@ -167,12 +183,28 @@ public class DisplayUtils { } else if (SUBTYPES_DOCUMENT_SET.contains(subtype)) { return R.drawable.file_doc; + } else if (SUBTYPES_SPREADSHEET_SET.contains(subtype)) { + return R.drawable.file_xls; + + } else if (SUBTYPES_PRESENTATION_SET.contains(subtype)) { + return R.drawable.file_ppt; + } else if (SUBTYPES_COMPRESSED_SET.contains(subtype)) { return R.drawable.file_zip; - } - + + } else if (SUBTYPE_OCTET_STREAM.equals(subtype) ) { + if (getExtension(filename).equalsIgnoreCase(EXTENSION_RAR)) { + return R.drawable.file_zip; + + } else if (getExtension(filename).equalsIgnoreCase(EXTENSION_RTF)) { + return R.drawable.file_doc; + + } else if (getExtension(filename).equalsIgnoreCase(EXTENSION_3GP)) { + return R.drawable.file_movie; + + } + } } - // problems: RAR, RTF, 3GP are send as application/octet-stream from the server ; extension in the filename should be explicitly reviewed } // default icon @@ -180,7 +212,12 @@ public class DisplayUtils { } - + private static String getExtension(String filename) { + String extension = filename.substring(filename.lastIndexOf(".") + 1); + + return extension; + } + /** * Converts Unix time to human readable format * @param miliseconds that have passed since 01/01/1970