Tests to verify MEDIA_TYPE values.
Bug: 130680734
Test: atest MediaProviderTests:com.android.providers.media.scan.DrmTest
Change-Id: Ie32b47559867f86ae3d58b5af81f3ad0e1f36952
diff --git a/tests/src/com/android/providers/media/scan/DrmTest.java b/tests/src/com/android/providers/media/scan/DrmTest.java
index 47cf150..3776f3d 100644
--- a/tests/src/com/android/providers/media/scan/DrmTest.java
+++ b/tests/src/com/android/providers/media/scan/DrmTest.java
@@ -20,6 +20,7 @@
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
+import android.content.ContentUris;
import android.content.ContentValues;
import android.content.Context;
import android.content.res.AssetFileDescriptor;
@@ -29,7 +30,7 @@
import android.drm.DrmSupportInfo;
import android.net.Uri;
import android.provider.MediaStore;
-import android.provider.MediaStore.MediaColumns;
+import android.provider.MediaStore.Files.FileColumns;
import android.util.Log;
import androidx.annotation.Nullable;
@@ -88,14 +89,18 @@
@Test
public void testForwardLock_Audio() throws Exception {
doForwardLock("audio/mpeg", R.raw.test_audio, (values) -> {
- assertEquals(1_045L, (long) values.getAsLong(MediaColumns.DURATION));
+ assertEquals(1_045L, (long) values.getAsLong(FileColumns.DURATION));
+ assertEquals(FileColumns.MEDIA_TYPE_AUDIO,
+ (int) values.getAsInteger(FileColumns.MEDIA_TYPE));
});
}
@Test
public void testForwardLock_Video() throws Exception {
doForwardLock("video/mp4", R.raw.test_video, (values) -> {
- assertEquals(40_000L, (long) values.getAsLong(MediaColumns.DURATION));
+ assertEquals(40_000L, (long) values.getAsLong(FileColumns.DURATION));
+ assertEquals(FileColumns.MEDIA_TYPE_VIDEO,
+ (int) values.getAsInteger(FileColumns.MEDIA_TYPE));
});
}
@@ -104,6 +109,8 @@
doForwardLock("image/jpeg", R.raw.test_image, (values) -> {
// ExifInterface currently doesn't know how to scan DRM images, so
// the best we can do is verify the base test metadata
+ assertEquals(FileColumns.MEDIA_TYPE_IMAGE,
+ (int) values.getAsInteger(FileColumns.MEDIA_TYPE));
});
}
@@ -142,22 +149,25 @@
// Scan the DRM file and confirm that it looks sane
final Uri flUri = MediaStore.scanFile(mContext.getContentResolver(), flPath);
- try (Cursor c = mContext.getContentResolver().query(flUri, null, null, null)) {
+ final Uri fileUri = MediaStore.Files.getContentUri(MediaStore.getVolumeName(flUri),
+ ContentUris.parseId(flUri));
+ try (Cursor c = mContext.getContentResolver().query(fileUri, null, null, null)) {
assertTrue(c.moveToFirst());
final ContentValues values = new ContentValues();
- DatabaseUtils.copyFromCursorToContentValues(MediaColumns.DISPLAY_NAME, c, values);
- DatabaseUtils.copyFromCursorToContentValues(MediaColumns.MIME_TYPE, c, values);
- DatabaseUtils.copyFromCursorToContentValues(MediaColumns.IS_DRM, c, values);
- DatabaseUtils.copyFromCursorToContentValues(MediaColumns.DURATION, c, values);
+ DatabaseUtils.copyFromCursorToContentValues(FileColumns.DISPLAY_NAME, c, values);
+ DatabaseUtils.copyFromCursorToContentValues(FileColumns.MIME_TYPE, c, values);
+ DatabaseUtils.copyFromCursorToContentValues(FileColumns.MEDIA_TYPE, c, values);
+ DatabaseUtils.copyFromCursorToContentValues(FileColumns.IS_DRM, c, values);
+ DatabaseUtils.copyFromCursorToContentValues(FileColumns.DURATION, c, values);
Log.v(TAG, values.toString());
// Filename should match what we found on disk
- assertEquals(flPath.getName(), values.get(MediaColumns.DISPLAY_NAME));
+ assertEquals(flPath.getName(), values.get(FileColumns.DISPLAY_NAME));
// Should always be marked as a DRM file
- assertEquals("1", values.get(MediaColumns.IS_DRM));
+ assertEquals("1", values.get(FileColumns.IS_DRM));
- final String actualMimeType = values.getAsString(MediaColumns.MIME_TYPE);
+ final String actualMimeType = values.getAsString(FileColumns.MIME_TYPE);
if (Objects.equals(mimeType, actualMimeType)) {
// We scanned the item successfully, so we can also check our
// custom verifier, if any