Inet6Address: Provide an explicit hostname for the ANY address.

Inet6Address.ANY was being constructed with a null hostname. This
meant that the first call to getHostName() would set its hostname
to "::". This means that Inet6Address.ANY.toString() would be differ
depending on whether or not getHostName was called. While this is true
of all InetAddresses, it's especially bad behaviour for an address
object that's essentially treated as immutable.

bug: 28294969

(cherry picked from commit 5861b3547d27c05be153777099eb2f453a79630c)

Change-Id: If73cab4abbcc12c0c4be25f2a0d3dda5e0d0de43
diff --git a/harmony-tests/src/test/java/org/apache/harmony/tests/java/net/ServerSocketTest.java b/harmony-tests/src/test/java/org/apache/harmony/tests/java/net/ServerSocketTest.java
index dca9b74..5279464 100644
--- a/harmony-tests/src/test/java/org/apache/harmony/tests/java/net/ServerSocketTest.java
+++ b/harmony-tests/src/test/java/org/apache/harmony/tests/java/net/ServerSocketTest.java
@@ -378,7 +378,7 @@
         try {
             int portNumber = s.getLocalPort();
             // In IPv6, the all-zeros-address is written as "::"
-            assertEquals("ServerSocket[addr=/::,localport="
+            assertEquals("ServerSocket[addr=::/::,localport="
                     + portNumber + "]", s.toString());
         } finally {
             s.close();
diff --git a/ojluni/src/main/java/java/net/Inet6Address.java b/ojluni/src/main/java/java/net/Inet6Address.java
index a46223d..f66b68d 100755
--- a/ojluni/src/main/java/java/net/Inet6Address.java
+++ b/ojluni/src/main/java/java/net/Inet6Address.java
@@ -171,7 +171,7 @@
 
     /** @hide */
     public static final InetAddress ANY =
-            new Inet6Address(null, new byte[] {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, 0);
+            new Inet6Address("::", new byte[] {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, 0);
 
     /** @hide */
     public static final InetAddress LOOPBACK = new Inet6Address("localhost",