Skip to content

Commit 07029ef

Browse files
committedJun 8, 2014
added support for video thumbnail from content uri
1 parent aa1cde8 commit 07029ef

File tree

4 files changed

+40
-12
lines changed

4 files changed

+40
-12
lines changed
 
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
eclipse.preferences.version=1
2+
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
3+
org.eclipse.jdt.core.compiler.compliance=1.6
4+
org.eclipse.jdt.core.compiler.source=1.6

‎library/AndroidManifest.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@
66

77
<uses-sdk
88
android:minSdkVersion="5"
9-
android:targetSdkVersion="16" />
9+
android:targetSdkVersion="19" />
1010

1111
</manifest>

‎library/project.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@
88
# project structure.
99

1010
# Project target.
11-
target=android-16
11+
target=android-19
1212
android.library=true

‎library/src/com/nostra13/universalimageloader/core/download/BaseImageDownloader.java

+34-10
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,6 @@
1515
*******************************************************************************/
1616
package com.nostra13.universalimageloader.core.download;
1717

18-
import android.content.ContentResolver;
19-
import android.content.Context;
20-
import android.graphics.Bitmap;
21-
import android.graphics.Bitmap.CompressFormat;
22-
import android.graphics.drawable.BitmapDrawable;
23-
import android.net.Uri;
24-
import com.nostra13.universalimageloader.core.DisplayImageOptions;
25-
import com.nostra13.universalimageloader.core.assist.ContentLengthInputStream;
26-
import com.nostra13.universalimageloader.utils.IoUtils;
27-
2818
import java.io.BufferedInputStream;
2919
import java.io.ByteArrayInputStream;
3020
import java.io.ByteArrayOutputStream;
@@ -37,6 +27,18 @@
3727
import java.net.URL;
3828
import java.net.URLConnection;
3929

30+
import android.content.ContentResolver;
31+
import android.content.Context;
32+
import android.graphics.Bitmap;
33+
import android.graphics.Bitmap.CompressFormat;
34+
import android.graphics.drawable.BitmapDrawable;
35+
import android.net.Uri;
36+
import android.provider.MediaStore;
37+
38+
import com.nostra13.universalimageloader.core.DisplayImageOptions;
39+
import com.nostra13.universalimageloader.core.assist.ContentLengthInputStream;
40+
import com.nostra13.universalimageloader.utils.IoUtils;
41+
4042
/**
4143
* Provides retrieving of {@link InputStream} of image by URI from network or file system or app resources.<br />
4244
* {@link URLConnection} is used to retrieve image stream from network.
@@ -172,6 +174,18 @@ protected InputStream getStreamFromFile(String imageUri, Object extra) throws IO
172174
protected InputStream getStreamFromContent(String imageUri, Object extra) throws FileNotFoundException {
173175
ContentResolver res = context.getContentResolver();
174176
Uri uri = Uri.parse(imageUri);
177+
178+
if(isVideoUri(uri)){
179+
180+
Bitmap bitmap = MediaStore.Video.Thumbnails.getThumbnail(res, Long.valueOf(uri.getLastPathSegment()), MediaStore.Images.Thumbnails.MINI_KIND, null);
181+
182+
ByteArrayOutputStream bos = new ByteArrayOutputStream();
183+
bitmap.compress(CompressFormat.PNG, 0 , bos);
184+
byte[] bitmapdata = bos.toByteArray();
185+
return new ByteArrayInputStream(bitmapdata);
186+
187+
}
188+
175189
return res.openInputStream(uri);
176190
}
177191

@@ -224,4 +238,14 @@ protected InputStream getStreamFromDrawable(String imageUri, Object extra) {
224238
protected InputStream getStreamFromOtherSource(String imageUri, Object extra) throws IOException {
225239
throw new UnsupportedOperationException(String.format(ERROR_UNSUPPORTED_SCHEME, imageUri));
226240
}
241+
242+
private boolean isVideoUri(Uri uri) {
243+
String mimeType = context.getContentResolver().getType(uri);
244+
245+
if(mimeType == null){
246+
return false;
247+
}
248+
249+
return mimeType.startsWith("video/");
250+
}
227251
}

0 commit comments

Comments
 (0)
Please sign in to comment.