Merge "Don't ignore COLUMN_MEDIA_SCANNED values from caller."

This commit is contained in:
Sudheer Shanka
2019-01-30 18:22:02 +00:00
committed by Android (Google) Code Review
2 changed files with 13 additions and 22 deletions

View File

@@ -26,7 +26,6 @@ import android.content.ContentResolver;
import android.content.ContentUris;
import android.content.ContentValues;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.database.CursorWrapper;
import android.net.ConnectivityManager;
@@ -37,7 +36,6 @@ import android.os.Environment;
import android.os.FileUtils;
import android.os.ParcelFileDescriptor;
import android.provider.Downloads;
import android.provider.MediaStore.Images;
import android.provider.Settings;
import android.provider.Settings.SettingNotFoundException;
import android.text.TextUtils;
@@ -399,14 +397,14 @@ public class DownloadManager {
/** if a file is designated as a MediaScanner scannable file, the following value is
* stored in the database column {@link Downloads.Impl#COLUMN_MEDIA_SCANNED}.
*/
private static final int SCANNABLE_VALUE_YES = 0;
private static final int SCANNABLE_VALUE_YES = Downloads.Impl.MEDIA_NOT_SCANNED;
// value of 1 is stored in the above column by DownloadProvider after it is scanned by
// MediaScanner
/** if a file is designated as a file that should not be scanned by MediaScanner,
* the following value is stored in the database column
* {@link Downloads.Impl#COLUMN_MEDIA_SCANNED}.
*/
private static final int SCANNABLE_VALUE_NO = 2;
private static final int SCANNABLE_VALUE_NO = Downloads.Impl.MEDIA_NOT_SCANNABLE;
/**
* This download is visible but only shows in the notifications
@@ -1264,19 +1262,6 @@ public class DownloadManager {
throw new IllegalStateException("Failed to rename to " + after);
}
// Update MediaProvider if necessary
if (mimeType.startsWith("image/")) {
context.getContentResolver().delete(Images.Media.EXTERNAL_CONTENT_URI,
Images.Media.DATA + "=?",
new String[] {
before.getAbsolutePath()
});
Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
intent.setData(Uri.fromFile(after));
context.sendBroadcast(intent);
}
ContentValues values = new ContentValues();
values.put(Downloads.Impl.COLUMN_TITLE, displayName);
values.put(Downloads.Impl._DATA, after.toString());
@@ -1329,8 +1314,7 @@ public class DownloadManager {
* @param description the description that would appear for this file in Downloads App.
* @param isMediaScannerScannable true if the file is to be scanned by MediaScanner. Files
* scanned by MediaScanner appear in the applications used to view media (for example,
* Gallery app). Starting from {@link android.os.Build.VERSION_CODES#Q}, this argument is
* ignored and the file is always scanned by MediaScanner.
* Gallery app).
* @param mimeType mimetype of the file.
* @param path absolute pathname to the file. The file should be world-readable, so that it can
* be managed by the Downloads App and any other app that is used to read it (for example,
@@ -1359,8 +1343,7 @@ public class DownloadManager {
* @param description the description that would appear for this file in Downloads App.
* @param isMediaScannerScannable true if the file is to be scanned by MediaScanner. Files
* scanned by MediaScanner appear in the applications used to view media (for example,
* Gallery app). Starting from {@link android.os.Build.VERSION_CODES#Q}, this argument is
* ignored and the file is always scanned by MediaScanner.
* Gallery app).
* @param mimeType mimetype of the file.
* @param path absolute pathname to the file. The file should be world-readable, so that it can
* be managed by the Downloads App and any other app that is used to read it (for example,

View File

@@ -419,12 +419,20 @@ public final class Downloads {
/**
* The column that is used to remember whether the media scanner was invoked.
* It can take the values: null or 0(not scanned), 1(scanned), 2 (not scannable).
* It can take the values: {@link #MEDIA_NOT_SCANNED}, {@link #MEDIA_SCANNED} or
* {@link #MEDIA_NOT_SCANNABLE} or {@code null}. If it's value is {@code null}, it will be
* treated as {@link #MEDIA_NOT_SCANNED}.
*
* <P>Type: TEXT</P>
*/
@UnsupportedAppUsage
public static final String COLUMN_MEDIA_SCANNED = "scanned";
/** Possible values for column {@link #COLUMN_MEDIA_SCANNED} */
public static final int MEDIA_NOT_SCANNED = 0;
public static final int MEDIA_SCANNED = 1;
public static final int MEDIA_NOT_SCANNABLE = 2;
/**
* The column with errorMsg for a failed downloaded.
* Used only for debugging purposes.