summaryrefslogtreecommitdiffstats
path: root/src/com/android
diff options
context:
space:
mode:
authorJean-Baptiste Queru <jbq@google.com>2009-11-15 12:07:00 -0800
committerJean-Baptiste Queru <jbq@google.com>2009-11-15 12:07:00 -0800
commitbb9dc6e1ac5e7ae0f12a8bb0aeb2a3b324328ec5 (patch)
treeefc617bf851c98b42b699d414ee48831d26631b3 /src/com/android
parentdbc76518512a1a5d8a0fe09e20e5aac692fd9ac4 (diff)
parentcf79a11f9fee88daf48aa71b1d521fc5e07bf839 (diff)
downloadandroid_packages_providers_DownloadProvider-bb9dc6e1ac5e7ae0f12a8bb0aeb2a3b324328ec5.tar.gz
android_packages_providers_DownloadProvider-bb9dc6e1ac5e7ae0f12a8bb0aeb2a3b324328ec5.tar.bz2
android_packages_providers_DownloadProvider-bb9dc6e1ac5e7ae0f12a8bb0aeb2a3b324328ec5.zip
merge from eclair
Diffstat (limited to 'src/com/android')
-rw-r--r--src/com/android/providers/downloads/Constants.java7
-rw-r--r--src/com/android/providers/downloads/DownloadInfo.java5
-rw-r--r--src/com/android/providers/downloads/DownloadReceiver.java15
-rw-r--r--src/com/android/providers/downloads/DownloadService.java5
-rw-r--r--src/com/android/providers/downloads/DownloadThread.java21
5 files changed, 48 insertions, 5 deletions
diff --git a/src/com/android/providers/downloads/Constants.java b/src/com/android/providers/downloads/Constants.java
index 993ed781..5cf13531 100644
--- a/src/com/android/providers/downloads/Constants.java
+++ b/src/com/android/providers/downloads/Constants.java
@@ -140,12 +140,15 @@ public class Constants {
*/
public static final int RETRY_FIRST_DELAY = 30;
+ /** Enable separate connectivity logging */
+ static final boolean LOGX = false;
+
/** Enable verbose logging - use with "setprop log.tag.DownloadManager VERBOSE" */
- private static final boolean LOCAL_LOGV = true;
+ private static final boolean LOCAL_LOGV = false;
public static final boolean LOGV = Config.LOGV
|| (Config.LOGD && LOCAL_LOGV && Log.isLoggable(TAG, Log.VERBOSE));
/** Enable super-verbose logging */
- private static final boolean LOCAL_LOGVV = true;
+ private static final boolean LOCAL_LOGVV = false;
public static final boolean LOGVV = LOCAL_LOGVV && LOGV;
}
diff --git a/src/com/android/providers/downloads/DownloadInfo.java b/src/com/android/providers/downloads/DownloadInfo.java
index 336a2a0d..88cdede2 100644
--- a/src/com/android/providers/downloads/DownloadInfo.java
+++ b/src/com/android/providers/downloads/DownloadInfo.java
@@ -50,6 +50,8 @@ public class DownloadInfo {
public String mETag;
public boolean mMediaScanned;
+ public int mFuzz;
+
public volatile boolean mHasActiveThread;
public DownloadInfo(int id, String uri, boolean noIntegrity,
@@ -83,6 +85,7 @@ public class DownloadInfo {
mCurrentBytes = currentBytes;
mETag = eTag;
mMediaScanned = mediaScanned;
+ mFuzz = Helpers.sRandom.nextInt(1001);
}
public void sendIntentIfRequested(Uri contentUri, Context context) {
@@ -110,7 +113,7 @@ public class DownloadInfo {
}
return mLastMod +
Constants.RETRY_FIRST_DELAY *
- (1000 + Helpers.sRandom.nextInt(1001)) * (1 << (mNumFailed - 1));
+ (1000 + mFuzz) * (1 << (mNumFailed - 1));
}
/**
diff --git a/src/com/android/providers/downloads/DownloadReceiver.java b/src/com/android/providers/downloads/DownloadReceiver.java
index c0ccad3a..2065c649 100644
--- a/src/com/android/providers/downloads/DownloadReceiver.java
+++ b/src/com/android/providers/downloads/DownloadReceiver.java
@@ -51,7 +51,22 @@ public class DownloadReceiver extends BroadcastReceiver {
NetworkInfo info = (NetworkInfo)
intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO);
if (info != null && info.isConnected()) {
+ if (Constants.LOGX) {
+ if (Helpers.isNetworkAvailable(context)) {
+ Log.i(Constants.TAG, "Broadcast: Network Up");
+ } else {
+ Log.i(Constants.TAG, "Broadcast: Network Up, Actually Down");
+ }
+ }
context.startService(new Intent(context, DownloadService.class));
+ } else {
+ if (Constants.LOGX) {
+ if (Helpers.isNetworkAvailable(context)) {
+ Log.i(Constants.TAG, "Broadcast: Network Down, Actually Up");
+ } else {
+ Log.i(Constants.TAG, "Broadcast: Network Down");
+ }
+ }
}
} else if (intent.getAction().equals(Constants.ACTION_RETRY)) {
if (Constants.LOGVV) {
diff --git a/src/com/android/providers/downloads/DownloadService.java b/src/com/android/providers/downloads/DownloadService.java
index 07ab9416..a246d29f 100644
--- a/src/com/android/providers/downloads/DownloadService.java
+++ b/src/com/android/providers/downloads/DownloadService.java
@@ -311,6 +311,7 @@ public class DownloadService extends Service {
null, null, null, Downloads._ID);
if (cursor == null) {
+ // TODO: this doesn't look right, it'd leave the loop in an inconsistent state
return;
}
@@ -362,7 +363,7 @@ public class DownloadService extends Service {
if (arrayPos == mDownloads.size()) {
insertDownload(cursor, arrayPos, networkAvailable, networkRoaming, now);
if (Constants.LOGVV) {
- Log.v(Constants.TAG, "Array update: inserting " +
+ Log.v(Constants.TAG, "Array update: appending " +
id + " @ " + arrayPos);
}
if (shouldScanFile(arrayPos)
@@ -421,7 +422,7 @@ public class DownloadService extends Service {
} else {
// This cursor entry didn't exist in the stored array
if (Constants.LOGVV) {
- Log.v(Constants.TAG, "Array update: appending " +
+ Log.v(Constants.TAG, "Array update: inserting " +
id + " @ " + arrayPos);
}
insertDownload(
diff --git a/src/com/android/providers/downloads/DownloadThread.java b/src/com/android/providers/downloads/DownloadThread.java
index 7703d14d..d899314b 100644
--- a/src/com/android/providers/downloads/DownloadThread.java
+++ b/src/com/android/providers/downloads/DownloadThread.java
@@ -214,6 +214,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 " + mInfo.mId + ", Net Up");
+ } else {
+ Log.i(Constants.TAG, "Execute Failed " + mInfo.mId + ", Net Down");
+ }
+ }
if (!Helpers.isNetworkAvailable(mContext)) {
finalStatus = Downloads.STATUS_RUNNING_PAUSED;
} else if (mInfo.mNumFailed < Constants.MAX_RETRIES) {
@@ -442,6 +449,13 @@ http_request_loop:
try {
entityStream = response.getEntity().getContent();
} catch (IOException ex) {
+ if (Constants.LOGX) {
+ if (Helpers.isNetworkAvailable(mContext)) {
+ Log.i(Constants.TAG, "Get Failed " + mInfo.mId + ", Net Up");
+ } else {
+ Log.i(Constants.TAG, "Get Failed " + mInfo.mId + ", Net Down");
+ }
+ }
if (!Helpers.isNetworkAvailable(mContext)) {
finalStatus = Downloads.STATUS_RUNNING_PAUSED;
} else if (mInfo.mNumFailed < Constants.MAX_RETRIES) {
@@ -468,6 +482,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 " + mInfo.mId + ", Net Up");
+ } else {
+ Log.i(Constants.TAG, "Read Failed " + mInfo.mId + ", Net Down");
+ }
+ }
ContentValues values = new ContentValues();
values.put(Downloads.COLUMN_CURRENT_BYTES, bytesSoFar);
mContext.getContentResolver().update(contentUri, values, null, null);