Fix for enso 'new File("", String)' regression.

OpenJdk is treating empty parent string as a special case,
it substitutes parent string with the filesystem default parent value "/". Some applications are failing to load assets
because of this regression.

Bug: 25859957
Change-Id: I0a235db2a76a0deec005073eca82655495496f53
diff --git a/luni/src/test/java/libcore/java/io/FileTest.java b/luni/src/test/java/libcore/java/io/FileTest.java
index 13a6f0b..518c4e3 100644
--- a/luni/src/test/java/libcore/java/io/FileTest.java
+++ b/luni/src/test/java/libcore/java/io/FileTest.java
@@ -322,5 +322,17 @@
         }
     }
 
+    // http://b/25859957
+    //
+    // OpenJdk is treating empty parent string as a special case,
+    // it substitutes parent string with the filesystem default parent value "/"
+    // This wasn't the case before the switch to openJdk.
+    public void testEmptyParentString() {
+        File f1 = new File("", "foo.bar");
+        File f2 = new File((String)null, "foo.bar");
+        assertEquals("foo.bar", f1.toString());
+        assertEquals("foo.bar", f2.toString());
+    }
+
     private static native void nativeTestFilesWithSurrogatePairs(String base);
 }
diff --git a/ojluni/src/main/java/java/io/File.java b/ojluni/src/main/java/java/io/File.java
index dd78f69..a8b5241 100755
--- a/ojluni/src/main/java/java/io/File.java
+++ b/ojluni/src/main/java/java/io/File.java
@@ -315,14 +315,9 @@
         if (child == null) {
             throw new NullPointerException();
         }
-        if (parent != null) {
-            if (parent.equals("")) {
-                this.path = fs.resolve(fs.getDefaultParent(),
-                                       fs.normalize(child));
-            } else {
-                this.path = fs.resolve(fs.normalize(parent),
-                                       fs.normalize(child));
-            }
+        if (parent != null && !parent.isEmpty()) {
+            this.path = fs.resolve(fs.normalize(parent),
+                                   fs.normalize(child));
         } else {
             this.path = fs.normalize(child);
         }
@@ -1880,7 +1875,7 @@
             throws IOException
         {
             // Android-changed: Use Math.randomIntInternal. This (pseudo) random number
-            // is initialized post-fork 
+            // is initialized post-fork
             int n = Math.randomIntInternal();
             if (n == Integer.MIN_VALUE) {
                 n = 0;      // corner case