diff options
Diffstat (limited to 'src/com/android/providers/downloads/DownloadInfo.java')
-rw-r--r-- | src/com/android/providers/downloads/DownloadInfo.java | 70 |
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(); } /** |