diff options
author | Jeff Sharkey <jsharkey@android.com> | 2012-04-17 12:23:40 -0700 |
---|---|---|
committer | Jeff Sharkey <jsharkey@android.com> | 2012-04-18 10:12:09 -0700 |
commit | 15ec7d6d7f23ec197a88619b5e03320cfebd2240 (patch) | |
tree | 7451becce140741cc122da92f5d1443f89125cb7 /services/java/com/android/server/ConnectivityService.java | |
parent | 70544533aec6b318ff1687c9eec0cb9e86ce1b1a (diff) | |
download | frameworks_base-15ec7d6d7f23ec197a88619b5e03320cfebd2240.zip frameworks_base-15ec7d6d7f23ec197a88619b5e03320cfebd2240.tar.gz frameworks_base-15ec7d6d7f23ec197a88619b5e03320cfebd2240.tar.bz2 |
Add ALLOW_METERED column to DownloadManager.
Also allow isActiveNetworkMetered() to inspect networks without
requiring ACCESS_WIFI_STATE.
Bug: 3001465
Change-Id: Ibc23577d4ad941e4f93db417be6b046881dcbfb1
Diffstat (limited to 'services/java/com/android/server/ConnectivityService.java')
-rw-r--r-- | services/java/com/android/server/ConnectivityService.java | 36 |
1 files changed, 24 insertions, 12 deletions
diff --git a/services/java/com/android/server/ConnectivityService.java b/services/java/com/android/server/ConnectivityService.java index 359074a..722e312 100644 --- a/services/java/com/android/server/ConnectivityService.java +++ b/services/java/com/android/server/ConnectivityService.java @@ -865,27 +865,39 @@ private NetworkStateTracker makeWimaxStateTracker() { @Override public NetworkQuotaInfo getActiveNetworkQuotaInfo() { enforceAccessPermission(); - final NetworkState state = getNetworkStateUnchecked(mActiveDefaultNetwork); - if (state != null) { - try { - return mPolicyManager.getNetworkQuotaInfo(state); - } catch (RemoteException e) { + + final long token = Binder.clearCallingIdentity(); + try { + final NetworkState state = getNetworkStateUnchecked(mActiveDefaultNetwork); + if (state != null) { + try { + return mPolicyManager.getNetworkQuotaInfo(state); + } catch (RemoteException e) { + } } + return null; + } finally { + Binder.restoreCallingIdentity(token); } - return null; } @Override public boolean isActiveNetworkMetered() { enforceAccessPermission(); - final NetworkState state = getNetworkStateUnchecked(mActiveDefaultNetwork); - if (state != null) { - try { - return mPolicyManager.isNetworkMetered(state); - } catch (RemoteException e) { + + final long token = Binder.clearCallingIdentity(); + try { + final NetworkState state = getNetworkStateUnchecked(mActiveDefaultNetwork); + if (state != null) { + try { + return mPolicyManager.isNetworkMetered(state); + } catch (RemoteException e) { + } } + return false; + } finally { + Binder.restoreCallingIdentity(token); } - return false; } public boolean setRadios(boolean turnOn) { |