diff options
author | Jeff Sharkey <jsharkey@android.com> | 2011-06-19 22:21:05 -0700 |
---|---|---|
committer | Jeff Sharkey <jsharkey@android.com> | 2011-06-19 22:21:05 -0700 |
commit | 5dc0c26cffbbc62ff84f9f4c8a451e68e2c05d2d (patch) | |
tree | 0d740fe454cd5b849766014567b6d509c475c2cd /services/java/com/android/server/net/NetworkIdentitySet.java | |
parent | d03fd3f004e3ba8aaa1692ee0e92e8ae171d2a04 (diff) | |
download | frameworks_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.java | 18 |
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()); } } |