Add ALLOW_METERED column to DownloadManager.

Also allow isActiveNetworkMetered() to inspect networks without
requiring ACCESS_WIFI_STATE.

Bug: 3001465
Change-Id: Ibc23577d4ad941e4f93db417be6b046881dcbfb1
This commit is contained in:
Jeff Sharkey
2012-04-17 12:23:40 -07:00
parent d00b130332
commit 3022ee14a2

View File

@@ -865,6 +865,9 @@ private NetworkStateTracker makeWimaxStateTracker() {
@Override @Override
public NetworkQuotaInfo getActiveNetworkQuotaInfo() { public NetworkQuotaInfo getActiveNetworkQuotaInfo() {
enforceAccessPermission(); enforceAccessPermission();
final long token = Binder.clearCallingIdentity();
try {
final NetworkState state = getNetworkStateUnchecked(mActiveDefaultNetwork); final NetworkState state = getNetworkStateUnchecked(mActiveDefaultNetwork);
if (state != null) { if (state != null) {
try { try {
@@ -873,11 +876,17 @@ private NetworkStateTracker makeWimaxStateTracker() {
} }
} }
return null; return null;
} finally {
Binder.restoreCallingIdentity(token);
}
} }
@Override @Override
public boolean isActiveNetworkMetered() { public boolean isActiveNetworkMetered() {
enforceAccessPermission(); enforceAccessPermission();
final long token = Binder.clearCallingIdentity();
try {
final NetworkState state = getNetworkStateUnchecked(mActiveDefaultNetwork); final NetworkState state = getNetworkStateUnchecked(mActiveDefaultNetwork);
if (state != null) { if (state != null) {
try { try {
@@ -886,6 +895,9 @@ private NetworkStateTracker makeWimaxStateTracker() {
} }
} }
return false; return false;
} finally {
Binder.restoreCallingIdentity(token);
}
} }
public boolean setRadios(boolean turnOn) { public boolean setRadios(boolean turnOn) {