summaryrefslogtreecommitdiffstats
path: root/services/java/com/android/server/net/NetworkIdentitySet.java
diff options
context:
space:
mode:
authorJeff Sharkey <jsharkey@android.com>2011-06-19 22:21:05 -0700
committerJeff Sharkey <jsharkey@android.com>2011-06-19 22:21:05 -0700
commit5dc0c26cffbbc62ff84f9f4c8a451e68e2c05d2d (patch)
tree0d740fe454cd5b849766014567b6d509c475c2cd /services/java/com/android/server/net/NetworkIdentitySet.java
parentd03fd3f004e3ba8aaa1692ee0e92e8ae171d2a04 (diff)
downloadframeworks_base-5dc0c26cffbbc62ff84f9f4c8a451e68e2c05d2d.zip
frameworks_base-5dc0c26cffbbc62ff84f9f4c8a451e68e2c05d2d.tar.gz
frameworks_base-5dc0c26cffbbc62ff84f9f4c8a451e68e2c05d2d.tar.bz2
Teach NetworkIdentity about roaming.
And correctly upgrade NetworkIdentitySet written to disk, assuming that old values aren't roaming. Bug: 4724762 Change-Id: Ic25897ebbaf43be2390174d8e5fd08386bc8a345
Diffstat (limited to 'services/java/com/android/server/net/NetworkIdentitySet.java')
-rw-r--r--services/java/com/android/server/net/NetworkIdentitySet.java18
1 files changed, 15 insertions, 3 deletions
diff --git a/services/java/com/android/server/net/NetworkIdentitySet.java b/services/java/com/android/server/net/NetworkIdentitySet.java
index 757d3bc..af03fb3 100644
--- a/services/java/com/android/server/net/NetworkIdentitySet.java
+++ b/services/java/com/android/server/net/NetworkIdentitySet.java
@@ -32,6 +32,7 @@ import java.util.HashSet;
*/
public class NetworkIdentitySet extends HashSet<NetworkIdentity> {
private static final int VERSION_INIT = 1;
+ private static final int VERSION_ADD_ROAMING = 2;
public NetworkIdentitySet() {
}
@@ -46,7 +47,18 @@ public class NetworkIdentitySet extends HashSet<NetworkIdentity> {
final int type = in.readInt();
final int subType = in.readInt();
final String subscriberId = readOptionalString(in);
- add(new NetworkIdentity(type, subType, subscriberId));
+ add(new NetworkIdentity(type, subType, subscriberId, false));
+ }
+ break;
+ }
+ case VERSION_ADD_ROAMING: {
+ final int size = in.readInt();
+ for (int i = 0; i < size; i++) {
+ final int type = in.readInt();
+ final int subType = in.readInt();
+ final String subscriberId = readOptionalString(in);
+ final boolean roaming = in.readBoolean();
+ add(new NetworkIdentity(type, subType, subscriberId, roaming));
}
break;
}
@@ -57,13 +69,13 @@ public class NetworkIdentitySet extends HashSet<NetworkIdentity> {
}
public void writeToStream(DataOutputStream out) throws IOException {
- out.writeInt(VERSION_INIT);
+ out.writeInt(VERSION_ADD_ROAMING);
out.writeInt(size());
for (NetworkIdentity ident : this) {
- out.writeInt(VERSION_INIT);
out.writeInt(ident.getType());
out.writeInt(ident.getSubType());
writeOptionalString(out, ident.getSubscriberId());
+ out.writeBoolean(ident.getRoaming());
}
}