diff options
Diffstat (limited to 'src/com/android/messaging/datamodel/data/GalleryGridItemData.java')
-rw-r--r-- | src/com/android/messaging/datamodel/data/GalleryGridItemData.java | 38 |
1 files changed, 29 insertions, 9 deletions
diff --git a/src/com/android/messaging/datamodel/data/GalleryGridItemData.java b/src/com/android/messaging/datamodel/data/GalleryGridItemData.java index 6649757..cb6fc98 100644 --- a/src/com/android/messaging/datamodel/data/GalleryGridItemData.java +++ b/src/com/android/messaging/datamodel/data/GalleryGridItemData.java @@ -26,6 +26,7 @@ import android.text.TextUtils; import com.android.messaging.datamodel.media.FileImageRequestDescriptor; import com.android.messaging.datamodel.media.ImageRequest; import com.android.messaging.datamodel.media.UriImageRequestDescriptor; +import com.android.messaging.datamodel.media.VideoThumbnailRequestDescriptor; import com.android.messaging.util.Assert; /** @@ -59,6 +60,7 @@ public class GalleryGridItemData { private UriImageRequestDescriptor mImageData; private String mContentType; private boolean mIsDocumentPickerItem; + private boolean mIsVideoItem; private long mDateSeconds; public GalleryGridItemData() { @@ -71,6 +73,10 @@ public class GalleryGridItemData { mImageData = null; mContentType = null; } else { + + String mimeType = cursor.getString(INDEX_MIME_TYPE); + mIsVideoItem = mimeType != null && mimeType.toLowerCase().contains("video/"); + int sourceWidth = cursor.getInt(INDEX_WIDTH); int sourceHeight = cursor.getInt(INDEX_HEIGHT); @@ -85,15 +91,25 @@ public class GalleryGridItemData { mContentType = cursor.getString(INDEX_MIME_TYPE); final String dateModified = cursor.getString(INDEX_DATE_MODIFIED); mDateSeconds = !TextUtils.isEmpty(dateModified) ? Long.parseLong(dateModified) : -1; - mImageData = new FileImageRequestDescriptor( - cursor.getString(INDEX_DATA_PATH), - desiredWidth, - desiredHeight, - sourceWidth, - sourceHeight, - true /* canUseThumbnail */, - true /* allowCompression */, - true /* isStatic */); + if (mIsVideoItem) { + mImageData = new VideoThumbnailRequestDescriptor( + cursor.getLong(INDEX_ID), + cursor.getString(INDEX_DATA_PATH), + desiredWidth, + desiredHeight, + sourceWidth, + sourceHeight); + } else { + mImageData = new FileImageRequestDescriptor( + cursor.getString(INDEX_DATA_PATH), + desiredWidth, + desiredHeight, + sourceWidth, + sourceHeight, + true /* canUseThumbnail */, + true /* allowCompression */, + true /* isStatic */); + } } } @@ -101,6 +117,10 @@ public class GalleryGridItemData { return mIsDocumentPickerItem; } + public boolean isVideoItem() { + return mIsVideoItem; + } + public Uri getImageUri() { return mImageData.uri; } |