mirror of
https://github.com/geometer/FBReaderJ.git
synced 2025-10-05 02:39:23 +02:00
send book & bookmark to BookmarksActivity
This commit is contained in:
parent
9f9632bad2
commit
ddfc7407fa
4 changed files with 25 additions and 16 deletions
|
@ -44,7 +44,7 @@ public class BookmarksActivity extends TabActivity implements MenuItem.OnMenuIte
|
|||
private static final int EDIT_ITEM_ID = 1;
|
||||
private static final int DELETE_ITEM_ID = 2;
|
||||
|
||||
List<Bookmark> AllBooksBookmarks;
|
||||
private List<Bookmark> myAllBooksBookmarks;
|
||||
private final List<Bookmark> myThisBookBookmarks = new LinkedList<Bookmark>();
|
||||
private final List<Bookmark> mySearchResults = new LinkedList<Bookmark>();
|
||||
|
||||
|
@ -78,13 +78,13 @@ public class BookmarksActivity extends TabActivity implements MenuItem.OnMenuIte
|
|||
final TabHost host = getTabHost();
|
||||
LayoutInflater.from(this).inflate(R.layout.bookmarks, host.getTabContentView(), true);
|
||||
|
||||
AllBooksBookmarks = Library.Instance().allBookmarks();
|
||||
Collections.sort(AllBooksBookmarks, new Bookmark.ByTimeComparator());
|
||||
final FBReaderApp fbreader = (FBReaderApp)FBReaderApp.Instance();
|
||||
myAllBooksBookmarks = Library.Instance().allBookmarks();
|
||||
Collections.sort(myAllBooksBookmarks, new Bookmark.ByTimeComparator());
|
||||
|
||||
if (fbreader.Model != null) {
|
||||
final long bookId = fbreader.Model.Book.getId();
|
||||
for (Bookmark bm : AllBooksBookmarks) {
|
||||
final Book book = SerializerUtil.deserializeBook(getIntent().getStringExtra(FBReader.BOOK_KEY));
|
||||
if (book != null) {
|
||||
final long bookId = book.getId();
|
||||
for (Bookmark bm : myAllBooksBookmarks) {
|
||||
if (bm.getBookId() == bookId) {
|
||||
myThisBookBookmarks.add(bm);
|
||||
}
|
||||
|
@ -97,7 +97,7 @@ public class BookmarksActivity extends TabActivity implements MenuItem.OnMenuIte
|
|||
}
|
||||
|
||||
myAllBooksView = createTab("allBooks", R.id.all_books);
|
||||
new BookmarksAdapter(myAllBooksView, AllBooksBookmarks, false);
|
||||
new BookmarksAdapter(myAllBooksView, myAllBooksBookmarks, false);
|
||||
|
||||
findViewById(R.id.search_results).setVisibility(View.GONE);
|
||||
}
|
||||
|
@ -120,7 +120,7 @@ public class BookmarksActivity extends TabActivity implements MenuItem.OnMenuIte
|
|||
|
||||
final LinkedList<Bookmark> bookmarks = new LinkedList<Bookmark>();
|
||||
pattern = pattern.toLowerCase();
|
||||
for (Bookmark b : AllBooksBookmarks) {
|
||||
for (Bookmark b : myAllBooksBookmarks) {
|
||||
if (ZLMiscUtil.matchesIgnoreCase(b.getText(), pattern)) {
|
||||
bookmarks.add(b);
|
||||
}
|
||||
|
@ -134,7 +134,7 @@ public class BookmarksActivity extends TabActivity implements MenuItem.OnMenuIte
|
|||
|
||||
@Override
|
||||
public void onPause() {
|
||||
for (Bookmark bookmark : AllBooksBookmarks) {
|
||||
for (Bookmark bookmark : myAllBooksBookmarks) {
|
||||
bookmark.save();
|
||||
}
|
||||
super.onPause();
|
||||
|
@ -208,7 +208,7 @@ public class BookmarksActivity extends TabActivity implements MenuItem.OnMenuIte
|
|||
case DELETE_ITEM_ID:
|
||||
bookmark.delete();
|
||||
myThisBookBookmarks.remove(bookmark);
|
||||
AllBooksBookmarks.remove(bookmark);
|
||||
myAllBooksBookmarks.remove(bookmark);
|
||||
mySearchResults.remove(bookmark);
|
||||
invalidateAllViews();
|
||||
return true;
|
||||
|
@ -217,11 +217,11 @@ public class BookmarksActivity extends TabActivity implements MenuItem.OnMenuIte
|
|||
}
|
||||
|
||||
private void addBookmark() {
|
||||
final FBReaderApp fbreader = (FBReaderApp)FBReaderApp.Instance();
|
||||
final Bookmark bookmark = fbreader.addBookmark(20, true);
|
||||
final Bookmark bookmark =
|
||||
SerializerUtil.deserializeBookmark(getIntent().getStringExtra(FBReader.BOOKMARK_KEY));
|
||||
if (bookmark != null) {
|
||||
myThisBookBookmarks.add(0, bookmark);
|
||||
AllBooksBookmarks.add(0, bookmark);
|
||||
myAllBooksBookmarks.add(0, bookmark);
|
||||
invalidateAllViews();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -57,6 +57,8 @@ import org.geometerplus.android.util.UIUtil;
|
|||
public final class FBReader extends Activity {
|
||||
public static final String ACTION_OPEN_BOOK = "android.fbreader.action.VIEW";
|
||||
public static final String BOOK_PATH_KEY = "BookPath";
|
||||
public static final String BOOK_KEY = "fbreader.book";
|
||||
public static final String BOOKMARK_KEY = "fbreader.bookmark";
|
||||
|
||||
public static final int REQUEST_PREFERENCES = 1;
|
||||
public static final int REQUEST_BOOK_INFO = 2;
|
||||
|
|
|
@ -21,6 +21,7 @@ package org.geometerplus.android.fbreader;
|
|||
|
||||
import android.content.Intent;
|
||||
|
||||
import org.geometerplus.fbreader.book.SerializerUtil;
|
||||
import org.geometerplus.fbreader.fbreader.FBReaderApp;
|
||||
|
||||
class ShowBookmarksAction extends FBAndroidAction {
|
||||
|
@ -37,6 +38,12 @@ class ShowBookmarksAction extends FBAndroidAction {
|
|||
protected void run(Object ... params) {
|
||||
final Intent intent =
|
||||
new Intent(BaseActivity.getApplicationContext(), BookmarksActivity.class);
|
||||
intent.putExtra(
|
||||
FBReader.BOOK_KEY, SerializerUtil.serialize(Reader.Model.Book)
|
||||
);
|
||||
intent.putExtra(
|
||||
FBReader.BOOKMARK_KEY, SerializerUtil.serialize(Reader.createBookmark(20, true))
|
||||
);
|
||||
OrientationUtil.startActivity(BaseActivity, intent);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -465,11 +465,11 @@ public final class FBReaderApp extends ZLApplication {
|
|||
|
||||
public void addInvisibleBookmark() {
|
||||
if (Model.Book != null && getTextView() == BookTextView) {
|
||||
updateInvisibleBookmarksList(addBookmark(6, false));
|
||||
updateInvisibleBookmarksList(createBookmark(6, false));
|
||||
}
|
||||
}
|
||||
|
||||
public Bookmark addBookmark(int maxLength, boolean visible) {
|
||||
public Bookmark createBookmark(int maxLength, boolean visible) {
|
||||
final FBView view = getTextView();
|
||||
final ZLTextWordCursor cursor = view.getStartCursor();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue