summaryrefslogtreecommitdiffstats
path: root/src/com/android/messaging/datamodel/data/GalleryGridItemData.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/messaging/datamodel/data/GalleryGridItemData.java')
-rw-r--r--src/com/android/messaging/datamodel/data/GalleryGridItemData.java38
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;
}