@@ -250,14 +250,17 @@ private SQLiteDatabase getDatabaseLocked(boolean writable) {
250250 } else if (mName == null ) {
251251 db = SQLiteDatabase .create (null );
252252 } else {
253+ String path = mName ;
254+ if (!path .startsWith ("file:" )) {
255+ path = mContext .getDatabasePath (path ).getPath ();
256+ }
253257 try {
254258 if (DEBUG_STRICT_READONLY && !writable ) {
255- final String path = mContext .getDatabasePath (mName ).getPath ();
256259 db = SQLiteDatabase .openDatabase (path , mFactory ,
257260 SQLiteDatabase .OPEN_READONLY , mErrorHandler );
258261 } else {
259262 db = SQLiteDatabase .openOrCreateDatabase (
260- mName , mFactory , mErrorHandler
263+ path , mFactory , mErrorHandler
261264 );
262265 }
263266 } catch (SQLiteException ex ) {
@@ -266,7 +269,6 @@ private SQLiteDatabase getDatabaseLocked(boolean writable) {
266269 }
267270 Log .e (TAG , "Couldn't open " + mName
268271 + " for writing (will try read-only):" , ex );
269- final String path = mContext .getDatabasePath (mName ).getPath ();
270272 db = SQLiteDatabase .openDatabase (path , mFactory ,
271273 SQLiteDatabase .OPEN_READONLY , mErrorHandler );
272274 }
0 commit comments