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

Commit 9ca6d71c authored by Kenny Root's avatar Kenny Root
Browse files

resolved conflicts for merge of c6bf3eaa to master

Change-Id: I6421faf52c160a81b03c63b91f1aedfe0f151cac
parents 72cd64b2 c6bf3eaa
Loading
Loading
Loading
Loading
+11 −0
Original line number Original line Diff line number Diff line
@@ -29358,6 +29358,17 @@
 visibility="public"
 visibility="public"
>
>
</field>
</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"
<field name="COLUMN_MEDIA_TYPE"
 type="java.lang.String"
 type="java.lang.String"
 transient="false"
 transient="false"
+34 −1
Original line number Original line Diff line number Diff line
@@ -28,7 +28,6 @@ import android.os.Environment;
import android.os.ParcelFileDescriptor;
import android.os.ParcelFileDescriptor;
import android.provider.BaseColumns;
import android.provider.BaseColumns;
import android.provider.Downloads;
import android.provider.Downloads;
import android.util.Log;
import android.util.Pair;
import android.util.Pair;


import java.io.File;
import java.io.File;
@@ -141,6 +140,12 @@ public class DownloadManager {
     */
     */
    public final static String COLUMN_LAST_MODIFIED_TIMESTAMP = "last_modified_timestamp";
    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.
     * 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
    // this array must contain all public columns
    private static final String[] COLUMNS = new String[] {
    private static final String[] COLUMNS = new String[] {
        COLUMN_ID,
        COLUMN_ID,
        COLUMN_MEDIAPROVIDER_URI,
        COLUMN_TITLE,
        COLUMN_TITLE,
        COLUMN_DESCRIPTION,
        COLUMN_DESCRIPTION,
        COLUMN_URI,
        COLUMN_URI,
@@ -287,6 +293,7 @@ public class DownloadManager {
    // columns to request from DownloadProvider
    // columns to request from DownloadProvider
    private static final String[] UNDERLYING_COLUMNS = new String[] {
    private static final String[] UNDERLYING_COLUMNS = new String[] {
        Downloads.Impl._ID,
        Downloads.Impl._ID,
        Downloads.Impl.COLUMN_MEDIAPROVIDER_URI,
        Downloads.COLUMN_TITLE,
        Downloads.COLUMN_TITLE,
        Downloads.COLUMN_DESCRIPTION,
        Downloads.COLUMN_DESCRIPTION,
        Downloads.COLUMN_URI,
        Downloads.COLUMN_URI,
@@ -683,6 +690,9 @@ public class DownloadManager {
                selectionParts.add(Downloads.Impl.COLUMN_IS_VISIBLE_IN_DOWNLOADS_UI + " != '0'");
                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 selection = joinStrings(" AND ", selectionParts);
            String orderDirection = (mOrderDirection == ORDER_ASCENDING ? "ASC" : "DESC");
            String orderDirection = (mOrderDirection == ORDER_ASCENDING ? "ASC" : "DESC");
            String orderBy = mOrderByColumn + " " + orderDirection;
            String orderBy = mOrderByColumn + " " + orderDirection;
@@ -748,6 +758,26 @@ public class DownloadManager {
        return id;
        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
     * 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
     * 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)) {
            if (column.equals(COLUMN_LOCAL_FILENAME)) {
                return getUnderlyingString(Downloads.Impl._DATA);
                return getUnderlyingString(Downloads.Impl._DATA);
            }
            }
            if (column.equals(COLUMN_MEDIAPROVIDER_URI)) {
                return getUnderlyingString(Downloads.Impl.COLUMN_MEDIAPROVIDER_URI);
            }


            assert column.equals(COLUMN_LOCAL_URI);
            assert column.equals(COLUMN_LOCAL_URI);
            return getLocalUri();
            return getLocalUri();
+26 −0
Original line number Original line Diff line number Diff line
@@ -300,6 +300,15 @@ public final class Downloads {
     */
     */
    public static final String COLUMN_DESCRIPTION = "description";
    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.
     * 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 =
        public static final String COLUMN_BYPASS_RECOMMENDED_SIZE_LIMIT =
            "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.
         * Lists the destinations that an application can specify for a download.
         */
         */