Commit fb63a3d8 authored by Finnur Thorarinsson's avatar Finnur Thorarinsson Committed by Commit Bot

[Android] Media Picker: Include screenshots and Google Photo dir.

Bug: 1148810
Change-Id: I12fa19bf5c87e9b97707b29e276ad1437e18b77e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2536462
Commit-Queue: Finnur Thorarinsson <finnur@chromium.org>
Reviewed-by: default avatarPeter Beverloo <peter@chromium.org>
Cr-Commit-Position: refs/heads/master@{#827648}
parent 3ade7afd
...@@ -118,9 +118,9 @@ class FileEnumWorkerTask extends AsyncTask<List<PickerBitmap>> { ...@@ -118,9 +118,9 @@ class FileEnumWorkerTask extends AsyncTask<List<PickerBitmap>> {
directoryColumnName, directoryColumnName,
}; };
String whereClause = "(" + directoryColumnName + " LIKE ? OR " + directoryColumnName String whereClause = directoryColumnName + " LIKE ? OR " + directoryColumnName
+ " LIKE ? OR " + directoryColumnName + " LIKE ?) AND " + directoryColumnName + " LIKE ? OR " + directoryColumnName + " LIKE ? OR " + directoryColumnName
+ " NOT LIKE ?"; + " LIKE ?";
String additionalClause = ""; String additionalClause = "";
if (mIncludeImages) { if (mIncludeImages) {
additionalClause = MediaStore.Files.FileColumns.MEDIA_TYPE + "=" additionalClause = MediaStore.Files.FileColumns.MEDIA_TYPE + "="
...@@ -136,13 +136,13 @@ class FileEnumWorkerTask extends AsyncTask<List<PickerBitmap>> { ...@@ -136,13 +136,13 @@ class FileEnumWorkerTask extends AsyncTask<List<PickerBitmap>> {
String cameraDir = getCameraDirectory(); String cameraDir = getCameraDirectory();
String picturesDir = Environment.DIRECTORY_PICTURES; String picturesDir = Environment.DIRECTORY_PICTURES;
String downloadsDir = Environment.DIRECTORY_DOWNLOADS; String downloadsDir = Environment.DIRECTORY_DOWNLOADS;
String screenshotsDir = Environment.DIRECTORY_PICTURES + "/Screenshots"; // Files downloaded from the user's Google Photos library go to a Restored folder.
String restoredDir = Environment.DIRECTORY_DCIM + "/Restored";
if (!BuildInfo.isAtLeastQ()) { if (!BuildInfo.isAtLeastQ()) {
cameraDir = Environment.getExternalStoragePublicDirectory(cameraDir).toString(); cameraDir = Environment.getExternalStoragePublicDirectory(cameraDir).toString();
picturesDir = Environment.getExternalStoragePublicDirectory(picturesDir).toString(); picturesDir = Environment.getExternalStoragePublicDirectory(picturesDir).toString();
downloadsDir = Environment.getExternalStoragePublicDirectory(downloadsDir).toString(); downloadsDir = Environment.getExternalStoragePublicDirectory(downloadsDir).toString();
screenshotsDir = restoredDir = Environment.getExternalStoragePublicDirectory(restoredDir).toString();
Environment.getExternalStoragePublicDirectory(screenshotsDir).toString();
} }
String[] whereArgs = new String[] { String[] whereArgs = new String[] {
...@@ -150,8 +150,7 @@ class FileEnumWorkerTask extends AsyncTask<List<PickerBitmap>> { ...@@ -150,8 +150,7 @@ class FileEnumWorkerTask extends AsyncTask<List<PickerBitmap>> {
cameraDir + "%", cameraDir + "%",
picturesDir + "%", picturesDir + "%",
downloadsDir + "%", downloadsDir + "%",
// Exclude low-quality sources, such as the screenshots directory: restoredDir + "%",
screenshotsDir + "%",
}; };
final String orderBy = MediaStore.MediaColumns.DATE_ADDED + " DESC"; final String orderBy = MediaStore.MediaColumns.DATE_ADDED + " DESC";
......
...@@ -204,7 +204,7 @@ public class FileEnumWorkerTaskTest implements FileEnumWorkerTask.FilesEnumerate ...@@ -204,7 +204,7 @@ public class FileEnumWorkerTaskTest implements FileEnumWorkerTask.FilesEnumerate
String[] selectColumns = {MediaStore.Files.FileColumns._ID, String[] selectColumns = {MediaStore.Files.FileColumns._ID,
MediaStore.Files.FileColumns.DATE_ADDED, MediaStore.Files.FileColumns.MEDIA_TYPE, MediaStore.Files.FileColumns.DATE_ADDED, MediaStore.Files.FileColumns.MEDIA_TYPE,
MediaStore.Files.FileColumns.MIME_TYPE, MediaStore.Files.FileColumns.DATA}; MediaStore.Files.FileColumns.MIME_TYPE, MediaStore.Files.FileColumns.DATA};
String whereClause = "(_data LIKE ? OR _data LIKE ? OR _data LIKE ?) AND _data NOT LIKE ?"; String whereClause = "_data LIKE ? OR _data LIKE ? OR _data LIKE ? OR _data LIKE ?";
String orderBy = MediaStore.MediaColumns.DATE_ADDED + " DESC"; String orderBy = MediaStore.MediaColumns.DATE_ADDED + " DESC";
ArgumentCaptor<String[]> argument = ArgumentCaptor.forClass(String[].class); ArgumentCaptor<String[]> argument = ArgumentCaptor.forClass(String[].class);
...@@ -220,7 +220,7 @@ public class FileEnumWorkerTaskTest implements FileEnumWorkerTask.FilesEnumerate ...@@ -220,7 +220,7 @@ public class FileEnumWorkerTaskTest implements FileEnumWorkerTask.FilesEnumerate
Assert.assertTrue( Assert.assertTrue(
actualWhereArgs[2], actualWhereArgs[2].contains(Environment.DIRECTORY_DOWNLOADS)); actualWhereArgs[2], actualWhereArgs[2].contains(Environment.DIRECTORY_DOWNLOADS));
Assert.assertTrue(actualWhereArgs[3], Assert.assertTrue(actualWhereArgs[3],
actualWhereArgs[3].contains(Environment.DIRECTORY_PICTURES + "/Screenshots")); actualWhereArgs[3].contains(Environment.DIRECTORY_DCIM + "/Restored"));
} }
@Test @Test
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment