Class DefaultBookmarkAdapter
-
- All Implemented Interfaces:
-
androidx.lifecycle.DefaultLifecycleObserver
,androidx.lifecycle.LifecycleObserver
,com.pspdfkit.bookmarks.BookmarkProvider.BookmarkListener
,com.pspdfkit.listeners.DocumentListener
,com.pspdfkit.ui.outline.BookmarkViewAdapter
public class DefaultBookmarkAdapter implements BookmarkViewAdapter, DocumentListener, BookmarkProvider.BookmarkListener, DefaultLifecycleObserver
Default implementation of BookmarkViewAdapter which handles bookmark behaviour for the default BookmarkListView.
-
-
Constructor Summary
Constructors Constructor Description DefaultBookmarkAdapter(PdfFragment fragment)
Creates a new adapter bound to the passed fragment.
-
Method Summary
Modifier and Type Method Description void
onStop(@NonNull() LifecycleOwner owner)
void
onStart(@NonNull() LifecycleOwner owner)
void
onDestroy(@NonNull() LifecycleOwner owner)
List<Bookmark>
getBookmarks()
Called to retrieve the list of bookmarks to display. void
onBookmarkAdd()
Called when add button has been clicked in this view. void
onBookmarkPositionSet(@NonNull() Bookmark bookmark, int position)
Called when bookmark has been reordered in this view. void
onBookmarkNameSet(@NonNull() Bookmark bookmark, @Nullable() String name)
Called when bookmark should be renamed. void
onBookmarkClicked(@NonNull() Bookmark bookmark)
Called when user taps on a bookmark outside editing mode. boolean
onBookmarkRemove(@NonNull() Bookmark bookmark)
Called when user deleted the bookmark from list. boolean
isBookmarkAddButtonEnabled()
Called to determine bookmark add button enabled state. void
addBookmarkListener(@NonNull() BookmarkProvider.BookmarkListener listener)
Adds this view to bookmark change events via BookmarkListener interface. void
removeBookmarkListener(@NonNull() BookmarkProvider.BookmarkListener listener)
Removes this view from bookmark change events via BookmarkListener interface. void
onBookmarksChanged(@NonNull() List<Bookmark> bookmarks)
Called when bookmark list has been changed in some way. void
onBookmarkAdded(@NonNull() Bookmark bookmark)
Called when a new bookmark was added. void
onDocumentLoaded(@NonNull() PdfDocument document)
Called when document is successfully loaded and the document view has been laid out. void
onDocumentLoadFailed(@NonNull() Throwable exception)
Called if document loading has failed. boolean
onDocumentSave(@NonNull() PdfDocument document, @NonNull() DocumentSaveOptions saveOptions)
Called before document will be saved. void
onDocumentSaved(@NonNull() PdfDocument document)
Called after the document has been saved. void
onDocumentSaveFailed(@NonNull() PdfDocument document, @NonNull() Throwable exception)
Called if document saving has failed. void
onDocumentSaveCancelled(PdfDocument document)
Called if document saving has been cancelled. boolean
onPageClick(@NonNull() PdfDocument document, @IntRange(from = 0) int pageIndex, @Nullable() MotionEvent event, @Nullable() PointF pagePosition, @Nullable() Annotation clickedAnnotation)
Called when user taps / clicks on the page. boolean
onDocumentClick()
Called when the user taps / clicks on the document, not the page itself but on the side (if visible). void
onPageChanged(@NonNull() PdfDocument document, @IntRange(from = 0) int pageIndex)
Called when user scrolled to a new page. void
onDocumentZoomed(@NonNull() PdfDocument document, @IntRange(from = 0) int pageIndex, float scaleFactor)
Called when a user zooms a document. void
onPageUpdated(@NonNull() PdfDocument document, @IntRange(from = 0) int pageIndex)
Called when content of page with pageIndex has changed (for example due to annotation or form field being updated). -
-
Constructor Detail
-
DefaultBookmarkAdapter
DefaultBookmarkAdapter(PdfFragment fragment)
Creates a new adapter bound to the passed fragment.- Parameters:
fragment
- Fragment with which to interact.
-
-
Method Detail
-
onStop
void onStop(@NonNull() LifecycleOwner owner)
-
onStart
void onStart(@NonNull() LifecycleOwner owner)
-
onDestroy
void onDestroy(@NonNull() LifecycleOwner owner)
-
getBookmarks
List<Bookmark> getBookmarks()
Called to retrieve the list of bookmarks to display.
- Returns:
List of bookmarks to be shown in this view.
-
onBookmarkAdd
void onBookmarkAdd()
Called when add button has been clicked in this view.
-
onBookmarkPositionSet
void onBookmarkPositionSet(@NonNull() Bookmark bookmark, int position)
Called when bookmark has been reordered in this view.
- Parameters:
bookmark
- Bookmark that has been reordered.position
- New bookmark position.
-
onBookmarkNameSet
void onBookmarkNameSet(@NonNull() Bookmark bookmark, @Nullable() String name)
Called when bookmark should be renamed.
- Parameters:
bookmark
- Bookmark that has been selected for rename.name
- New bookmark name.
-
onBookmarkClicked
void onBookmarkClicked(@NonNull() Bookmark bookmark)
Called when user taps on a bookmark outside editing mode.
- Parameters:
bookmark
- Bookmark that was tapped.
-
onBookmarkRemove
boolean onBookmarkRemove(@NonNull() Bookmark bookmark)
Called when user deleted the bookmark from list.
- Parameters:
bookmark
- Bookmark that was deleted.- Returns:
true
if the bookmark should be actually deleted,false
if it should be left on the list.
-
isBookmarkAddButtonEnabled
boolean isBookmarkAddButtonEnabled()
Called to determine bookmark add button enabled state.
- Returns:
true
if add button should be enabled,false
if it should be disabled.
-
addBookmarkListener
void addBookmarkListener(@NonNull() BookmarkProvider.BookmarkListener listener)
Adds this view to bookmark change events via BookmarkListener interface. Should be passed through to a BookmarkProvider. Passing
null
is not allowed, and will result in an exception.- Parameters:
listener
- BookmarkListener that should be notified.
-
removeBookmarkListener
void removeBookmarkListener(@NonNull() BookmarkProvider.BookmarkListener listener)
Removes this view from bookmark change events via BookmarkListener interface. Should be passed through to a BookmarkProvider. Upon calling this method the
listener
will no longer be notified of any changes. If the listener has not been added, this method will be a no-op. Addingnull
is not allowed,and will result in an exception.- Parameters:
listener
- BookmarkListener that should be removed.
-
onBookmarksChanged
void onBookmarksChanged(@NonNull() List<Bookmark> bookmarks)
Called when bookmark list has been changed in some way. Called on the UI thread. It is also called if any property of any bookmark in the list changes.
- Parameters:
bookmarks
- List of bookmarks after change.
-
onBookmarkAdded
void onBookmarkAdded(@NonNull() Bookmark bookmark)
Called when a new bookmark was added. Called on the UI thread.
- Parameters:
bookmark
- The recently added bookmark.
-
onDocumentLoaded
@UiThread() void onDocumentLoaded(@NonNull() PdfDocument document)
Called when document is successfully loaded and the document view has been laid out. This has to be called on the main thread.
- Parameters:
document
- Loaded document instance.
-
onDocumentLoadFailed
void onDocumentLoadFailed(@NonNull() Throwable exception)
Called if document loading has failed.
- Parameters:
exception
- Cause of the loading failure.
-
onDocumentSave
boolean onDocumentSave(@NonNull() PdfDocument document, @NonNull() DocumentSaveOptions saveOptions)
Called before document will be saved. This callback allows cancellation of the save process.
- Parameters:
document
- Instance of document to be saved.saveOptions
- Save options to be applied to the document.- Returns:
true
if the document should be saved,false
if saving should be cancelled.
-
onDocumentSaved
void onDocumentSaved(@NonNull() PdfDocument document)
Called after the document has been saved.
- Parameters:
document
- Instance of document that was saved.
-
onDocumentSaveFailed
void onDocumentSaveFailed(@NonNull() PdfDocument document, @NonNull() Throwable exception)
Called if document saving has failed.
- Parameters:
exception
- Cause of the saving failure if applicable.
-
onDocumentSaveCancelled
void onDocumentSaveCancelled(PdfDocument document)
Called if document saving has been cancelled.
- Parameters:
document
- Instance of document that was saved.
-
onPageClick
boolean onPageClick(@NonNull() PdfDocument document, @IntRange(from = 0) int pageIndex, @Nullable() MotionEvent event, @Nullable() PointF pagePosition, @Nullable() Annotation clickedAnnotation)
Called when user taps / clicks on the page.
- Parameters:
document
- Currently opened document.pageIndex
- Page number of the page being tapped.event
- MotionEvent that triggered this page click.pagePosition
- Tapped page position (in PDF page coordinates with origin on bottom left).clickedAnnotation
- Annotation that was tapped, ornull
if no annotation was tapped.- Returns:
true
if tap was handled by thisDocumentListener
and should not be handled by PSPDFKit anymore. If returningfalse
PSPDFKit will continue executing it's default action.
-
onDocumentClick
boolean onDocumentClick()
Called when the user taps / clicks on the document, not the page itself but on the side (if visible).
- Returns:
true
if tap is handled orfalse
if PSPDFKit should execute it's default action.
-
onPageChanged
void onPageChanged(@NonNull() PdfDocument document, @IntRange(from = 0) int pageIndex)
Called when user scrolled to a new page.
- Parameters:
document
- Currently opened document.pageIndex
- Page number of new page.
-
onDocumentZoomed
void onDocumentZoomed(@NonNull() PdfDocument document, @IntRange(from = 0) int pageIndex, float scaleFactor)
Called when a user zooms a document.
- Parameters:
document
- Current document.pageIndex
- The number of the page that the was zoomed.scaleFactor
- The current scale factor.
-
onPageUpdated
void onPageUpdated(@NonNull() PdfDocument document, @IntRange(from = 0) int pageIndex)
Called when content of page with pageIndex has changed (for example due to annotation or form field being updated). All views displaying this page need to refresh.
- Parameters:
pageIndex
- Page index of the updated page.
-
-
-
-