diff options
author | Jeff Sharkey <jsharkey@android.com> | 2011-09-14 21:44:19 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-09-14 21:44:19 -0700 |
commit | fc0ab4c065babdda912d0a1b9fce9ab59140482a (patch) | |
tree | 80ffe1e0172c44cb4b3bb9517cddac00c1596f25 /services | |
parent | 93578af23ecfb8f5b6001346d63c6214cdec5d17 (diff) | |
parent | 991d1b1b3f303ad247a959881b1d5b57766f678b (diff) | |
download | frameworks_base-fc0ab4c065babdda912d0a1b9fce9ab59140482a.zip frameworks_base-fc0ab4c065babdda912d0a1b9fce9ab59140482a.tar.gz frameworks_base-fc0ab4c065babdda912d0a1b9fce9ab59140482a.tar.bz2 |
Merge "Network stats flag to force complete poll."
Diffstat (limited to 'services')
-rw-r--r-- | services/java/com/android/server/net/NetworkStatsService.java | 21 | ||||
-rw-r--r-- | services/tests/servicestests/src/com/android/server/NetworkStatsServiceTest.java | 1 |
2 files changed, 20 insertions, 2 deletions
diff --git a/services/java/com/android/server/net/NetworkStatsService.java b/services/java/com/android/server/net/NetworkStatsService.java index af29d85..a2b097e 100644 --- a/services/java/com/android/server/net/NetworkStatsService.java +++ b/services/java/com/android/server/net/NetworkStatsService.java @@ -34,6 +34,7 @@ import static android.net.NetworkStats.UID_ALL; import static android.net.NetworkTemplate.buildTemplateMobileAll; import static android.net.NetworkTemplate.buildTemplateWifi; import static android.net.TrafficStats.UID_REMOVED; +import static android.provider.Settings.Secure.NETSTATS_FORCE_COMPLETE_POLL; import static android.provider.Settings.Secure.NETSTATS_NETWORK_BUCKET_DURATION; import static android.provider.Settings.Secure.NETSTATS_NETWORK_MAX_HISTORY; import static android.provider.Settings.Secure.NETSTATS_PERSIST_THRESHOLD; @@ -176,6 +177,7 @@ public class NetworkStatsService extends INetworkStatsService.Stub { public long getUidMaxHistory(); public long getTagMaxHistory(); public long getTimeCacheMaxAge(); + public boolean getForceCompletePoll(); } private final Object mStatsLock = new Object(); @@ -682,8 +684,16 @@ public class NetworkStatsService extends INetworkStatsService.Stub { if (LOGV) Slog.v(TAG, "performPollLocked(flags=0x" + Integer.toHexString(flags) + ")"); final long startRealtime = SystemClock.elapsedRealtime(); - final boolean pollNetwork = (flags & FLAG_POLL_NETWORK) != 0; - final boolean pollUid = (flags & FLAG_POLL_UID) != 0; + boolean pollNetwork = (flags & FLAG_POLL_NETWORK) != 0; + boolean pollUid = (flags & FLAG_POLL_UID) != 0; + + // when complete poll requested, any partial poll enables everything + final boolean forceCompletePoll = mSettings.getForceCompletePoll(); + if (forceCompletePoll && (pollNetwork || pollUid)) { + pollNetwork = true; + pollUid = true; + } + final boolean persistNetwork = (flags & FLAG_PERSIST_NETWORK) != 0; final boolean persistUid = (flags & FLAG_PERSIST_UID) != 0; final boolean forcePersist = (flags & FLAG_FORCE_PERSIST) != 0; @@ -1360,6 +1370,10 @@ public class NetworkStatsService extends INetworkStatsService.Stub { private long getSecureLong(String name, long def) { return Settings.Secure.getLong(mResolver, name, def); } + private boolean getSecureBoolean(String name, boolean def) { + final int defInt = def ? 1 : 0; + return Settings.Secure.getInt(mResolver, name, defInt) != 0; + } public long getPollInterval() { return getSecureLong(NETSTATS_POLL_INTERVAL, 30 * MINUTE_IN_MILLIS); @@ -1385,5 +1399,8 @@ public class NetworkStatsService extends INetworkStatsService.Stub { public long getTimeCacheMaxAge() { return DAY_IN_MILLIS; } + public boolean getForceCompletePoll() { + return getSecureBoolean(NETSTATS_FORCE_COMPLETE_POLL, false); + } } } diff --git a/services/tests/servicestests/src/com/android/server/NetworkStatsServiceTest.java b/services/tests/servicestests/src/com/android/server/NetworkStatsServiceTest.java index e7f1d9a..2b1eea1 100644 --- a/services/tests/servicestests/src/com/android/server/NetworkStatsServiceTest.java +++ b/services/tests/servicestests/src/com/android/server/NetworkStatsServiceTest.java @@ -758,6 +758,7 @@ public class NetworkStatsServiceTest extends AndroidTestCase { expect(mSettings.getUidMaxHistory()).andReturn(maxHistory).anyTimes(); expect(mSettings.getTagMaxHistory()).andReturn(maxHistory).anyTimes(); expect(mSettings.getTimeCacheMaxAge()).andReturn(DAY_IN_MILLIS).anyTimes(); + expect(mSettings.getForceCompletePoll()).andReturn(false).anyTimes(); } private void expectCurrentTime() throws Exception { |