OSDN Git Service

DO NOT MERGE - Create db path if it doesn't exit
authorJohn Reck <jreck@google.com>
Tue, 18 Jan 2011 23:42:49 +0000 (15:42 -0800)
committerJohn Reck <jreck@google.com>
Fri, 21 Jan 2011 19:42:15 +0000 (11:42 -0800)
 Bug: 3241808
 Make sure the directory the caller is trying to open the icon db
 in actually exists and create it if it doesn't.

Change-Id: Icc0a67b0ceba03a746ac2cd3b84fc34c2c8b4fe2

core/java/android/webkit/WebIconDatabase.java

index bb9ec48..54dfab3 100644 (file)
@@ -24,6 +24,7 @@ import android.os.Message;
 import android.provider.Browser;
 import android.util.Log;
 
+import java.io.File;
 import java.util.HashMap;
 import java.util.Vector;
 
@@ -194,13 +195,16 @@ public final class WebIconDatabase {
     /**
      * Open a the icon database and store the icons in the given path.
      * @param path The directory path where the icon database will be stored.
-     * @return True if the database was successfully opened or created in
-     *         the given path.
      */
     public void open(String path) {
         if (path != null) {
+            // Make the directories and parents if they don't exist
+            File db = new File(path);
+            if (!db.exists()) {
+                db.mkdirs();
+            }
             mEventHandler.postMessage(
-                    Message.obtain(null, EventHandler.OPEN, path));
+                    Message.obtain(null, EventHandler.OPEN, db.getAbsolutePath()));
         }
     }