summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Baptiste Queru <jbq@google.com>2009-09-20 18:51:28 -0700
committerJean-Baptiste Queru <jbq@google.com>2009-09-21 07:54:39 -0700
commita581a4af046fd82b5854d213519e3f418047c0ba (patch)
tree93af4ab7f3651e0649e8e85f1ec1b87a2f881bca
parent7dd04503e767637c0e4f1b4517f613c8b0c79024 (diff)
downloadandroid_packages_providers_DownloadProvider-a581a4af046fd82b5854d213519e3f418047c0ba.tar.gz
android_packages_providers_DownloadProvider-a581a4af046fd82b5854d213519e3f418047c0ba.tar.bz2
android_packages_providers_DownloadProvider-a581a4af046fd82b5854d213519e3f418047c0ba.zip
Add logging to track connectivity as seen from the Download Manager.
This is enabled by a separate build-time constant, so that it can be turned on for everyone without having to use a system property. BUG=2055624
-rw-r--r--src/com/android/providers/downloads/Constants.java3
-rw-r--r--src/com/android/providers/downloads/DownloadReceiver.java10
-rw-r--r--src/com/android/providers/downloads/DownloadThread.java28
3 files changed, 41 insertions, 0 deletions
diff --git a/src/com/android/providers/downloads/Constants.java b/src/com/android/providers/downloads/Constants.java
index 993ed781..cae53702 100644
--- a/src/com/android/providers/downloads/Constants.java
+++ b/src/com/android/providers/downloads/Constants.java
@@ -140,6 +140,9 @@ public class Constants {
*/
public static final int RETRY_FIRST_DELAY = 30;
+ /** Enable separate connectivity logging */
+ static final boolean LOGX = true;
+
/** Enable verbose logging - use with "setprop log.tag.DownloadManager VERBOSE" */
private static final boolean LOCAL_LOGV = true;
public static final boolean LOGV = Config.LOGV
diff --git a/src/com/android/providers/downloads/DownloadReceiver.java b/src/com/android/providers/downloads/DownloadReceiver.java
index c0ccad3a..74f29318 100644
--- a/src/com/android/providers/downloads/DownloadReceiver.java
+++ b/src/com/android/providers/downloads/DownloadReceiver.java
@@ -51,12 +51,22 @@ public class DownloadReceiver extends BroadcastReceiver {
NetworkInfo info = (NetworkInfo)
intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO);
if (info != null && info.isConnected()) {
+ if (Constants.LOGX) {
+ Log.i(Constants.TAG, "Broadcast: Network Up");
+ }
context.startService(new Intent(context, DownloadService.class));
+ } else {
+ if (Constants.LOGX) {
+ Log.i(Constants.TAG, "Broadcast: Network Down");
+ }
}
} else if (intent.getAction().equals(Constants.ACTION_RETRY)) {
if (Constants.LOGVV) {
Log.v(Constants.TAG, "Receiver retry");
}
+ if (Constants.LOGX) {
+ Log.i(Constants.TAG, "Broadcast: Timed Retry");
+ }
context.startService(new Intent(context, DownloadService.class));
} else if (intent.getAction().equals(Constants.ACTION_OPEN)
|| intent.getAction().equals(Constants.ACTION_LIST)) {
diff --git a/src/com/android/providers/downloads/DownloadThread.java b/src/com/android/providers/downloads/DownloadThread.java
index 7703d14d..cee34cff 100644
--- a/src/com/android/providers/downloads/DownloadThread.java
+++ b/src/com/android/providers/downloads/DownloadThread.java
@@ -201,6 +201,13 @@ http_request_loop:
HttpResponse response;
try {
+ if (Constants.LOGX) {
+ if (Helpers.isNetworkAvailable(mContext)) {
+ Log.i(Constants.TAG, "Starting, Net Up");
+ } else {
+ Log.i(Constants.TAG, "Starting, Net Down");
+ }
+ }
response = client.execute(request);
} catch (IllegalArgumentException ex) {
if (Constants.LOGV) {
@@ -214,6 +221,13 @@ http_request_loop:
request.abort();
break http_request_loop;
} catch (IOException ex) {
+ if (Constants.LOGX) {
+ if (Helpers.isNetworkAvailable(mContext)) {
+ Log.i(Constants.TAG, "Execute Failed, Net Up");
+ } else {
+ Log.i(Constants.TAG, "Execute Failed, Net Down");
+ }
+ }
if (!Helpers.isNetworkAvailable(mContext)) {
finalStatus = Downloads.STATUS_RUNNING_PAUSED;
} else if (mInfo.mNumFailed < Constants.MAX_RETRIES) {
@@ -442,6 +456,13 @@ http_request_loop:
try {
entityStream = response.getEntity().getContent();
} catch (IOException ex) {
+ if (Constants.LOGX) {
+ if (Helpers.isNetworkAvailable(mContext)) {
+ Log.i(Constants.TAG, "GetContent Failed, Net Up");
+ } else {
+ Log.i(Constants.TAG, "GetContent Failed, Net Down");
+ }
+ }
if (!Helpers.isNetworkAvailable(mContext)) {
finalStatus = Downloads.STATUS_RUNNING_PAUSED;
} else if (mInfo.mNumFailed < Constants.MAX_RETRIES) {
@@ -468,6 +489,13 @@ http_request_loop:
try {
bytesRead = entityStream.read(data);
} catch (IOException ex) {
+ if (Constants.LOGX) {
+ if (Helpers.isNetworkAvailable(mContext)) {
+ Log.i(Constants.TAG, "Read Failed, Net Up");
+ } else {
+ Log.i(Constants.TAG, "Read Failed, Net Down");
+ }
+ }
ContentValues values = new ContentValues();
values.put(Downloads.COLUMN_CURRENT_BYTES, bytesSoFar);
mContext.getContentResolver().update(contentUri, values, null, null);