From 9a2c2a6da90abbcc9a064c20e93ed885651f4ae1 Mon Sep 17 00:00:00 2001 From: Jeff Sharkey Date: Mon, 14 Jan 2013 16:48:51 -0800 Subject: Parse network stats using native code. Switch to parsing detailed network stats with native code, which is 71% faster than ProcFileReader. Change-Id: I2525aaee74d227ce187ba3a74dd08a2b06514deb --- .../android/server/NetworkManagementService.java | 24 ++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) (limited to 'services/java/com/android/server/NetworkManagementService.java') diff --git a/services/java/com/android/server/NetworkManagementService.java b/services/java/com/android/server/NetworkManagementService.java index 29e4c43..25ed27a 100644 --- a/services/java/com/android/server/NetworkManagementService.java +++ b/services/java/com/android/server/NetworkManagementService.java @@ -1120,19 +1120,31 @@ public class NetworkManagementService extends INetworkManagementService.Stub @Override public NetworkStats getNetworkStatsSummaryDev() { mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG); - return mStatsFactory.readNetworkStatsSummaryDev(); + try { + return mStatsFactory.readNetworkStatsSummaryDev(); + } catch (IOException e) { + throw new IllegalStateException(e); + } } @Override public NetworkStats getNetworkStatsSummaryXt() { mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG); - return mStatsFactory.readNetworkStatsSummaryXt(); + try { + return mStatsFactory.readNetworkStatsSummaryXt(); + } catch (IOException e) { + throw new IllegalStateException(e); + } } @Override public NetworkStats getNetworkStatsDetail() { mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG); - return mStatsFactory.readNetworkStatsDetail(UID_ALL); + try { + return mStatsFactory.readNetworkStatsDetail(UID_ALL); + } catch (IOException e) { + throw new IllegalStateException(e); + } } @Override @@ -1289,7 +1301,11 @@ public class NetworkManagementService extends INetworkManagementService.Stub @Override public NetworkStats getNetworkStatsUidDetail(int uid) { mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG); - return mStatsFactory.readNetworkStatsDetail(uid); + try { + return mStatsFactory.readNetworkStatsDetail(uid); + } catch (IOException e) { + throw new IllegalStateException(e); + } } @Override -- cgit v1.1