1
0
Fork 0
mirror of https://github.com/geometer/FBReaderJ.git synced 2025-10-03 17:59:33 +02:00

LibraryActivity uses BookCollectionShadow

This commit is contained in:
Nikolay Pultsin 2013-01-15 05:51:01 +04:00
parent b8d50dc537
commit 42a38f3ab9
6 changed files with 90 additions and 88 deletions

View file

@ -37,17 +37,23 @@ import org.geometerplus.zlibrary.text.view.ZLTextFixedPosition;
import org.geometerplus.fbreader.book.*;
import org.geometerplus.android.util.UIUtil;
import org.geometerplus.android.util.SQLiteUtil;
public final class SQLiteBooksDatabase extends BooksDatabase {
private final String myInstanceId;
final class SQLiteBooksDatabase extends BooksDatabase {
private static BooksDatabase ourInstance;
static BooksDatabase Instance(Context context) {
if (ourInstance == null) {
ourInstance = new SQLiteBooksDatabase(context);
}
return ourInstance;
}
private final SQLiteDatabase myDatabase;
public SQLiteBooksDatabase(Context context, String instanceId) {
myInstanceId = instanceId;
private SQLiteBooksDatabase(Context context) {
myDatabase = context.openOrCreateDatabase("books.db", Context.MODE_PRIVATE, null);
migrate(context);
migrate();
}
protected void executeAsATransaction(Runnable actions) {
@ -69,65 +75,61 @@ public final class SQLiteBooksDatabase extends BooksDatabase {
}
}
private void migrate(Context context) {
private void migrate() {
final int version = myDatabase.getVersion();
final int currentVersion = 20;
if (version >= currentVersion) {
return;
}
UIUtil.wait(version == 0 ? "creatingBooksDatabase" : "updatingBooksDatabase", new Runnable() {
public void run() {
myDatabase.beginTransaction();
myDatabase.beginTransaction();
switch (myDatabase.getVersion()) {
case 0:
createTables();
case 1:
updateTables1();
case 2:
updateTables2();
case 3:
updateTables3();
case 4:
updateTables4();
case 5:
updateTables5();
case 6:
updateTables6();
case 7:
updateTables7();
case 8:
updateTables8();
case 9:
updateTables9();
case 10:
updateTables10();
case 11:
updateTables11();
case 12:
updateTables12();
case 13:
updateTables13();
case 14:
updateTables14();
case 15:
updateTables15();
case 16:
updateTables16();
case 17:
updateTables17();
case 18:
updateTables18();
case 19:
updateTables19();
}
myDatabase.setTransactionSuccessful();
myDatabase.setVersion(currentVersion);
myDatabase.endTransaction();
switch (myDatabase.getVersion()) {
case 0:
createTables();
case 1:
updateTables1();
case 2:
updateTables2();
case 3:
updateTables3();
case 4:
updateTables4();
case 5:
updateTables5();
case 6:
updateTables6();
case 7:
updateTables7();
case 8:
updateTables8();
case 9:
updateTables9();
case 10:
updateTables10();
case 11:
updateTables11();
case 12:
updateTables12();
case 13:
updateTables13();
case 14:
updateTables14();
case 15:
updateTables15();
case 16:
updateTables16();
case 17:
updateTables17();
case 18:
updateTables18();
case 19:
updateTables19();
}
myDatabase.setTransactionSuccessful();
myDatabase.setVersion(currentVersion);
myDatabase.endTransaction();
myDatabase.execSQL("VACUUM");
}
}, context);
myDatabase.execSQL("VACUUM");
}
@Override