summaryrefslogtreecommitdiffstats
path: root/services/java/com/android/server/ConnectivityService.java
diff options
context:
space:
mode:
authorJeff Sharkey <jsharkey@android.com>2012-04-17 12:23:40 -0700
committerJeff Sharkey <jsharkey@android.com>2012-04-18 10:12:09 -0700
commit15ec7d6d7f23ec197a88619b5e03320cfebd2240 (patch)
tree7451becce140741cc122da92f5d1443f89125cb7 /services/java/com/android/server/ConnectivityService.java
parent70544533aec6b318ff1687c9eec0cb9e86ce1b1a (diff)
downloadframeworks_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.java36
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) {