mirror of
https://github.com/geometer/FBReaderJ.git
synced 2025-10-05 10:49:24 +02:00
bookmarks: list limited list
This commit is contained in:
parent
32e122113a
commit
c7ab4d386b
8 changed files with 18 additions and 13 deletions
|
@ -81,7 +81,7 @@ public class BookmarksActivity extends TabActivity implements MenuItem.OnMenuIte
|
||||||
}
|
}
|
||||||
|
|
||||||
private void init() {
|
private void init() {
|
||||||
myAllBooksBookmarks = new ArrayList<Bookmark>(myCollection.allBookmarks());
|
myAllBooksBookmarks = new ArrayList<Bookmark>(myCollection.bookmarks(0, 100000));
|
||||||
Collections.sort(myAllBooksBookmarks, new Bookmark.ByTimeComparator());
|
Collections.sort(myAllBooksBookmarks, new Bookmark.ByTimeComparator());
|
||||||
|
|
||||||
final Book book = SerializerUtil.deserializeBook(getIntent().getStringExtra(FBReader.BOOK_KEY));
|
final Book book = SerializerUtil.deserializeBook(getIntent().getStringExtra(FBReader.BOOK_KEY));
|
||||||
|
|
|
@ -523,12 +523,12 @@ public class BookCollectionShadow extends AbstractBookCollection implements Serv
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public synchronized List<Bookmark> allBookmarks() {
|
public synchronized List<Bookmark> bookmarks(long fromId, int limitCount) {
|
||||||
if (myInterface == null) {
|
if (myInterface == null) {
|
||||||
return Collections.emptyList();
|
return Collections.emptyList();
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
return SerializerUtil.deserializeBookmarkList(myInterface.allBookmarks());
|
return SerializerUtil.deserializeBookmarkList(myInterface.bookmarks(fromId, limitCount));
|
||||||
} catch (RemoteException e) {
|
} catch (RemoteException e) {
|
||||||
return Collections.emptyList();
|
return Collections.emptyList();
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,7 +53,7 @@ interface LibraryInterface {
|
||||||
void markHyperlinkAsVisited(in String book, in String linkId);
|
void markHyperlinkAsVisited(in String book, in String linkId);
|
||||||
|
|
||||||
List<String> invisibleBookmarks(in String book);
|
List<String> invisibleBookmarks(in String book);
|
||||||
List<String> allBookmarks();
|
List<String> bookmarks(in long fromId, in int limitCount);
|
||||||
String saveBookmark(in String bookmark);
|
String saveBookmark(in String bookmark);
|
||||||
void deleteBookmark(in String bookmark);
|
void deleteBookmark(in String bookmark);
|
||||||
}
|
}
|
||||||
|
|
|
@ -300,8 +300,8 @@ public class LibraryService extends Service {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<String> allBookmarks() {
|
public List<String> bookmarks(long fromId, int limitCount) {
|
||||||
return SerializerUtil.serializeBookmarkList(myCollection.allBookmarks());
|
return SerializerUtil.serializeBookmarkList(myCollection.bookmarks(fromId, limitCount));
|
||||||
}
|
}
|
||||||
|
|
||||||
public String saveBookmark(String serialized) {
|
public String saveBookmark(String serialized) {
|
||||||
|
|
|
@ -762,11 +762,16 @@ final class SQLiteBooksDatabase extends BooksDatabase {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected List<Bookmark> loadAllVisibleBookmarks() {
|
protected List<Bookmark> loadVisibleBookmarks(long fromId, int limitCount) {
|
||||||
LinkedList<Bookmark> list = new LinkedList<Bookmark>();
|
LinkedList<Bookmark> list = new LinkedList<Bookmark>();
|
||||||
myDatabase.execSQL("DELETE FROM Bookmarks WHERE book_id = -1");
|
myDatabase.execSQL("DELETE FROM Bookmarks WHERE book_id = -1");
|
||||||
Cursor cursor = myDatabase.rawQuery(
|
Cursor cursor = myDatabase.rawQuery("SELECT" +
|
||||||
"SELECT Bookmarks.bookmark_id,Bookmarks.book_id,Books.title,Bookmarks.bookmark_text,Bookmarks.creation_time,Bookmarks.modification_time,Bookmarks.access_time,Bookmarks.access_counter,Bookmarks.model_id,Bookmarks.paragraph,Bookmarks.word,Bookmarks.char FROM Bookmarks INNER JOIN Books ON Books.book_id = Bookmarks.book_id WHERE Bookmarks.visible = 1", null
|
" bm.bookmark_id,bm.book_id,b.title,bm.bookmark_text," +
|
||||||
|
"bm.creation_time,bm.modification_time,bm.access_time,bm.access_counter," +
|
||||||
|
"bm.model_id,bm.paragraph,bm.word,bm.char" +
|
||||||
|
" FROM Bookmarks AS bm INNER JOIN Books AS b ON b.book_id = bm.book_id" +
|
||||||
|
" WHERE bm.bookmark_id >= ? AND bm.visible = 1 ORDER BY bm.bookmark_id LIMIT ?",
|
||||||
|
new String[] { String.valueOf(fromId), String.valueOf(limitCount) }
|
||||||
);
|
);
|
||||||
while (cursor.moveToNext()) {
|
while (cursor.moveToNext()) {
|
||||||
list.add(createBookmark(
|
list.add(createBookmark(
|
||||||
|
|
|
@ -757,8 +757,8 @@ public class BookCollection extends AbstractBookCollection {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Bookmark> allBookmarks() {
|
public List<Bookmark> bookmarks(long fromId, int limitCount) {
|
||||||
return myDatabase.loadAllVisibleBookmarks();
|
return myDatabase.loadVisibleBookmarks(fromId, limitCount);
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Bookmark> invisibleBookmarks(Book book) {
|
public List<Bookmark> invisibleBookmarks(Book book) {
|
||||||
|
|
|
@ -87,7 +87,7 @@ public abstract class BooksDatabase {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected abstract List<Bookmark> loadBookmarks(long bookId, boolean isVisible);
|
protected abstract List<Bookmark> loadBookmarks(long bookId, boolean isVisible);
|
||||||
protected abstract List<Bookmark> loadAllVisibleBookmarks();
|
protected abstract List<Bookmark> loadVisibleBookmarks(long fromId, int limitCount);
|
||||||
protected abstract long saveBookmark(Bookmark bookmark);
|
protected abstract long saveBookmark(Bookmark bookmark);
|
||||||
protected abstract void deleteBookmark(Bookmark bookmark);
|
protected abstract void deleteBookmark(Bookmark bookmark);
|
||||||
|
|
||||||
|
|
|
@ -91,7 +91,7 @@ public interface IBookCollection {
|
||||||
boolean isHyperlinkVisited(Book book, String linkId);
|
boolean isHyperlinkVisited(Book book, String linkId);
|
||||||
void markHyperlinkAsVisited(Book book, String linkId);
|
void markHyperlinkAsVisited(Book book, String linkId);
|
||||||
|
|
||||||
List<Bookmark> allBookmarks();
|
List<Bookmark> bookmarks(long fromId, int limitCount);
|
||||||
List<Bookmark> invisibleBookmarks(Book book);
|
List<Bookmark> invisibleBookmarks(Book book);
|
||||||
void saveBookmark(Bookmark bookmark);
|
void saveBookmark(Bookmark bookmark);
|
||||||
void deleteBookmark(Bookmark bookmark);
|
void deleteBookmark(Bookmark bookmark);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue