Loading api/current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -7276,6 +7276,7 @@ package android.database.sqlite { method public android.database.sqlite.SQLiteStatement compileStatement(java.lang.String) throws android.database.SQLException; method public static android.database.sqlite.SQLiteDatabase create(android.database.sqlite.SQLiteDatabase.CursorFactory); method public int delete(java.lang.String, java.lang.String, java.lang.String[]); method public static boolean deleteDatabase(java.io.File); method public boolean enableWriteAheadLogging(); method public void endTransaction(); method public void execSQL(java.lang.String) throws android.database.SQLException; core/java/android/app/ContextImpl.java +1 −1 Original line number Diff line number Diff line Loading @@ -785,7 +785,7 @@ class ContextImpl extends Context { public boolean deleteDatabase(String name) { try { File f = validateFilePath(name, false); return f.delete(); return SQLiteDatabase.deleteDatabase(f); } catch (Exception e) { } return false; Loading core/java/android/database/sqlite/SQLiteDatabase.java +35 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ import android.util.Printer; import dalvik.system.CloseGuard; import java.io.File; import java.io.FileFilter; import java.util.ArrayList; import java.util.HashMap; import java.util.List; Loading Loading @@ -677,6 +678,40 @@ public class SQLiteDatabase extends SQLiteClosable { return openDatabase(path, factory, CREATE_IF_NECESSARY, errorHandler); } /** * Deletes a database including its journal file and other auxiliary files * that may have been created by the database engine. * * @param file The database file path. * @return True if the database was successfully deleted. */ public static boolean deleteDatabase(File file) { if (file == null) { throw new IllegalArgumentException("file must not be null"); } boolean deleted = false; deleted |= file.delete(); deleted |= new File(file.getPath() + "-journal").delete(); deleted |= new File(file.getPath() + "-shm").delete(); deleted |= new File(file.getPath() + "-wal").delete(); File dir = file.getParentFile(); if (dir != null) { final String prefix = file.getName() + "-mj"; final FileFilter filter = new FileFilter() { @Override public boolean accept(File candidate) { return candidate.getName().startsWith(prefix); } }; for (File masterJournal : dir.listFiles(filter)) { deleted |= masterJournal.delete(); } } return deleted; } /** * Reopens the database in read-write mode. * If the database is already read-write, does nothing. Loading Loading
api/current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -7276,6 +7276,7 @@ package android.database.sqlite { method public android.database.sqlite.SQLiteStatement compileStatement(java.lang.String) throws android.database.SQLException; method public static android.database.sqlite.SQLiteDatabase create(android.database.sqlite.SQLiteDatabase.CursorFactory); method public int delete(java.lang.String, java.lang.String, java.lang.String[]); method public static boolean deleteDatabase(java.io.File); method public boolean enableWriteAheadLogging(); method public void endTransaction(); method public void execSQL(java.lang.String) throws android.database.SQLException;
core/java/android/app/ContextImpl.java +1 −1 Original line number Diff line number Diff line Loading @@ -785,7 +785,7 @@ class ContextImpl extends Context { public boolean deleteDatabase(String name) { try { File f = validateFilePath(name, false); return f.delete(); return SQLiteDatabase.deleteDatabase(f); } catch (Exception e) { } return false; Loading
core/java/android/database/sqlite/SQLiteDatabase.java +35 −0 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ import android.util.Printer; import dalvik.system.CloseGuard; import java.io.File; import java.io.FileFilter; import java.util.ArrayList; import java.util.HashMap; import java.util.List; Loading Loading @@ -677,6 +678,40 @@ public class SQLiteDatabase extends SQLiteClosable { return openDatabase(path, factory, CREATE_IF_NECESSARY, errorHandler); } /** * Deletes a database including its journal file and other auxiliary files * that may have been created by the database engine. * * @param file The database file path. * @return True if the database was successfully deleted. */ public static boolean deleteDatabase(File file) { if (file == null) { throw new IllegalArgumentException("file must not be null"); } boolean deleted = false; deleted |= file.delete(); deleted |= new File(file.getPath() + "-journal").delete(); deleted |= new File(file.getPath() + "-shm").delete(); deleted |= new File(file.getPath() + "-wal").delete(); File dir = file.getParentFile(); if (dir != null) { final String prefix = file.getName() + "-mj"; final FileFilter filter = new FileFilter() { @Override public boolean accept(File candidate) { return candidate.getName().startsWith(prefix); } }; for (File masterJournal : dir.listFiles(filter)) { deleted |= masterJournal.delete(); } } return deleted; } /** * Reopens the database in read-write mode. * If the database is already read-write, does nothing. Loading