mirror of
https://github.com/geometer/FBReaderJ.git
synced 2025-10-05 10:49:24 +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 EDIT_ITEM_ID = 1;
|
||||||
private static final int DELETE_ITEM_ID = 2;
|
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> myThisBookBookmarks = new LinkedList<Bookmark>();
|
||||||
private final List<Bookmark> mySearchResults = 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();
|
final TabHost host = getTabHost();
|
||||||
LayoutInflater.from(this).inflate(R.layout.bookmarks, host.getTabContentView(), true);
|
LayoutInflater.from(this).inflate(R.layout.bookmarks, host.getTabContentView(), true);
|
||||||
|
|
||||||
AllBooksBookmarks = Library.Instance().allBookmarks();
|
myAllBooksBookmarks = Library.Instance().allBookmarks();
|
||||||
Collections.sort(AllBooksBookmarks, new Bookmark.ByTimeComparator());
|
Collections.sort(myAllBooksBookmarks, new Bookmark.ByTimeComparator());
|
||||||
final FBReaderApp fbreader = (FBReaderApp)FBReaderApp.Instance();
|
|
||||||
|
|
||||||
if (fbreader.Model != null) {
|
final Book book = SerializerUtil.deserializeBook(getIntent().getStringExtra(FBReader.BOOK_KEY));
|
||||||
final long bookId = fbreader.Model.Book.getId();
|
if (book != null) {
|
||||||
for (Bookmark bm : AllBooksBookmarks) {
|
final long bookId = book.getId();
|
||||||
|
for (Bookmark bm : myAllBooksBookmarks) {
|
||||||
if (bm.getBookId() == bookId) {
|
if (bm.getBookId() == bookId) {
|
||||||
myThisBookBookmarks.add(bm);
|
myThisBookBookmarks.add(bm);
|
||||||
}
|
}
|
||||||
|
@ -97,7 +97,7 @@ public class BookmarksActivity extends TabActivity implements MenuItem.OnMenuIte
|
||||||
}
|
}
|
||||||
|
|
||||||
myAllBooksView = createTab("allBooks", R.id.all_books);
|
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);
|
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>();
|
final LinkedList<Bookmark> bookmarks = new LinkedList<Bookmark>();
|
||||||
pattern = pattern.toLowerCase();
|
pattern = pattern.toLowerCase();
|
||||||
for (Bookmark b : AllBooksBookmarks) {
|
for (Bookmark b : myAllBooksBookmarks) {
|
||||||
if (ZLMiscUtil.matchesIgnoreCase(b.getText(), pattern)) {
|
if (ZLMiscUtil.matchesIgnoreCase(b.getText(), pattern)) {
|
||||||
bookmarks.add(b);
|
bookmarks.add(b);
|
||||||
}
|
}
|
||||||
|
@ -134,7 +134,7 @@ public class BookmarksActivity extends TabActivity implements MenuItem.OnMenuIte
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onPause() {
|
public void onPause() {
|
||||||
for (Bookmark bookmark : AllBooksBookmarks) {
|
for (Bookmark bookmark : myAllBooksBookmarks) {
|
||||||
bookmark.save();
|
bookmark.save();
|
||||||
}
|
}
|
||||||
super.onPause();
|
super.onPause();
|
||||||
|
@ -208,7 +208,7 @@ public class BookmarksActivity extends TabActivity implements MenuItem.OnMenuIte
|
||||||
case DELETE_ITEM_ID:
|
case DELETE_ITEM_ID:
|
||||||
bookmark.delete();
|
bookmark.delete();
|
||||||
myThisBookBookmarks.remove(bookmark);
|
myThisBookBookmarks.remove(bookmark);
|
||||||
AllBooksBookmarks.remove(bookmark);
|
myAllBooksBookmarks.remove(bookmark);
|
||||||
mySearchResults.remove(bookmark);
|
mySearchResults.remove(bookmark);
|
||||||
invalidateAllViews();
|
invalidateAllViews();
|
||||||
return true;
|
return true;
|
||||||
|
@ -217,11 +217,11 @@ public class BookmarksActivity extends TabActivity implements MenuItem.OnMenuIte
|
||||||
}
|
}
|
||||||
|
|
||||||
private void addBookmark() {
|
private void addBookmark() {
|
||||||
final FBReaderApp fbreader = (FBReaderApp)FBReaderApp.Instance();
|
final Bookmark bookmark =
|
||||||
final Bookmark bookmark = fbreader.addBookmark(20, true);
|
SerializerUtil.deserializeBookmark(getIntent().getStringExtra(FBReader.BOOKMARK_KEY));
|
||||||
if (bookmark != null) {
|
if (bookmark != null) {
|
||||||
myThisBookBookmarks.add(0, bookmark);
|
myThisBookBookmarks.add(0, bookmark);
|
||||||
AllBooksBookmarks.add(0, bookmark);
|
myAllBooksBookmarks.add(0, bookmark);
|
||||||
invalidateAllViews();
|
invalidateAllViews();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -57,6 +57,8 @@ import org.geometerplus.android.util.UIUtil;
|
||||||
public final class FBReader extends Activity {
|
public final class FBReader extends Activity {
|
||||||
public static final String ACTION_OPEN_BOOK = "android.fbreader.action.VIEW";
|
public static final String ACTION_OPEN_BOOK = "android.fbreader.action.VIEW";
|
||||||
public static final String BOOK_PATH_KEY = "BookPath";
|
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_PREFERENCES = 1;
|
||||||
public static final int REQUEST_BOOK_INFO = 2;
|
public static final int REQUEST_BOOK_INFO = 2;
|
||||||
|
|
|
@ -21,6 +21,7 @@ package org.geometerplus.android.fbreader;
|
||||||
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
|
||||||
|
import org.geometerplus.fbreader.book.SerializerUtil;
|
||||||
import org.geometerplus.fbreader.fbreader.FBReaderApp;
|
import org.geometerplus.fbreader.fbreader.FBReaderApp;
|
||||||
|
|
||||||
class ShowBookmarksAction extends FBAndroidAction {
|
class ShowBookmarksAction extends FBAndroidAction {
|
||||||
|
@ -37,6 +38,12 @@ class ShowBookmarksAction extends FBAndroidAction {
|
||||||
protected void run(Object ... params) {
|
protected void run(Object ... params) {
|
||||||
final Intent intent =
|
final Intent intent =
|
||||||
new Intent(BaseActivity.getApplicationContext(), BookmarksActivity.class);
|
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);
|
OrientationUtil.startActivity(BaseActivity, intent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -465,11 +465,11 @@ public final class FBReaderApp extends ZLApplication {
|
||||||
|
|
||||||
public void addInvisibleBookmark() {
|
public void addInvisibleBookmark() {
|
||||||
if (Model.Book != null && getTextView() == BookTextView) {
|
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 FBView view = getTextView();
|
||||||
final ZLTextWordCursor cursor = view.getStartCursor();
|
final ZLTextWordCursor cursor = view.getStartCursor();
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue