Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f4144117 authored by Kenny Root's avatar Kenny Root Committed by Android (Google) Code Review
Browse files

Merge "resolved conflicts for merge of c6bf3eaa to master"

parents afbcc82a 9ca6d71c
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -29358,6 +29358,17 @@
 visibility="public"
>
</field>
<field name="COLUMN_MEDIAPROVIDER_URI"
 type="java.lang.String"
 transient="false"
 volatile="false"
 value="&quot;mediaprovider_uri&quot;"
 static="true"
 final="true"
 deprecated="not deprecated"
 visibility="public"
>
</field>
<field name="COLUMN_MEDIA_TYPE"
 type="java.lang.String"
 transient="false"
+34 −1
Original line number Diff line number Diff line
@@ -28,7 +28,6 @@ import android.os.Environment;
import android.os.ParcelFileDescriptor;
import android.provider.BaseColumns;
import android.provider.Downloads;
import android.util.Log;
import android.util.Pair;

import java.io.File;
@@ -141,6 +140,12 @@ public class DownloadManager {
     */
    public final static String COLUMN_LAST_MODIFIED_TIMESTAMP = "last_modified_timestamp";

    /**
     * The URI to the corresponding entry in MediaProvider for this downloaded entry. It is
     * used to delete the entries from MediaProvider database when it is deleted from the
     * downloaded list.
     */
    public static final String COLUMN_MEDIAPROVIDER_URI = "mediaprovider_uri";

    /**
     * Value of {@link #COLUMN_STATUS} when the download is waiting to start.
@@ -271,6 +276,7 @@ public class DownloadManager {
    // this array must contain all public columns
    private static final String[] COLUMNS = new String[] {
        COLUMN_ID,
        COLUMN_MEDIAPROVIDER_URI,
        COLUMN_TITLE,
        COLUMN_DESCRIPTION,
        COLUMN_URI,
@@ -287,6 +293,7 @@ public class DownloadManager {
    // columns to request from DownloadProvider
    private static final String[] UNDERLYING_COLUMNS = new String[] {
        Downloads.Impl._ID,
        Downloads.Impl.COLUMN_MEDIAPROVIDER_URI,
        Downloads.COLUMN_TITLE,
        Downloads.COLUMN_DESCRIPTION,
        Downloads.COLUMN_URI,
@@ -683,6 +690,9 @@ public class DownloadManager {
                selectionParts.add(Downloads.Impl.COLUMN_IS_VISIBLE_IN_DOWNLOADS_UI + " != '0'");
            }

            // only return rows which are not marked 'deleted = 1'
            selectionParts.add(Downloads.Impl.COLUMN_DELETED + " != '1'");

            String selection = joinStrings(" AND ", selectionParts);
            String orderDirection = (mOrderDirection == ORDER_ASCENDING ? "ASC" : "DESC");
            String orderBy = mOrderByColumn + " " + orderDirection;
@@ -748,6 +758,26 @@ public class DownloadManager {
        return id;
    }

    /**
     * Marks the specified download as 'to be deleted'. This is done when a completed download
     * is to be removed but the row was stored without enough info to delete the corresponding
     * metadata from Mediaprovider database. Actual cleanup of this row is done in DownloadService.
     *
     * @param ids the IDs of the downloads to be marked 'deleted'
     * @return the number of downloads actually updated
     * @hide
     */
    public int markRowDeleted(long... ids) {
        if (ids == null || ids.length == 0) {
            // called with nothing to remove!
            throw new IllegalArgumentException("input param 'ids' can't be null");
        }
        ContentValues values = new ContentValues();
        values.put(Downloads.Impl.COLUMN_DELETED, 1);
        return mResolver.update(mBaseUri, values, getWhereClauseForIds(ids),
                getWhereArgsForIds(ids));
    }

    /**
     * Cancel downloads and remove them from the download manager.  Each download will be stopped if
     * it was running, and it will no longer be accessible through the download manager.  If a file
@@ -959,6 +989,9 @@ public class DownloadManager {
            if (column.equals(COLUMN_LOCAL_FILENAME)) {
                return getUnderlyingString(Downloads.Impl._DATA);
            }
            if (column.equals(COLUMN_MEDIAPROVIDER_URI)) {
                return getUnderlyingString(Downloads.Impl.COLUMN_MEDIAPROVIDER_URI);
            }

            assert column.equals(COLUMN_LOCAL_URI);
            return getLocalUri();
+26 −0
Original line number Diff line number Diff line
@@ -300,6 +300,15 @@ public final class Downloads {
     */
    public static final String COLUMN_DESCRIPTION = "description";

    /**
     * Set to true if this download is deleted. It is completely removed from the database
     * when MediaProvider database also deletes the metadata asociated with this downloaded file.
     * <P>Type: BOOLEAN</P>
     * <P>Owner can Read</P>
     * @hide
     */
    public static final String COLUMN_DELETED = "deleted";

    /*
     * Lists the destinations that an application can specify for a download.
     */
@@ -881,6 +890,23 @@ public final class Downloads {
        public static final String COLUMN_BYPASS_RECOMMENDED_SIZE_LIMIT =
            "bypass_recommended_size_limit";

        /**
         * Set to true if this download is deleted. It is completely removed from the database
         * when MediaProvider database also deletes the metadata asociated with this downloaded file.
         * <P>Type: BOOLEAN</P>
         * <P>Owner can Read</P>
         */
        public static final String COLUMN_DELETED = "deleted";

        /**
         * The URI to the corresponding entry in MediaProvider for this downloaded entry. It is
         * used to delete the entries from MediaProvider database when it is deleted from the
         * downloaded list.
         * <P>Type: TEXT</P>
         * <P>Owner can Read</P>
         */
        public static final String COLUMN_MEDIAPROVIDER_URI = "mediaprovider_uri";

        /*
         * Lists the destinations that an application can specify for a download.
         */