1
0
Fork 0
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:
Nikolay Pultsin 2013-01-20 11:08:52 +04:00
parent 9f9632bad2
commit ddfc7407fa
4 changed files with 25 additions and 16 deletions

View file

@ -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();
}
}

View file

@ -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;

View file

@ -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);
}
}

View file

@ -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();