summaryrefslogtreecommitdiffstats
path: root/services/tests/servicestests
diff options
context:
space:
mode:
authorSreeram Ramachandran <sreeram@google.com>2014-11-12 22:31:52 -0800
committerSreeram Ramachandran <sreeram@google.com>2014-11-21 08:07:13 -0800
commit21b5ee3f0e39be4a79bcfb2b79b0529f75f5cb58 (patch)
tree4cab5d1c3150323c137477c0ac5a42784083106f /services/tests/servicestests
parent08229e817ecb67b0c7ebbd6b5b9ce4aef1b38cc2 (diff)
downloadframeworks_base-21b5ee3f0e39be4a79bcfb2b79b0529f75f5cb58.zip
frameworks_base-21b5ee3f0e39be4a79bcfb2b79b0529f75f5cb58.tar.gz
frameworks_base-21b5ee3f0e39be4a79bcfb2b79b0529f75f5cb58.tar.bz2
Eliminate race conditions in UID-based network filtering.
The previous code retrieved information from the legacy tracker multiple times for each user query, leading to race conditions where the info could've changed between the calls. Refactors the handling of legacy data types in ConnectivityService and unifies call paths so that APIs that deal with legacy data types (NetworkInfo and int/networkType) and newer types (such as Network) go through common code paths, using NetworkState to hold all the necessary data pieces. This enables follow-on bug fixes to getActiveNetworkInfo(). The changes are limited to public "query" APIs (those that retrieve some network information or the other). More details about the specific changes and their rationale can be found in the code review thread. Bug: 17460017 Change-Id: I656ee7eddf2b8cace5627036452bb5748043406c
Diffstat (limited to 'services/tests/servicestests')
-rw-r--r--services/tests/servicestests/src/com/android/server/NetworkPolicyManagerServiceTest.java2
-rw-r--r--services/tests/servicestests/src/com/android/server/NetworkStatsServiceTest.java6
2 files changed, 4 insertions, 4 deletions
diff --git a/services/tests/servicestests/src/com/android/server/NetworkPolicyManagerServiceTest.java b/services/tests/servicestests/src/com/android/server/NetworkPolicyManagerServiceTest.java
index 8392672..b74716f 100644
--- a/services/tests/servicestests/src/com/android/server/NetworkPolicyManagerServiceTest.java
+++ b/services/tests/servicestests/src/com/android/server/NetworkPolicyManagerServiceTest.java
@@ -838,7 +838,7 @@ public class NetworkPolicyManagerServiceTest extends AndroidTestCase {
info.setDetailedState(DetailedState.CONNECTED, null, null);
final LinkProperties prop = new LinkProperties();
prop.setInterfaceName(TEST_IFACE);
- return new NetworkState(info, prop, null, null, TEST_SSID);
+ return new NetworkState(info, prop, null, null, null, TEST_SSID);
}
private void expectCurrentTime() throws Exception {
diff --git a/services/tests/servicestests/src/com/android/server/NetworkStatsServiceTest.java b/services/tests/servicestests/src/com/android/server/NetworkStatsServiceTest.java
index c115339..f9a03fc 100644
--- a/services/tests/servicestests/src/com/android/server/NetworkStatsServiceTest.java
+++ b/services/tests/servicestests/src/com/android/server/NetworkStatsServiceTest.java
@@ -1006,7 +1006,7 @@ public class NetworkStatsServiceTest extends AndroidTestCase {
info.setDetailedState(DetailedState.CONNECTED, null, null);
final LinkProperties prop = new LinkProperties();
prop.setInterfaceName(TEST_IFACE);
- return new NetworkState(info, prop, null, null, TEST_SSID);
+ return new NetworkState(info, prop, null, null, null, TEST_SSID);
}
private static NetworkState buildMobile3gState(String subscriberId) {
@@ -1015,7 +1015,7 @@ public class NetworkStatsServiceTest extends AndroidTestCase {
info.setDetailedState(DetailedState.CONNECTED, null, null);
final LinkProperties prop = new LinkProperties();
prop.setInterfaceName(TEST_IFACE);
- return new NetworkState(info, prop, null, subscriberId, null);
+ return new NetworkState(info, prop, null, null, subscriberId, null);
}
private static NetworkState buildMobile4gState(String iface) {
@@ -1023,7 +1023,7 @@ public class NetworkStatsServiceTest extends AndroidTestCase {
info.setDetailedState(DetailedState.CONNECTED, null, null);
final LinkProperties prop = new LinkProperties();
prop.setInterfaceName(iface);
- return new NetworkState(info, prop, null);
+ return new NetworkState(info, prop, null, null);
}
private NetworkStats buildEmptyStats() {