diff options
author | Vasu Nori <vnori@google.com> | 2010-10-20 13:46:19 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2010-10-20 13:46:19 -0700 |
commit | c63c320c0980862b06b89463ccbe68a8e6924e8c (patch) | |
tree | 26cdb4d5a1f95502688a93d98e380cccab34b160 /core | |
parent | b1818e83f4a81bc4e4e30b99bb48830415be731b (diff) | |
parent | ef7e33b9b8647c8417e472986f95a71cb75dde80 (diff) | |
download | frameworks_base-c63c320c0980862b06b89463ccbe68a8e6924e8c.zip frameworks_base-c63c320c0980862b06b89463ccbe68a8e6924e8c.tar.gz frameworks_base-c63c320c0980862b06b89463ccbe68a8e6924e8c.tar.bz2 |
Merge "remove duplicate code"
Diffstat (limited to 'core')
-rw-r--r-- | core/java/android/app/DownloadManager.java | 110 | ||||
-rw-r--r-- | core/java/android/provider/Downloads.java | 550 |
2 files changed, 55 insertions, 605 deletions
diff --git a/core/java/android/app/DownloadManager.java b/core/java/android/app/DownloadManager.java index fd96cf0..5654599 100644 --- a/core/java/android/app/DownloadManager.java +++ b/core/java/android/app/DownloadManager.java @@ -59,24 +59,24 @@ public class DownloadManager { * An identifier for a particular download, unique across the system. Clients use this ID to * make subsequent calls related to the download. */ - public final static String COLUMN_ID = BaseColumns._ID; + public final static String COLUMN_ID = Downloads.Impl._ID; /** * The client-supplied title for this download. This will be displayed in system notifications. * Defaults to the empty string. */ - public final static String COLUMN_TITLE = "title"; + public final static String COLUMN_TITLE = Downloads.Impl.COLUMN_TITLE; /** * The client-supplied description of this download. This will be displayed in system * notifications. Defaults to the empty string. */ - public final static String COLUMN_DESCRIPTION = "description"; + public final static String COLUMN_DESCRIPTION = Downloads.Impl.COLUMN_DESCRIPTION; /** * URI to be downloaded. */ - public final static String COLUMN_URI = "uri"; + public final static String COLUMN_URI = Downloads.Impl.COLUMN_URI; /** * Internet Media Type of the downloaded file. If no value is provided upon creation, this will @@ -108,7 +108,7 @@ public class DownloadManager { /** * Current status of the download, as one of the STATUS_* constants. */ - public final static String COLUMN_STATUS = "status"; + public final static String COLUMN_STATUS = Downloads.Impl.COLUMN_STATUS; /** * Provides more detail on the status of the download. Its meaning depends on the value of @@ -145,7 +145,7 @@ public class DownloadManager { * 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"; + public static final String COLUMN_MEDIAPROVIDER_URI = Downloads.Impl.COLUMN_MEDIAPROVIDER_URI; /** * Value of {@link #COLUMN_STATUS} when the download is waiting to start. @@ -294,15 +294,15 @@ public class DownloadManager { 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, - Downloads.COLUMN_MIME_TYPE, - Downloads.COLUMN_TOTAL_BYTES, - Downloads.COLUMN_STATUS, - Downloads.COLUMN_CURRENT_BYTES, - Downloads.COLUMN_LAST_MODIFICATION, - Downloads.COLUMN_DESTINATION, + Downloads.Impl.COLUMN_TITLE, + Downloads.Impl.COLUMN_DESCRIPTION, + Downloads.Impl.COLUMN_URI, + Downloads.Impl.COLUMN_MIME_TYPE, + Downloads.Impl.COLUMN_TOTAL_BYTES, + Downloads.Impl.COLUMN_STATUS, + Downloads.Impl.COLUMN_CURRENT_BYTES, + Downloads.Impl.COLUMN_LAST_MODIFICATION, + Downloads.Impl.COLUMN_DESTINATION, Downloads.Impl.COLUMN_FILE_NAME_HINT, Downloads.Impl._DATA, }; @@ -520,29 +520,29 @@ public class DownloadManager { ContentValues toContentValues(String packageName) { ContentValues values = new ContentValues(); assert mUri != null; - values.put(Downloads.COLUMN_URI, mUri.toString()); + values.put(Downloads.Impl.COLUMN_URI, mUri.toString()); values.put(Downloads.Impl.COLUMN_IS_PUBLIC_API, true); - values.put(Downloads.COLUMN_NOTIFICATION_PACKAGE, packageName); + values.put(Downloads.Impl.COLUMN_NOTIFICATION_PACKAGE, packageName); if (mDestinationUri != null) { - values.put(Downloads.COLUMN_DESTINATION, Downloads.Impl.DESTINATION_FILE_URI); - values.put(Downloads.COLUMN_FILE_NAME_HINT, mDestinationUri.toString()); + values.put(Downloads.Impl.COLUMN_DESTINATION, Downloads.Impl.DESTINATION_FILE_URI); + values.put(Downloads.Impl.COLUMN_FILE_NAME_HINT, mDestinationUri.toString()); } else { - values.put(Downloads.COLUMN_DESTINATION, - Downloads.DESTINATION_CACHE_PARTITION_PURGEABLE); + values.put(Downloads.Impl.COLUMN_DESTINATION, + Downloads.Impl.DESTINATION_CACHE_PARTITION_PURGEABLE); } if (!mRequestHeaders.isEmpty()) { encodeHttpHeaders(values); } - putIfNonNull(values, Downloads.COLUMN_TITLE, mTitle); - putIfNonNull(values, Downloads.COLUMN_DESCRIPTION, mDescription); - putIfNonNull(values, Downloads.COLUMN_MIME_TYPE, mMimeType); + putIfNonNull(values, Downloads.Impl.COLUMN_TITLE, mTitle); + putIfNonNull(values, Downloads.Impl.COLUMN_DESCRIPTION, mDescription); + putIfNonNull(values, Downloads.Impl.COLUMN_MIME_TYPE, mMimeType); - values.put(Downloads.COLUMN_VISIBILITY, - mShowNotification ? Downloads.VISIBILITY_VISIBLE - : Downloads.VISIBILITY_HIDDEN); + values.put(Downloads.Impl.COLUMN_VISIBILITY, + mShowNotification ? Downloads.Impl.VISIBILITY_VISIBLE + : Downloads.Impl.VISIBILITY_HIDDEN); values.put(Downloads.Impl.COLUMN_ALLOWED_NETWORK_TYPES, mAllowedNetworkTypes); values.put(Downloads.Impl.COLUMN_ALLOW_ROAMING, mRoamingAllowed); @@ -585,7 +585,7 @@ public class DownloadManager { private long[] mIds = null; private Integer mStatusFlags = null; - private String mOrderByColumn = Downloads.COLUMN_LAST_MODIFICATION; + private String mOrderByColumn = Downloads.Impl.COLUMN_LAST_MODIFICATION; private int mOrderDirection = ORDER_DESCENDING; private boolean mOnlyIncludeVisibleInDownloadsUi = false; @@ -637,9 +637,9 @@ public class DownloadManager { } if (column.equals(COLUMN_LAST_MODIFIED_TIMESTAMP)) { - mOrderByColumn = Downloads.COLUMN_LAST_MODIFICATION; + mOrderByColumn = Downloads.Impl.COLUMN_LAST_MODIFICATION; } else if (column.equals(COLUMN_TOTAL_SIZE_BYTES)) { - mOrderByColumn = Downloads.COLUMN_TOTAL_BYTES; + mOrderByColumn = Downloads.Impl.COLUMN_TOTAL_BYTES; } else { throw new IllegalArgumentException("Cannot order by " + column); } @@ -665,10 +665,10 @@ public class DownloadManager { if (mStatusFlags != null) { List<String> parts = new ArrayList<String>(); if ((mStatusFlags & STATUS_PENDING) != 0) { - parts.add(statusClause("=", Downloads.STATUS_PENDING)); + parts.add(statusClause("=", Downloads.Impl.STATUS_PENDING)); } if ((mStatusFlags & STATUS_RUNNING) != 0) { - parts.add(statusClause("=", Downloads.STATUS_RUNNING)); + parts.add(statusClause("=", Downloads.Impl.STATUS_RUNNING)); } if ((mStatusFlags & STATUS_PAUSED) != 0) { parts.add(statusClause("=", Downloads.Impl.STATUS_PAUSED_BY_APP)); @@ -677,7 +677,7 @@ public class DownloadManager { parts.add(statusClause("=", Downloads.Impl.STATUS_QUEUED_FOR_WIFI)); } if ((mStatusFlags & STATUS_SUCCESSFUL) != 0) { - parts.add(statusClause("=", Downloads.STATUS_SUCCESS)); + parts.add(statusClause("=", Downloads.Impl.STATUS_SUCCESS)); } if ((mStatusFlags & STATUS_FAILED) != 0) { parts.add("(" + statusClause(">=", 400) @@ -714,7 +714,7 @@ public class DownloadManager { } private String statusClause(String operator, int value) { - return Downloads.COLUMN_STATUS + operator + "'" + value + "'"; + return Downloads.Impl.COLUMN_STATUS + operator + "'" + value + "'"; } } @@ -753,7 +753,7 @@ public class DownloadManager { */ public long enqueue(Request request) { ContentValues values = request.toContentValues(mPackageName); - Uri downloadUri = mResolver.insert(Downloads.CONTENT_URI, values); + Uri downloadUri = mResolver.insert(Downloads.Impl.CONTENT_URI, values); long id = Long.parseLong(downloadUri.getLastPathSegment()); return id; } @@ -975,16 +975,16 @@ public class DownloadManager { return Long.toString(translateLong(column)); } if (column.equals(COLUMN_TITLE)) { - return getUnderlyingString(Downloads.COLUMN_TITLE); + return getUnderlyingString(Downloads.Impl.COLUMN_TITLE); } if (column.equals(COLUMN_DESCRIPTION)) { - return getUnderlyingString(Downloads.COLUMN_DESCRIPTION); + return getUnderlyingString(Downloads.Impl.COLUMN_DESCRIPTION); } if (column.equals(COLUMN_URI)) { - return getUnderlyingString(Downloads.COLUMN_URI); + return getUnderlyingString(Downloads.Impl.COLUMN_URI); } if (column.equals(COLUMN_MEDIA_TYPE)) { - return getUnderlyingString(Downloads.COLUMN_MIME_TYPE); + return getUnderlyingString(Downloads.Impl.COLUMN_MIME_TYPE); } if (column.equals(COLUMN_LOCAL_FILENAME)) { return getUnderlyingString(Downloads.Impl._DATA); @@ -1028,19 +1028,19 @@ public class DownloadManager { return getUnderlyingLong(Downloads.Impl._ID); } if (column.equals(COLUMN_TOTAL_SIZE_BYTES)) { - return getUnderlyingLong(Downloads.COLUMN_TOTAL_BYTES); + return getUnderlyingLong(Downloads.Impl.COLUMN_TOTAL_BYTES); } if (column.equals(COLUMN_STATUS)) { - return translateStatus((int) getUnderlyingLong(Downloads.COLUMN_STATUS)); + return translateStatus((int) getUnderlyingLong(Downloads.Impl.COLUMN_STATUS)); } if (column.equals(COLUMN_REASON)) { - return getReason((int) getUnderlyingLong(Downloads.COLUMN_STATUS)); + return getReason((int) getUnderlyingLong(Downloads.Impl.COLUMN_STATUS)); } if (column.equals(COLUMN_BYTES_DOWNLOADED_SO_FAR)) { - return getUnderlyingLong(Downloads.COLUMN_CURRENT_BYTES); + return getUnderlyingLong(Downloads.Impl.COLUMN_CURRENT_BYTES); } assert column.equals(COLUMN_LAST_MODIFIED_TIMESTAMP); - return getUnderlyingLong(Downloads.COLUMN_LAST_MODIFICATION); + return getUnderlyingLong(Downloads.Impl.COLUMN_LAST_MODIFICATION); } private long getReason(int status) { @@ -1080,23 +1080,23 @@ public class DownloadManager { } switch (status) { - case Downloads.STATUS_FILE_ERROR: + case Downloads.Impl.STATUS_FILE_ERROR: return ERROR_FILE_ERROR; - case Downloads.STATUS_UNHANDLED_HTTP_CODE: - case Downloads.STATUS_UNHANDLED_REDIRECT: + case Downloads.Impl.STATUS_UNHANDLED_HTTP_CODE: + case Downloads.Impl.STATUS_UNHANDLED_REDIRECT: return ERROR_UNHANDLED_HTTP_CODE; - case Downloads.STATUS_HTTP_DATA_ERROR: + case Downloads.Impl.STATUS_HTTP_DATA_ERROR: return ERROR_HTTP_DATA_ERROR; - case Downloads.STATUS_TOO_MANY_REDIRECTS: + case Downloads.Impl.STATUS_TOO_MANY_REDIRECTS: return ERROR_TOO_MANY_REDIRECTS; - case Downloads.STATUS_INSUFFICIENT_SPACE_ERROR: + case Downloads.Impl.STATUS_INSUFFICIENT_SPACE_ERROR: return ERROR_INSUFFICIENT_SPACE; - case Downloads.STATUS_DEVICE_NOT_FOUND_ERROR: + case Downloads.Impl.STATUS_DEVICE_NOT_FOUND_ERROR: return ERROR_DEVICE_NOT_FOUND; case Downloads.Impl.STATUS_CANNOT_RESUME: @@ -1120,10 +1120,10 @@ public class DownloadManager { private int translateStatus(int status) { switch (status) { - case Downloads.STATUS_PENDING: + case Downloads.Impl.STATUS_PENDING: return STATUS_PENDING; - case Downloads.STATUS_RUNNING: + case Downloads.Impl.STATUS_RUNNING: return STATUS_RUNNING; case Downloads.Impl.STATUS_PAUSED_BY_APP: @@ -1132,11 +1132,11 @@ public class DownloadManager { case Downloads.Impl.STATUS_QUEUED_FOR_WIFI: return STATUS_PAUSED; - case Downloads.STATUS_SUCCESS: + case Downloads.Impl.STATUS_SUCCESS: return STATUS_SUCCESSFUL; default: - assert Downloads.isStatusError(status); + assert Downloads.Impl.isStatusError(status); return STATUS_FAILED; } } diff --git a/core/java/android/provider/Downloads.java b/core/java/android/provider/Downloads.java index 72bf6b0..c9e3b69 100644 --- a/core/java/android/provider/Downloads.java +++ b/core/java/android/provider/Downloads.java @@ -24,559 +24,9 @@ import android.net.Uri; * @pending */ public final class Downloads { - /** - * @hide - */ private Downloads() {} /** - * The permission to access the download manager - * @hide - */ - public static final String PERMISSION_ACCESS = "android.permission.ACCESS_DOWNLOAD_MANAGER"; - - /** - * The permission to access the download manager's advanced functions - * @hide - */ - public static final String PERMISSION_ACCESS_ADVANCED = - "android.permission.ACCESS_DOWNLOAD_MANAGER_ADVANCED"; - - /** - * The permission to directly access the download manager's cache directory - * @hide - */ - public static final String PERMISSION_CACHE = "android.permission.ACCESS_CACHE_FILESYSTEM"; - - /** - * The permission to send broadcasts on download completion - * @hide - */ - public static final String PERMISSION_SEND_INTENTS = - "android.permission.SEND_DOWNLOAD_COMPLETED_INTENTS"; - - /** - * The content:// URI for the data table in the provider - * @hide - */ - public static final Uri CONTENT_URI = - Uri.parse("content://downloads/my_downloads"); - - /** - * Broadcast Action: this is sent by the download manager to the app - * that had initiated a download when that download completes. The - * download's content: uri is specified in the intent's data. - * @hide - */ - public static final String ACTION_DOWNLOAD_COMPLETED = - "android.intent.action.DOWNLOAD_COMPLETED"; - - /** - * Broadcast Action: this is sent by the download manager to the app - * that had initiated a download when the user selects the notification - * associated with that download. The download's content: uri is specified - * in the intent's data if the click is associated with a single download, - * or Downloads.CONTENT_URI if the notification is associated with - * multiple downloads. - * Note: this is not currently sent for downloads that have completed - * successfully. - * @hide - */ - public static final String ACTION_NOTIFICATION_CLICKED = - "android.intent.action.DOWNLOAD_NOTIFICATION_CLICKED"; - - /** - * The name of the column containing the URI of the data being downloaded. - * <P>Type: TEXT</P> - * <P>Owner can Init/Read</P> - * @hide - */ - public static final String COLUMN_URI = "uri"; - - /** - * The name of the column containing application-specific data. - * <P>Type: TEXT</P> - * <P>Owner can Init/Read/Write</P> - * @hide - */ - public static final String COLUMN_APP_DATA = "entity"; - - /** - * The name of the column containing the flags that indicates whether - * the initiating application is capable of verifying the integrity of - * the downloaded file. When this flag is set, the download manager - * performs downloads and reports success even in some situations where - * it can't guarantee that the download has completed (e.g. when doing - * a byte-range request without an ETag, or when it can't determine - * whether a download fully completed). - * <P>Type: BOOLEAN</P> - * <P>Owner can Init</P> - * @hide - */ - public static final String COLUMN_NO_INTEGRITY = "no_integrity"; - - /** - * The name of the column containing the filename that the initiating - * application recommends. When possible, the download manager will attempt - * to use this filename, or a variation, as the actual name for the file. - * <P>Type: TEXT</P> - * <P>Owner can Init</P> - * @hide - */ - public static final String COLUMN_FILE_NAME_HINT = "hint"; - - /** - * The name of the column containing the filename where the downloaded data - * was actually stored. - * <P>Type: TEXT</P> - * <P>Owner can Read</P> - * @hide - */ - public static final String _DATA = "_data"; - - /** - * The name of the column containing the MIME type of the downloaded data. - * <P>Type: TEXT</P> - * <P>Owner can Init/Read</P> - * @hide - */ - public static final String COLUMN_MIME_TYPE = "mimetype"; - - /** - * The name of the column containing the flag that controls the destination - * of the download. See the DESTINATION_* constants for a list of legal values. - * <P>Type: INTEGER</P> - * <P>Owner can Init</P> - * @hide - */ - public static final String COLUMN_DESTINATION = "destination"; - - /** - * The name of the column containing the flags that controls whether the - * download is displayed by the UI. See the VISIBILITY_* constants for - * a list of legal values. - * <P>Type: INTEGER</P> - * <P>Owner can Init/Read/Write</P> - * @hide - */ - public static final String COLUMN_VISIBILITY = "visibility"; - - /** - * The name of the column containing the current control state of the download. - * Applications can write to this to control (pause/resume) the download. - * the CONTROL_* constants for a list of legal values. - * <P>Type: INTEGER</P> - * <P>Owner can Read</P> - * @hide - */ - public static final String COLUMN_CONTROL = "control"; - - /** - * The name of the column containing the current status of the download. - * Applications can read this to follow the progress of each download. See - * the STATUS_* constants for a list of legal values. - * <P>Type: INTEGER</P> - * <P>Owner can Read</P> - * @hide - */ - public static final String COLUMN_STATUS = "status"; - - /** - * The name of the column containing the date at which some interesting - * status changed in the download. Stored as a System.currentTimeMillis() - * value. - * <P>Type: BIGINT</P> - * <P>Owner can Read</P> - * @hide - */ - public static final String COLUMN_LAST_MODIFICATION = "lastmod"; - - /** - * The name of the column containing the package name of the application - * that initiating the download. The download manager will send - * notifications to a component in this package when the download completes. - * <P>Type: TEXT</P> - * <P>Owner can Init/Read</P> - * @hide - */ - public static final String COLUMN_NOTIFICATION_PACKAGE = "notificationpackage"; - - /** - * The name of the column containing the component name of the class that - * will receive notifications associated with the download. The - * package/class combination is passed to - * Intent.setClassName(String,String). - * <P>Type: TEXT</P> - * <P>Owner can Init/Read</P> - * @hide - */ - public static final String COLUMN_NOTIFICATION_CLASS = "notificationclass"; - - /** - * If extras are specified when requesting a download they will be provided in the intent that - * is sent to the specified class and package when a download has finished. - * <P>Type: TEXT</P> - * <P>Owner can Init</P> - * @hide - */ - public static final String COLUMN_NOTIFICATION_EXTRAS = "notificationextras"; - - /** - * The name of the column contain the values of the cookie to be used for - * the download. This is used directly as the value for the Cookie: HTTP - * header that gets sent with the request. - * <P>Type: TEXT</P> - * <P>Owner can Init</P> - * @hide - */ - public static final String COLUMN_COOKIE_DATA = "cookiedata"; - - /** - * The name of the column containing the user agent that the initiating - * application wants the download manager to use for this download. - * <P>Type: TEXT</P> - * <P>Owner can Init</P> - * @hide - */ - public static final String COLUMN_USER_AGENT = "useragent"; - - /** - * The name of the column containing the referer (sic) that the initiating - * application wants the download manager to use for this download. - * <P>Type: TEXT</P> - * <P>Owner can Init</P> - * @hide - */ - public static final String COLUMN_REFERER = "referer"; - - /** - * The name of the column containing the total size of the file being - * downloaded. - * <P>Type: INTEGER</P> - * <P>Owner can Read</P> - * @hide - */ - public static final String COLUMN_TOTAL_BYTES = "total_bytes"; - - /** - * The name of the column containing the size of the part of the file that - * has been downloaded so far. - * <P>Type: INTEGER</P> - * <P>Owner can Read</P> - * @hide - */ - public static final String COLUMN_CURRENT_BYTES = "current_bytes"; - - /** - * The name of the column where the initiating application can provide the - * UID of another application that is allowed to access this download. If - * multiple applications share the same UID, all those applications will be - * allowed to access this download. This column can be updated after the - * download is initiated. This requires the permission - * android.permission.ACCESS_DOWNLOAD_MANAGER_ADVANCED. - * <P>Type: INTEGER</P> - * <P>Owner can Init</P> - * @hide - */ - public static final String COLUMN_OTHER_UID = "otheruid"; - - /** - * The name of the column where the initiating application can provided the - * title of this download. The title will be displayed ito the user in the - * list of downloads. - * <P>Type: TEXT</P> - * <P>Owner can Init/Read/Write</P> - * @hide - */ - public static final String COLUMN_TITLE = "title"; - - /** - * The name of the column where the initiating application can provide the - * description of this download. The description will be displayed to the - * user in the list of downloads. - * <P>Type: TEXT</P> - * <P>Owner can Init/Read/Write</P> - * @hide - */ - 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. - */ - - /** - * This download will be saved to the external storage. This is the - * default behavior, and should be used for any file that the user - * can freely access, copy, delete. Even with that destination, - * unencrypted DRM files are saved in secure internal storage. - * Downloads to the external destination only write files for which - * there is a registered handler. The resulting files are accessible - * by filename to all applications. - * @hide - */ - public static final int DESTINATION_EXTERNAL = 0; - - /** - * This download will be saved to the download manager's private - * partition. This is the behavior used by applications that want to - * download private files that are used and deleted soon after they - * get downloaded. All file types are allowed, and only the initiating - * application can access the file (indirectly through a content - * provider). This requires the - * android.permission.ACCESS_DOWNLOAD_MANAGER_ADVANCED permission. - * @hide - */ - public static final int DESTINATION_CACHE_PARTITION = 1; - - /** - * This download will be saved to the download manager's private - * partition and will be purged as necessary to make space. This is - * for private files (similar to CACHE_PARTITION) that aren't deleted - * immediately after they are used, and are kept around by the download - * manager as long as space is available. - * @hide - */ - public static final int DESTINATION_CACHE_PARTITION_PURGEABLE = 2; - - /** - * This download will be saved to the download manager's private - * partition, as with DESTINATION_CACHE_PARTITION, but the download - * will not proceed if the user is on a roaming data connection. - * @hide - */ - public static final int DESTINATION_CACHE_PARTITION_NOROAMING = 3; - - /** - * This download is allowed to run. - * @hide - */ - public static final int CONTROL_RUN = 0; - - /** - * This download must pause at the first opportunity. - * @hide - */ - public static final int CONTROL_PAUSED = 1; - - /* - * Lists the states that the download manager can set on a download - * to notify applications of the download progress. - * The codes follow the HTTP families:<br> - * 1xx: informational<br> - * 2xx: success<br> - * 3xx: redirects (not used by the download manager)<br> - * 4xx: client errors<br> - * 5xx: server errors - */ - - /** - * Returns whether the status is informational (i.e. 1xx). - * @hide - */ - public static boolean isStatusInformational(int status) { - return (status >= 100 && status < 200); - } - - /** - * Returns whether the status is a success (i.e. 2xx). - * @hide - */ - public static boolean isStatusSuccess(int status) { - return (status >= 200 && status < 300); - } - - /** - * Returns whether the status is an error (i.e. 4xx or 5xx). - * @hide - */ - public static boolean isStatusError(int status) { - return (status >= 400 && status < 600); - } - - /** - * Returns whether the status is a client error (i.e. 4xx). - * @hide - */ - public static boolean isStatusClientError(int status) { - return (status >= 400 && status < 500); - } - - /** - * Returns whether the status is a server error (i.e. 5xx). - * @hide - */ - public static boolean isStatusServerError(int status) { - return (status >= 500 && status < 600); - } - - /** - * Returns whether the download has completed (either with success or - * error). - * @hide - */ - public static boolean isStatusCompleted(int status) { - return (status >= 200 && status < 300) || (status >= 400 && status < 600); - } - - /** - * This download hasn't stated yet - * @hide - */ - public static final int STATUS_PENDING = 190; - - /** - * This download has started - * @hide - */ - public static final int STATUS_RUNNING = 192; - - /** - * This download has successfully completed. - * Warning: there might be other status values that indicate success - * in the future. - * Use isSucccess() to capture the entire category. - * @hide - */ - public static final int STATUS_SUCCESS = 200; - - /** - * This request couldn't be parsed. This is also used when processing - * requests with unknown/unsupported URI schemes. - * @hide - */ - public static final int STATUS_BAD_REQUEST = 400; - - /** - * This download can't be performed because the content type cannot be - * handled. - * @hide - */ - public static final int STATUS_NOT_ACCEPTABLE = 406; - - /** - * This download cannot be performed because the length cannot be - * determined accurately. This is the code for the HTTP error "Length - * Required", which is typically used when making requests that require - * a content length but don't have one, and it is also used in the - * client when a response is received whose length cannot be determined - * accurately (therefore making it impossible to know when a download - * completes). - * @hide - */ - public static final int STATUS_LENGTH_REQUIRED = 411; - - /** - * This download was interrupted and cannot be resumed. - * This is the code for the HTTP error "Precondition Failed", and it is - * also used in situations where the client doesn't have an ETag at all. - * @hide - */ - public static final int STATUS_PRECONDITION_FAILED = 412; - - /** - * This download was canceled - * @hide - */ - public static final int STATUS_CANCELED = 490; - - /** - * This download has completed with an error. - * Warning: there will be other status values that indicate errors in - * the future. Use isStatusError() to capture the entire category. - * @hide - */ - public static final int STATUS_UNKNOWN_ERROR = 491; - - /** - * This download couldn't be completed because of a storage issue. - * Typically, that's because the filesystem is missing or full. - * Use the more specific {@link #STATUS_INSUFFICIENT_SPACE_ERROR} - * and {@link #STATUS_DEVICE_NOT_FOUND_ERROR} when appropriate. - * @hide - */ - public static final int STATUS_FILE_ERROR = 492; - - /** - * This download couldn't be completed because of an HTTP - * redirect response that the download manager couldn't - * handle. - * @hide - */ - public static final int STATUS_UNHANDLED_REDIRECT = 493; - - /** - * This download couldn't be completed because of an - * unspecified unhandled HTTP code. - * @hide - */ - public static final int STATUS_UNHANDLED_HTTP_CODE = 494; - - /** - * This download couldn't be completed because of an - * error receiving or processing data at the HTTP level. - * @hide - */ - public static final int STATUS_HTTP_DATA_ERROR = 495; - - /** - * This download couldn't be completed because of an - * HttpException while setting up the request. - * @hide - */ - public static final int STATUS_HTTP_EXCEPTION = 496; - - /** - * This download couldn't be completed because there were - * too many redirects. - * @hide - */ - public static final int STATUS_TOO_MANY_REDIRECTS = 497; - - /** - * This download couldn't be completed due to insufficient storage - * space. Typically, this is because the SD card is full. - * @hide - */ - public static final int STATUS_INSUFFICIENT_SPACE_ERROR = 498; - - /** - * This download couldn't be completed because no external storage - * device was found. Typically, this is because the SD card is not - * mounted. - * @hide - */ - public static final int STATUS_DEVICE_NOT_FOUND_ERROR = 499; - - /** - * This download is visible but only shows in the notifications - * while it's in progress. - * @hide - */ - public static final int VISIBILITY_VISIBLE = 0; - - /** - * This download is visible and shows in the notifications while - * in progress and after completion. - * @hide - */ - public static final int VISIBILITY_VISIBLE_NOTIFY_COMPLETED = 1; - - /** - * This download doesn't show in the UI or in the notifications. - * @hide - */ - public static final int VISIBILITY_HIDDEN = 2; - - /** * Implementation details * * Exposes constants used to interact with the download manager's |