Loading api/current.xml +11 −0 Original line number Diff line number Diff line Loading @@ -29358,6 +29358,17 @@ visibility="public" > </field> <field name="COLUMN_MEDIAPROVIDER_URI" type="java.lang.String" transient="false" volatile="false" value=""mediaprovider_uri"" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="COLUMN_MEDIA_TYPE" type="java.lang.String" transient="false" core/java/android/app/DownloadManager.java +34 −1 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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. Loading Loading @@ -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, Loading @@ -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, Loading Loading @@ -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; Loading Loading @@ -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 Loading Loading @@ -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(); Loading core/java/android/provider/Downloads.java +26 −0 Original line number Diff line number Diff line Loading @@ -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. */ Loading Loading @@ -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. */ Loading Loading
api/current.xml +11 −0 Original line number Diff line number Diff line Loading @@ -29358,6 +29358,17 @@ visibility="public" > </field> <field name="COLUMN_MEDIAPROVIDER_URI" type="java.lang.String" transient="false" volatile="false" value=""mediaprovider_uri"" static="true" final="true" deprecated="not deprecated" visibility="public" > </field> <field name="COLUMN_MEDIA_TYPE" type="java.lang.String" transient="false"
core/java/android/app/DownloadManager.java +34 −1 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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. Loading Loading @@ -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, Loading @@ -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, Loading Loading @@ -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; Loading Loading @@ -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 Loading Loading @@ -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(); Loading
core/java/android/provider/Downloads.java +26 −0 Original line number Diff line number Diff line Loading @@ -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. */ Loading Loading @@ -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. */ Loading