diff options
Diffstat (limited to 'src/com/android/gallery3d/data/LocalVideo.java')
-rw-r--r-- | src/com/android/gallery3d/data/LocalVideo.java | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/src/com/android/gallery3d/data/LocalVideo.java b/src/com/android/gallery3d/data/LocalVideo.java index 4b8774ca4..7fafe97ae 100644 --- a/src/com/android/gallery3d/data/LocalVideo.java +++ b/src/com/android/gallery3d/data/LocalVideo.java @@ -18,6 +18,7 @@ package com.android.gallery3d.data; import android.content.ContentResolver; import android.database.Cursor; +import android.drm.DrmHelper; import android.graphics.Bitmap; import android.graphics.BitmapRegionDecoder; import android.net.Uri; @@ -153,7 +154,7 @@ public class LocalVideo extends LocalMediaItem { @Override public Job<Bitmap> requestImage(int type) { return new LocalVideoRequest(mApplication, getPath(), dateModifiedInSec, - type, filePath); + type, filePath, mimeType); } public static class LocalVideoRequest extends ImageCacheRequest { @@ -166,6 +167,13 @@ public class LocalVideo extends LocalMediaItem { mLocalFilePath = localFilePath; } + LocalVideoRequest(GalleryApp application, Path path, long timeModified, + int type, String localFilePath, String mimeType) { + super(application, path, timeModified, type, + MediaItem.getTargetSize(type), localFilePath, mimeType); + mLocalFilePath = localFilePath; + } + @Override public Bitmap onDecodeOriginal(JobContext jc, int type) { Bitmap bitmap = BitmapUtils.createVideoThumbnail(mLocalFilePath); @@ -182,7 +190,17 @@ public class LocalVideo extends LocalMediaItem { @Override public int getSupportedOperations() { - return SUPPORT_DELETE | SUPPORT_SHARE | SUPPORT_PLAY | SUPPORT_INFO | SUPPORT_TRIM | SUPPORT_MUTE; + if (DrmHelper.isDrmFile(getFilePath())) { + int operation = SUPPORT_DELETE | SUPPORT_PLAY | SUPPORT_INFO + | SUPPORT_DRM_INFO; + if (DrmHelper.isShareableDrmFile(getFilePath())) { + operation |= SUPPORT_SHARE; + } + return operation; + } + + return SUPPORT_DELETE | SUPPORT_SHARE | SUPPORT_PLAY | SUPPORT_INFO + | SUPPORT_TRIM | SUPPORT_MUTE; } @Override @@ -211,6 +229,10 @@ public class LocalVideo extends LocalMediaItem { @Override public int getMediaType() { + if (DrmHelper.isDrmFile(getFilePath())) { + return MEDIA_TYPE_DRM_VIDEO; + } + return MEDIA_TYPE_VIDEO; } |