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,27 +865,39 @@ private NetworkStateTracker makeWimaxStateTracker() {
@Override @Override
public NetworkQuotaInfo getActiveNetworkQuotaInfo() { public NetworkQuotaInfo getActiveNetworkQuotaInfo() {
enforceAccessPermission(); enforceAccessPermission();
final NetworkState state = getNetworkStateUnchecked(mActiveDefaultNetwork);
if (state != null) { final long token = Binder.clearCallingIdentity();
try { try {
return mPolicyManager.getNetworkQuotaInfo(state); final NetworkState state = getNetworkStateUnchecked(mActiveDefaultNetwork);
} catch (RemoteException e) { if (state != null) {
try {
return mPolicyManager.getNetworkQuotaInfo(state);
} catch (RemoteException e) {
}
} }
return null;
} finally {
Binder.restoreCallingIdentity(token);
} }
return null;
} }
@Override @Override
public boolean isActiveNetworkMetered() { public boolean isActiveNetworkMetered() {
enforceAccessPermission(); enforceAccessPermission();
final NetworkState state = getNetworkStateUnchecked(mActiveDefaultNetwork);
if (state != null) { final long token = Binder.clearCallingIdentity();
try { try {
return mPolicyManager.isNetworkMetered(state); final NetworkState state = getNetworkStateUnchecked(mActiveDefaultNetwork);
} catch (RemoteException e) { if (state != null) {
try {
return mPolicyManager.isNetworkMetered(state);
} catch (RemoteException e) {
}
} }
return false;
} finally {
Binder.restoreCallingIdentity(token);
} }
return false;
} }
public boolean setRadios(boolean turnOn) { public boolean setRadios(boolean turnOn) {