From 0d4f9f105c3a31475a36e9a1edfa868c66ff455f Mon Sep 17 00:00:00 2001 From: Steve Howard Date: Tue, 27 Jul 2010 19:47:50 -0700 Subject: Get wifi limit from secure settings. Change-Id: I750654c28cb3d9f9aa67bd56e4d8d770dbfde4b4 --- src/com/android/providers/downloads/DownloadInfo.java | 2 +- src/com/android/providers/downloads/RealSystemFacade.java | 11 +++++++++-- src/com/android/providers/downloads/SystemFacade.java | 2 +- .../src/com/android/providers/downloads/FakeSystemFacade.java | 4 ++-- .../android/providers/downloads/PublicApiFunctionalTest.java | 2 +- 5 files changed, 14 insertions(+), 7 deletions(-) diff --git a/src/com/android/providers/downloads/DownloadInfo.java b/src/com/android/providers/downloads/DownloadInfo.java index ee3ca544..4c08b156 100644 --- a/src/com/android/providers/downloads/DownloadInfo.java +++ b/src/com/android/providers/downloads/DownloadInfo.java @@ -345,7 +345,7 @@ public class DownloadInfo { if (networkType == ConnectivityManager.TYPE_WIFI) { return true; // anything goes over wifi } - Integer maxBytesOverMobile = mSystemFacade.getMaxBytesOverMobile(); + Long maxBytesOverMobile = mSystemFacade.getMaxBytesOverMobile(); if (maxBytesOverMobile == null) { return true; // no limit } diff --git a/src/com/android/providers/downloads/RealSystemFacade.java b/src/com/android/providers/downloads/RealSystemFacade.java index adf0107a..710da10d 100644 --- a/src/com/android/providers/downloads/RealSystemFacade.java +++ b/src/com/android/providers/downloads/RealSystemFacade.java @@ -7,6 +7,8 @@ import android.content.Intent; import android.content.pm.PackageManager.NameNotFoundException; import android.net.ConnectivityManager; import android.net.NetworkInfo; +import android.provider.Settings; +import android.provider.Settings.SettingNotFoundException; import android.telephony.TelephonyManager; import android.util.Log; @@ -59,8 +61,13 @@ class RealSystemFacade implements SystemFacade { return isRoaming; } - public Integer getMaxBytesOverMobile() { - return null; + public Long getMaxBytesOverMobile() { + try { + return Settings.Secure.getLong(mContext.getContentResolver(), + Settings.Secure.DOWNLOAD_MAX_BYTES_OVER_MOBILE); + } catch (SettingNotFoundException exc) { + return null; + } } @Override diff --git a/src/com/android/providers/downloads/SystemFacade.java b/src/com/android/providers/downloads/SystemFacade.java index 3f8ff264..c1941692 100644 --- a/src/com/android/providers/downloads/SystemFacade.java +++ b/src/com/android/providers/downloads/SystemFacade.java @@ -27,7 +27,7 @@ interface SystemFacade { * @return maximum size, in bytes, of downloads that may go over a mobile connection; or null if * there's no limit */ - public Integer getMaxBytesOverMobile(); + public Long getMaxBytesOverMobile(); /** * Send a broadcast intent. diff --git a/tests/src/com/android/providers/downloads/FakeSystemFacade.java b/tests/src/com/android/providers/downloads/FakeSystemFacade.java index 297c1d3a..40b2a900 100644 --- a/tests/src/com/android/providers/downloads/FakeSystemFacade.java +++ b/tests/src/com/android/providers/downloads/FakeSystemFacade.java @@ -17,7 +17,7 @@ public class FakeSystemFacade implements SystemFacade { long mTimeMillis = 0; Integer mActiveNetworkType = ConnectivityManager.TYPE_WIFI; boolean mIsRoaming = false; - Integer mMaxBytesOverMobile = null; + Long mMaxBytesOverMobile = null; List mBroadcastsSent = new ArrayList(); Map mActiveNotifications = new HashMap(); List mCanceledNotifications = new ArrayList(); @@ -39,7 +39,7 @@ public class FakeSystemFacade implements SystemFacade { return mIsRoaming; } - public Integer getMaxBytesOverMobile() { + public Long getMaxBytesOverMobile() { return mMaxBytesOverMobile ; } diff --git a/tests/src/com/android/providers/downloads/PublicApiFunctionalTest.java b/tests/src/com/android/providers/downloads/PublicApiFunctionalTest.java index d33e458d..b601846a 100644 --- a/tests/src/com/android/providers/downloads/PublicApiFunctionalTest.java +++ b/tests/src/com/android/providers/downloads/PublicApiFunctionalTest.java @@ -277,7 +277,7 @@ public class PublicApiFunctionalTest extends AbstractPublicApiTest { } public void testSizeLimitOverMobile() throws Exception { - mSystemFacade.mMaxBytesOverMobile = FILE_CONTENT.length() - 1; + mSystemFacade.mMaxBytesOverMobile = (long) FILE_CONTENT.length() - 1; mSystemFacade.mActiveNetworkType = ConnectivityManager.TYPE_MOBILE; enqueueResponse(HTTP_OK, FILE_CONTENT); -- cgit v1.2.3