From 32c773b16aca2dea55889aab8af8fa0088c2eefb Mon Sep 17 00:00:00 2001 From: Jeff Sharkey Date: Sat, 21 Apr 2012 15:36:48 -0700 Subject: [PATCH] Better assertions when bandwidth module disabled. Also disable some verbose logging in WifiStateTracker. Bug: 6368329 Change-Id: I9a5219bc1b3fd870468f7de46cdf4f173a437c59 --- .../com/android/server/net/NetworkStatsService.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/services/java/com/android/server/net/NetworkStatsService.java b/services/java/com/android/server/net/NetworkStatsService.java index 2a67e02db2..f53e9570d7 100644 --- a/services/java/com/android/server/net/NetworkStatsService.java +++ b/services/java/com/android/server/net/NetworkStatsService.java @@ -420,6 +420,7 @@ public class NetworkStatsService extends INetworkStatsService.Stub { @Override public INetworkStatsSession openSession() { mContext.enforceCallingOrSelfPermission(READ_NETWORK_USAGE_HISTORY, TAG); + assertBandwidthControlEnabled(); // return an IBinder which holds strong references to any loaded stats // for its lifetime; when caller closes only weak references remain. @@ -486,6 +487,7 @@ public class NetworkStatsService extends INetworkStatsService.Stub { @Override public long getNetworkTotalBytes(NetworkTemplate template, long start, long end) { mContext.enforceCallingOrSelfPermission(READ_NETWORK_USAGE_HISTORY, TAG); + assertBandwidthControlEnabled(); return mDevStatsCached.getSummary(template, start, end).getTotalBytes(); } @@ -494,6 +496,7 @@ public class NetworkStatsService extends INetworkStatsService.Stub { if (Binder.getCallingUid() != uid) { mContext.enforceCallingOrSelfPermission(ACCESS_NETWORK_STATE, TAG); } + assertBandwidthControlEnabled(); // TODO: switch to data layer stats once kernel exports // for now, read network layer stats and flatten across all ifaces @@ -565,6 +568,7 @@ public class NetworkStatsService extends INetworkStatsService.Stub { @Override public void forceUpdate() { mContext.enforceCallingOrSelfPermission(READ_NETWORK_USAGE_HISTORY, TAG); + assertBandwidthControlEnabled(); final long token = Binder.clearCallingIdentity(); try { @@ -1039,6 +1043,12 @@ public class NetworkStatsService extends INetworkStatsService.Stub { } }; + private void assertBandwidthControlEnabled() { + if (!isBandwidthControlEnabled()) { + throw new IllegalStateException("Bandwidth module disabled"); + } + } + private boolean isBandwidthControlEnabled() { try { return mNetworkManager.isBandwidthControlEnabled();