mirror of
https://github.com/geometer/FBReaderJ.git
synced 2025-10-04 02:09:35 +02:00
labels work as other book properties
This commit is contained in:
parent
87eb3a9726
commit
6696447327
13 changed files with 148 additions and 170 deletions
|
@ -468,6 +468,22 @@ final class SQLiteBooksDatabase extends BooksDatabase {
|
|||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected List<String> listLabels(long bookId) {
|
||||
final Cursor cursor = myDatabase.rawQuery(
|
||||
"SELECT Labels.name FROM Labels" +
|
||||
" INNER JOIN BookLabel ON BookLabel.label_id=Labels.label_id" +
|
||||
" WHERE BookLabel.book_id=?",
|
||||
new String[] { String.valueOf(bookId) }
|
||||
);
|
||||
final LinkedList<String> names = new LinkedList<String>();
|
||||
while (cursor.moveToNext()) {
|
||||
names.add(cursor.getString(0));
|
||||
}
|
||||
cursor.close();
|
||||
return names;
|
||||
}
|
||||
|
||||
private SQLiteStatement myDeleteBookUidsStatement;
|
||||
protected void deleteAllBookUids(long bookId) {
|
||||
if (myDeleteBookUidsStatement == null) {
|
||||
|
@ -736,38 +752,6 @@ final class SQLiteBooksDatabase extends BooksDatabase {
|
|||
return ids;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected List<String> labels() {
|
||||
final Cursor cursor = myDatabase.rawQuery(
|
||||
"SELECT Labels.name FROM Labels" +
|
||||
" INNER JOIN BookLabel ON BookLabel.label_id=Labels.label_id" +
|
||||
" GROUP BY Labels.name",
|
||||
null
|
||||
);
|
||||
final LinkedList<String> names = new LinkedList<String>();
|
||||
while (cursor.moveToNext()) {
|
||||
names.add(cursor.getString(0));
|
||||
}
|
||||
cursor.close();
|
||||
return names;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected List<String> labels(long bookId) {
|
||||
final Cursor cursor = myDatabase.rawQuery(
|
||||
"SELECT Labels.name FROM Labels" +
|
||||
" INNER JOIN BookLabel ON BookLabel.label_id=Labels.label_id" +
|
||||
" WHERE BookLabel.book_id=?",
|
||||
new String[] { String.valueOf(bookId) }
|
||||
);
|
||||
final LinkedList<String> names = new LinkedList<String>();
|
||||
while (cursor.moveToNext()) {
|
||||
names.add(cursor.getString(0));
|
||||
}
|
||||
cursor.close();
|
||||
return names;
|
||||
}
|
||||
|
||||
private SQLiteStatement mySetLabelStatement;
|
||||
@Override
|
||||
protected void setLabel(long bookId, String label) {
|
||||
|
@ -797,21 +781,6 @@ final class SQLiteBooksDatabase extends BooksDatabase {
|
|||
myRemoveLabelStatement.execute();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected List<Long> loadBooksForLabelIds(String label) {
|
||||
final Cursor cursor = myDatabase.rawQuery(
|
||||
"SELECT BookLabel.book_id FROM BookLabel" +
|
||||
" INNER JOIN Labels ON BookLabel.label_id=Labels.label_id" +
|
||||
" WHERE Labels.name=?", new String[] { label }
|
||||
);
|
||||
final LinkedList<Long> ids = new LinkedList<Long>();
|
||||
while (cursor.moveToNext()) {
|
||||
ids.add(cursor.getLong(0));
|
||||
}
|
||||
cursor.close();
|
||||
return ids;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected List<Bookmark> loadInvisibleBookmarks(long bookId) {
|
||||
LinkedList<Bookmark> list = new LinkedList<Bookmark>();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue