summaryrefslogtreecommitdiffstats
path: root/src/com/android/providers/downloads/DownloadInfo.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/providers/downloads/DownloadInfo.java')
-rw-r--r--src/com/android/providers/downloads/DownloadInfo.java70
1 files changed, 47 insertions, 23 deletions
diff --git a/src/com/android/providers/downloads/DownloadInfo.java b/src/com/android/providers/downloads/DownloadInfo.java
index c879e7e0..9ce58cd8 100644
--- a/src/com/android/providers/downloads/DownloadInfo.java
+++ b/src/com/android/providers/downloads/DownloadInfo.java
@@ -34,6 +34,8 @@ import android.text.TextUtils;
import android.util.Log;
import android.util.Pair;
+import com.android.internal.util.IndentingPrintWriter;
+
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Collection;
@@ -90,6 +92,7 @@ public class DownloadInfo {
info.mIsPublicApi = getInt(Downloads.Impl.COLUMN_IS_PUBLIC_API) != 0;
info.mAllowedNetworkTypes = getInt(Downloads.Impl.COLUMN_ALLOWED_NETWORK_TYPES);
info.mAllowRoaming = getInt(Downloads.Impl.COLUMN_ALLOW_ROAMING) != 0;
+ info.mAllowMetered = getInt(Downloads.Impl.COLUMN_ALLOW_METERED) != 0;
info.mTitle = getString(Downloads.Impl.COLUMN_TITLE);
info.mDescription = getString(Downloads.Impl.COLUMN_DESCRIPTION);
info.mBypassRecommendedSizeLimit =
@@ -219,6 +222,7 @@ public class DownloadInfo {
public boolean mIsPublicApi;
public int mAllowedNetworkTypes;
public boolean mAllowRoaming;
+ public boolean mAllowMetered;
public String mTitle;
public String mDescription;
public int mBypassRecommendedSizeLimit;
@@ -347,6 +351,9 @@ public class DownloadInfo {
if (!isRoamingAllowed() && mSystemFacade.isNetworkRoaming()) {
return NETWORK_CANNOT_USE_ROAMING;
}
+ if (!mAllowMetered && mSystemFacade.isActiveNetworkMetered()) {
+ return NETWORK_TYPE_DISALLOWED_BY_REQUESTOR;
+ }
return checkIsNetworkTypeAllowed(info.getType());
}
@@ -477,29 +484,46 @@ public class DownloadInfo {
return ContentUris.withAppendedId(Downloads.Impl.ALL_DOWNLOADS_CONTENT_URI, mId);
}
- public void dump(PrintWriter writer) {
- writer.println("DownloadInfo:");
-
- writer.print(" mId="); writer.print(mId);
- writer.print(" mLastMod="); writer.print(mLastMod);
- writer.print(" mPackage="); writer.print(mPackage);
- writer.print(" mUid="); writer.println(mUid);
-
- writer.print(" mUri="); writer.print(mUri);
- writer.print(" mMimeType="); writer.print(mMimeType);
- writer.print(" mCookies="); writer.print((mCookies != null) ? "yes" : "no");
- writer.print(" mReferer="); writer.println((mReferer != null) ? "yes" : "no");
-
- writer.print(" mUserAgent="); writer.println(mUserAgent);
-
- writer.print(" mFileName="); writer.println(mFileName);
-
- writer.print(" mStatus="); writer.print(mStatus);
- writer.print(" mCurrentBytes="); writer.print(mCurrentBytes);
- writer.print(" mTotalBytes="); writer.println(mTotalBytes);
-
- writer.print(" mNumFailed="); writer.print(mNumFailed);
- writer.print(" mRetryAfter="); writer.println(mRetryAfter);
+ public void dump(IndentingPrintWriter pw) {
+ pw.println("DownloadInfo:");
+ pw.increaseIndent();
+
+ pw.printPair("mId", mId);
+ pw.printPair("mLastMod", mLastMod);
+ pw.printPair("mPackage", mPackage);
+ pw.printPair("mUid", mUid);
+ pw.println();
+
+ pw.printPair("mUri", mUri);
+ pw.println();
+
+ pw.printPair("mMimeType", mMimeType);
+ pw.printPair("mCookies", (mCookies != null) ? "yes" : "no");
+ pw.printPair("mReferer", (mReferer != null) ? "yes" : "no");
+ pw.printPair("mUserAgent", mUserAgent);
+ pw.println();
+
+ pw.printPair("mFileName", mFileName);
+ pw.printPair("mDestination", mDestination);
+ pw.println();
+
+ pw.printPair("mStatus", Downloads.Impl.statusToString(mStatus));
+ pw.printPair("mCurrentBytes", mCurrentBytes);
+ pw.printPair("mTotalBytes", mTotalBytes);
+ pw.println();
+
+ pw.printPair("mNumFailed", mNumFailed);
+ pw.printPair("mRetryAfter", mRetryAfter);
+ pw.printPair("mETag", mETag);
+ pw.printPair("mIsPublicApi", mIsPublicApi);
+ pw.println();
+
+ pw.printPair("mAllowedNetworkTypes", mAllowedNetworkTypes);
+ pw.printPair("mAllowRoaming", mAllowRoaming);
+ pw.printPair("mAllowMetered", mAllowMetered);
+ pw.println();
+
+ pw.decreaseIndent();
}
/**