Procházet zdrojové kódy

show video placeholder correctly

tobiasKaminsky před 8 roky
rodič
revize
644f255238

+ 6 - 0
src/com/owncloud/android/datamodel/ThumbnailsCacheManager.java

@@ -91,6 +91,12 @@ public class ThumbnailsCacheManager {
                     R.drawable.file_image
             );
 
+    public static Bitmap mDefaultVideo =
+            BitmapFactory.decodeResource(
+                    MainApp.getAppContext().getResources(),
+                    R.drawable.file_movie
+            );
+
     
     public static class InitDiskCacheTask extends AsyncTask<File, Void, Void> {
 

+ 11 - 2
src/com/owncloud/android/ui/adapter/ExpandableUploadListAdapter.java

@@ -46,6 +46,7 @@ import com.owncloud.android.files.services.FileUploader;
 import com.owncloud.android.lib.common.network.OnDatatransferProgressListener;
 import com.owncloud.android.lib.common.utils.Log_OC;
 import com.owncloud.android.ui.activity.FileActivity;
+import com.owncloud.android.utils.BitmapUtils;
 import com.owncloud.android.utils.DisplayUtils;
 import com.owncloud.android.utils.MimetypeIconUtil;
 
@@ -413,7 +414,11 @@ public class ExpandableUploadListAdapter extends BaseExpandableListAdapter imple
                                         fileIcon, mParentActivity.getStorageManager(), mParentActivity.getAccount()
                                 );
                         if (thumbnail == null) {
-                            thumbnail = ThumbnailsCacheManager.mDefaultImg;
+                            if (fakeFileToCheatThumbnailsCacheManagerInterface.isVideo()) {
+                                thumbnail = ThumbnailsCacheManager.mDefaultVideo;
+                            } else {
+                                thumbnail = ThumbnailsCacheManager.mDefaultImg;
+                            }
                         }
                         final ThumbnailsCacheManager.AsyncThumbnailDrawable asyncDrawable =
                                 new ThumbnailsCacheManager.AsyncThumbnailDrawable(
@@ -445,7 +450,11 @@ public class ExpandableUploadListAdapter extends BaseExpandableListAdapter imple
                         final ThumbnailsCacheManager.ThumbnailGenerationTask task =
                                 new ThumbnailsCacheManager.ThumbnailGenerationTask(fileIcon);
                         if (thumbnail == null) {
-                            thumbnail = ThumbnailsCacheManager.mDefaultImg;
+                            if (BitmapUtils.isVideo(file)) {
+                                thumbnail = ThumbnailsCacheManager.mDefaultVideo;
+                            } else {
+                                thumbnail = ThumbnailsCacheManager.mDefaultImg;
+                            }
                         }
                         final ThumbnailsCacheManager.AsyncThumbnailDrawable asyncDrawable =
                                 new ThumbnailsCacheManager.AsyncThumbnailDrawable(

+ 5 - 1
src/com/owncloud/android/ui/adapter/FileListListAdapter.java

@@ -326,7 +326,11 @@ public class FileListListAdapter extends BaseAdapter implements ListAdapter {
                                             fileIcon, mStorageManager, mAccount
                                             );
                             if (thumbnail == null) {
-                                thumbnail = ThumbnailsCacheManager.mDefaultImg;
+                                if (file.isVideo()) {
+                                    thumbnail = ThumbnailsCacheManager.mDefaultVideo;
+                                } else {
+                                    thumbnail = ThumbnailsCacheManager.mDefaultImg;
+                                }
                             }
                             final ThumbnailsCacheManager.AsyncThumbnailDrawable asyncDrawable =
                                     new ThumbnailsCacheManager.AsyncThumbnailDrawable(

+ 5 - 1
src/com/owncloud/android/ui/adapter/LocalFileListAdapter.java

@@ -159,7 +159,11 @@ public class LocalFileListAdapter extends BaseAdapter implements ListAdapter {
                             final ThumbnailsCacheManager.ThumbnailGenerationTask task =
                                     new ThumbnailsCacheManager.ThumbnailGenerationTask(fileIcon);
                             if (thumbnail == null) {
-                                thumbnail = ThumbnailsCacheManager.mDefaultImg;
+                                if (BitmapUtils.isVideo(file)) {
+                                    thumbnail = ThumbnailsCacheManager.mDefaultVideo;
+                                } else {
+                                    thumbnail = ThumbnailsCacheManager.mDefaultImg;
+                                }
                             }
                             final ThumbnailsCacheManager.AsyncThumbnailDrawable asyncDrawable =
                         		new ThumbnailsCacheManager.AsyncThumbnailDrawable(

+ 5 - 1
src/com/owncloud/android/ui/adapter/UploaderAdapter.java

@@ -105,7 +105,11 @@ public class UploaderAdapter extends SimpleAdapter {
                             new ThumbnailsCacheManager.ThumbnailGenerationTask(fileIcon, mStorageManager, 
                                     mAccount);
                     if (thumbnail == null) {
-                        thumbnail = ThumbnailsCacheManager.mDefaultImg;
+                        if (file.isVideo()) {
+                            thumbnail = ThumbnailsCacheManager.mDefaultVideo;
+                        } else {
+                            thumbnail = ThumbnailsCacheManager.mDefaultImg;
+                        }
                     }
                     final AsyncThumbnailDrawable asyncDrawable = new AsyncThumbnailDrawable(
                             mContext.getResources(), 

+ 13 - 0
src/com/owncloud/android/utils/BitmapUtils.java

@@ -275,6 +275,19 @@ public class BitmapUtils {
         return (mimeType != null && mimeType.startsWith("image/"));
     }
 
+    /**
+     * Checks if file passed is a video
+     * @param file
+     * @return true/false
+     */
+    public static boolean isVideo(File file) {
+        Uri selectedUri = Uri.fromFile(file);
+        String fileExtension = MimeTypeMap.getFileExtensionFromUrl(selectedUri.toString().toLowerCase());
+        String mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension(fileExtension);
+
+        return (mimeType != null && mimeType.startsWith("video/"));
+    }
+
     /**
      * calculates the RGB value based on a given account name.
      *