Clean up InterfaceConfiguration flags.

Offer modifier methods for interface flags instead of mutating
directly, and remove square brackets.

Change-Id: I4cce719dccedfb3f0e8448c111e65b93c0008cbb
diff --git a/services/java/com/android/server/NetworkManagementService.java b/services/java/com/android/server/NetworkManagementService.java
index e97f719..70e3c1f 100644
--- a/services/java/com/android/server/NetworkManagementService.java
+++ b/services/java/com/android/server/NetworkManagementService.java
@@ -395,7 +395,7 @@
             }
 
             cfg = new InterfaceConfiguration();
-            cfg.hwAddr = st.nextToken(" ");
+            cfg.setHardwareAddress(st.nextToken(" "));
             InetAddress addr = null;
             int prefixLength = 0;
             try {
@@ -410,27 +410,29 @@
                 Slog.e(TAG, "Failed to parse prefixLength", nfe);
             }
 
-            cfg.addr = new LinkAddress(addr, prefixLength);
-            cfg.interfaceFlags = st.nextToken("]").trim() +"]";
+            cfg.setLinkAddress(new LinkAddress(addr, prefixLength));
+            while (st.hasMoreTokens()) {
+                cfg.setFlag(st.nextToken());
+            }
         } catch (NoSuchElementException nsee) {
             throw new IllegalStateException(
                     String.format("Invalid response from daemon (%s)", rsp));
         }
-        Slog.d(TAG, String.format("flags <%s>", cfg.interfaceFlags));
+        Slog.d(TAG, String.format("flags <%s>", cfg.getFlags()));
         return cfg;
     }
 
     @Override
     public void setInterfaceConfig(String iface, InterfaceConfiguration cfg) {
         mContext.enforceCallingOrSelfPermission(CHANGE_NETWORK_STATE, TAG);
-        LinkAddress linkAddr = cfg.addr;
+        LinkAddress linkAddr = cfg.getLinkAddress();
         if (linkAddr == null || linkAddr.getAddress() == null) {
             throw new IllegalStateException("Null LinkAddress given");
         }
         String cmd = String.format("interface setcfg %s %s %d %s", iface,
                 linkAddr.getAddress().getHostAddress(),
                 linkAddr.getNetworkPrefixLength(),
-                cfg.interfaceFlags);
+                cfg.getFlags());
         try {
             mConnector.doCommand(cmd);
         } catch (NativeDaemonConnectorException e) {
@@ -443,7 +445,7 @@
     public void setInterfaceDown(String iface) {
         mContext.enforceCallingOrSelfPermission(CHANGE_NETWORK_STATE, TAG);
         final InterfaceConfiguration ifcg = getInterfaceConfig(iface);
-        ifcg.interfaceFlags = ifcg.interfaceFlags.replace("up", "down");
+        ifcg.setInterfaceDown();
         setInterfaceConfig(iface, ifcg);
     }
 
@@ -451,7 +453,7 @@
     public void setInterfaceUp(String iface) {
         mContext.enforceCallingOrSelfPermission(CHANGE_NETWORK_STATE, TAG);
         final InterfaceConfiguration ifcg = getInterfaceConfig(iface);
-        ifcg.interfaceFlags = ifcg.interfaceFlags.replace("down", "up");
+        ifcg.setInterfaceUp();
         setInterfaceConfig(iface, ifcg);
     }