Support video attachments through GalleryMediaChooser
GalleryMediaChooser supports video types and more image types also. And video thumbnails are overlaid with the play button image to distinguish between images and videos. Note: 1. EXTRA_ALLOW_MULTIPLE is not specified for ACTION_GET_CONTENT. 2. Files, methods and variables' name are still including "image". 3. Content descriptions are not updated. Test: Manual Change-Id: I961928f150e4ae8ee80a1fba2f20c37fb5426669 Signed-off-by: Taesu Lee <taesu82.lee@samsung.com>
This commit is contained in:
@@ -20,7 +20,7 @@ import android.content.Context;
|
||||
import android.net.Uri;
|
||||
import android.provider.MediaStore.Files;
|
||||
import android.provider.MediaStore.Files.FileColumns;
|
||||
import android.provider.MediaStore.Images.Media;
|
||||
import android.provider.MediaStore.MediaColumns;
|
||||
|
||||
import com.android.messaging.datamodel.data.GalleryGridItemData;
|
||||
import com.android.messaging.datamodel.data.MessagePartData;
|
||||
@@ -32,18 +32,18 @@ import com.google.common.base.Joiner;
|
||||
public class GalleryBoundCursorLoader extends BoundCursorLoader {
|
||||
public static final String MEDIA_SCANNER_VOLUME_EXTERNAL = "external";
|
||||
private static final Uri STORAGE_URI = Files.getContentUri(MEDIA_SCANNER_VOLUME_EXTERNAL);
|
||||
private static final String SORT_ORDER = Media.DATE_MODIFIED + " DESC";
|
||||
private static final String IMAGE_SELECTION = createSelection(
|
||||
MessagePartData.ACCEPTABLE_IMAGE_TYPES,
|
||||
new Integer[] { FileColumns.MEDIA_TYPE_IMAGE });
|
||||
private static final String SORT_ORDER = MediaColumns.DATE_MODIFIED + " DESC";
|
||||
private static final String SELECTION = createSelection(
|
||||
MessagePartData.ACCEPTABLE_GALLERY_MEDIA_TYPES,
|
||||
new Integer[] {FileColumns.MEDIA_TYPE_IMAGE, FileColumns.MEDIA_TYPE_VIDEO});
|
||||
|
||||
public GalleryBoundCursorLoader(final String bindingId, final Context context) {
|
||||
super(bindingId, context, STORAGE_URI, GalleryGridItemData.IMAGE_PROJECTION,
|
||||
IMAGE_SELECTION, null, SORT_ORDER);
|
||||
super(bindingId, context, STORAGE_URI, GalleryGridItemData.MEDIA_PROJECTION, SELECTION,
|
||||
null, SORT_ORDER);
|
||||
}
|
||||
|
||||
private static String createSelection(final String[] mimeTypes, Integer[] mediaTypes) {
|
||||
return Media.MIME_TYPE + " IN ('" + Joiner.on("','").join(mimeTypes) + "') AND "
|
||||
return MediaColumns.MIME_TYPE + " IN ('" + Joiner.on("','").join(mimeTypes) + "') AND "
|
||||
+ FileColumns.MEDIA_TYPE + " IN (" + Joiner.on(',').join(mediaTypes) + ")";
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user