Version 9.2.1 Changelog (March 21, 2022)
Version: 9.2.1.79400
Release Date: March 21, 2022
New features
Updated UX for signature flow

New free text rotation

New option to enable quick bookmark creation

Support for adding comments to text markup in reflow mode
Support large font via device accessibility settings in the viewer
New duplicate option for existing annotations
New APIs to set editing options in the
ThumbnailsViewFragment
Breaking changes
onBookmarkModified()has been replaced withonBookmarkModified(List<UserBookmarkItem>).raiseBookmarkModified()has been replaced withraiseBookmarkModified(List<UserBookmarkItem>).The constructor for
PresetBarComponentnow requiresSignatureViewModelas an additional parameter.
If you are experiencing issues with upgrading, please don't hesitate to contact us.
Fixed
Fixed issue where annotation reply to sticky note is missing UUID
Fixed issue where floating point width for stroke thickness would not work
Fixed issue where object eraser would not behave properly
Fixed issue where
usingFileExtensionwould not work with XOD file without extensionFixed issue where quick menu for text markup would not appear if long press quick menu is disabled
Fixed issue where keyboard would not come up for Free Text on Android 12
Fixed issue where camera would not show up in the image stamp tool on Android 12
Fixed issue where search previous and next buttons would have square ripple effect on Android 12
Fixed issue where text markup menu items in reflow mode sometimes would not show up on Android 12
Fixed issue where decimal could not be entered with Samsung keyboard on certain devices
Fixed crash with moving grouped annotations
[collab] Fixed issue where sticky note annotation would not be selectable in some situations
[collab] Fixed issue where
addUserwould not create the correct id to name mapping for other usersUX improvements on page cropping
UX improvements on outline editing
APIs
PDFViewCtrlTools package
SavedSignatureAdapter
new method: void setSignatures(List<File>)
ViewerConfig.Builder
new method: Builder hideThumbnailEditOptions(ThumbnailsViewEditOptions[])
new method: Builder quickBookmarkCreation(boolean)
PdfViewCtrlTabBaseFragment
new method: LiveData<BookmarksCache> getBookmarks()
new method: MutableLiveData<PageState> getPageChange()
new method: void onBookmarkModified(List<UserBookmarkItem>)
ReflowControl
new method: void setup(PDFDoc, ToolManager, OnPostProcessColorListener)
ReflowPagerAdapter
new method: void setToolManager(ToolManager)
ThumbnailsViewAdapter
new method: void rotateDocPage(int, boolean)
ThumbnailsViewFragment
new static method: ThumbnailsViewFragment newInstance(boolean, boolean, int[], String[])
ThumbnailsViewEditOptions
new final class: ThumbnailsViewEditOptions
new static final field: ThumbnailsViewEditOptions OPTION_DELETE_PAGES
new static final field: ThumbnailsViewEditOptions OPTION_DUPLICATE_PAGES
new static final field: ThumbnailsViewEditOptions OPTION_EXPORT_PAGES
new static final field: ThumbnailsViewEditOptions OPTION_INSERT_FROM_DOCUMENT
new static final field: ThumbnailsViewEditOptions OPTION_INSERT_FROM_IMAGE
new static final field: ThumbnailsViewEditOptions OPTION_INSERT_PAGES
new static final field: ThumbnailsViewEditOptions OPTION_PAGE_LABEL
new static final field: ThumbnailsViewEditOptions OPTION_ROTATE_PAGES
new static method: ThumbnailsViewEditOptions valueOf(String)
new static method: ThumbnailsViewEditOptions[] values()
UserCropApplyDialogFragment
removed class: UserCropApplyDialogFragment
removed constructor: UserCropApplyDialogFragment()
removed static final field: String BUNDLE_IS_EVEN
removed static final field: Integer OPTION_ALL_PAGES
removed static final field: Integer OPTION_EDITED_PAGE
removed static final field: Integer OPTION_ODD_OR_EVEN_PAGES
removed static method: UserCropApplyDialogFragment newInstance(boolean)
removed method: Dialog onCreateDialog(Bundle)
removed method: void setUserCropApplyDialogListener(UserCropApplyDialogListener)
UserCropApplyDialogListener
removed interface: UserCropApplyDialogListener
removed method: void onApplyCropOption(int)
ReflowAnnotEditBottomSheetDialog
new static final field: int ITEM_NOTE
SavedSignaturePickerFragment
new method: void onCreate(Bundle)
SavedSignaturePickerFragment.DialogMode
new final field: int value
new static method: DialogMode fromValue(int)
SignatureDialogFragmentBuilder
new method: SignatureDialogFragmentBuilder usingDialogMode(DialogMode)
BookmarkButtonState
new class: BookmarkButtonState
new constructor: BookmarkButtonState(boolean)
new method: boolean isSelected()
PageState
new class: PageState
new constructor: PageState(int)
new method: int getCurrentPage()
UserBookmarkItem
new field: boolean deleted
DialogAnnotNote
new constructor: DialogAnnotNote(Context, String, boolean)
Signature
new method: void showSignaturePickerDialog(OnCreateSignatureListener, OnDialogDismissListener, DialogMode)
ToolManager
new method: void raiseBookmarkModified(List<UserBookmarkItem>)
ToolManager.PdfDocModificationListener
new method: void onBookmarkModified(List<UserBookmarkItem>)
UndoRedoManager
new method: void onBookmarkModified(List<UserBookmarkItem>)
AnalyticsHandlerAdapter
new static final field: String EVENT_EDIT_OUTLINE_EDIT
removed static final field: String EVENT_EDIT_OUTLINE_RENAME
AnnotUtils
new static field: String KEY_ANNOT_ROTATION
new static field: String KEY_UNROTATED_BBOX
new static method: Rect deserializeRect(String)
new static method: String getAnnotContents(PDFDoc, Annot)
new static method: int getAnnotRotation(Annot)
new static method: int getAnnotUIRotation(PDFViewCtrl, Annot, int)
new static method: Rect getUnrotatedBBox(Annot)
new static method: boolean hasPermission(PDFDoc, ToolManager, Annot, int)
new static method: boolean hasPermission(PDFViewCtrl, PDFDoc, ToolManager, Annot, int)
new static method: boolean hasRotation(Annot)
new static method: boolean hasRotation(PDFViewCtrl, Annot)
new static method: void saveUnrotatedBBox(Annot)
new static method: String serializeRect(Rect)
new static method: void setAnnotContents(PDFDoc, Markup, String)
new static method: void setBorderStyle(Annot, int, int, double[])
OnClipboardTaskListener
new method: void onClipboardTaskDone(String, ArrayList<Annot>)
removed method: void onnClipboardTaskDone(String)
BookmarkManager
new static method: void addUserBookmark(Context, PDFViewCtrl, String, long, int)
new static method: void importUserBookmarks(Context, PDFViewCtrl, String, String)
new static method: void onPageDeleted(Context, PDFViewCtrl, String, Long, int, int)
new static method: void onPageMoved(Context, PDFViewCtrl, String, long, long, int, int)
new static method: void removeUserBookmark(Context, PDFViewCtrl, String, long, int)
new static method: void saveUserBookmarks(Context, PDFViewCtrl, String, List<UserBookmarkItem>)
new static method: void updateUserBookmarkPageObj(Context, PDFViewCtrl, String, long, long, int)
PdfViewCtrlSettingsManager
new static method: boolean getFreeHighlighterSmoothing(Context)
new static method: boolean getQuickBookmarkCreation(Context)
RotationUtils
new class: RotationUtils
new constructor: RotationUtils()
new static method: double getRotationAngleInRadiansByDegrees(int)
new static method: Rect getUnrotatedDimensionsFromBBox(Rect, int)
new static method: RectF getUnrotatedDimensionsFromBBoxRectF(Rect, int)
new static method: boolean isDivisibleByPiOverFour(double)
new static method: boolean shouldMaintainAspectRatio(int)
StampManager
new static method: Single<File> getSignaturePreview(Context, String)
Utils
new static method: void handleEmptyPopup(PDFDoc, Markup)
new static method: Drawable tintDrawable(Context, Drawable)
new static method: void updateDashedLineColor(View, int)
removed static method: void handleEmptyPopup(PDFViewCtrl, Markup)
ViewerUtils
new static method: Annot getAnnotById(PDFDoc, String, int)
BookmarksCache
new class: BookmarksCache
new constructor: BookmarksCache()
new method: boolean containsBookmark(int)
new method: List<UserBookmarkItem> getBookmarkItems()
new method: void setBookmarkItems(List<UserBookmarkItem>)
new method: void updateCache(PDFViewCtrl, boolean)
BookmarkButtonViewModel
new class: BookmarkButtonViewModel
new constructor: BookmarkButtonViewModel(Application)
new method: void attachBookmarkData(LiveData<BookmarksCache>)
new method: void attachPageData(LiveData<PageState>)
new final method: void observe(LifecycleOwner, Observer<BookmarkButtonState>)
BookmarksViewModel
new class: BookmarksViewModel
new constructor: BookmarksViewModel(Application)
new method: LiveData<BookmarksCache> getBookmarks()
new method: void loadBookmarks(PDFViewCtrl, boolean)
new final method: void observe(LifecycleOwner, Observer<BookmarksCache>)
new method: void setBookmarks(List<UserBookmarkItem>)
new method: void toggleBookmark(Context, boolean, PDFViewCtrl, int)
PageChangeViewModel
new class: PageChangeViewModel
new constructor: PageChangeViewModel(Application)
new method: MutableLiveData<PageState> getPageState()
new method: void observe(LifecycleOwner, Observer<PageState>)
new method: void onPageChange(PageState)
AnnotDrawingView
new method: void setRotateImpl(RotationImpl)
removed method: PointF center()
removed method: RotateInfo handleRotation(PointF, PointF, boolean)
removed method: void snapToDegree(Integer, float)
AnnotView
new method: int getAnnotUIRotation()
new method: void setAnnotUIRotation(int)
new method: void snapToDegree(Integer, float)
removed method: InertRichEditor getRichEditor()
AnnotViewImpl
new field: int mAnnotUIRotation
AutoScrollEditor
new method: void rotateToDegree()
new method: void setRotateImpl(RotationImpl)
PTCropImageViewBase
new method: void setPTCropImageViewListener(PTCropImageViewListener)
PTCropImageViewListener
new interface: PTCropImageViewListener
new method: void cropWindowChanged()
RotateHandleView
new method: void setCustomSize(int)
new method: void setImageResource(int)
RotationImpl
new class: RotationImpl
new constructor: RotationImpl(AnnotViewImpl)
new field: float mRotDegree
new field: float mRotDegreeSave
new field: boolean mRotated
new field: boolean mRotating
new field: Integer mSnapDegree
new method: PointF center()
new method: RotateInfo handleRotation(PointF, PointF, boolean)
new method: void snapToDegree(Integer, float)
SelectionHandleView
removed method: void setCustomSize(int)
removed method: void setImageResource(int)
BottomBarComponent
new method: void setItemIcon(int, Drawable)
new method: void setShowBackground(int, boolean)
BottomBarView
new method: void setItemIcon(int, Drawable)
new method: void setShowBackground(int, boolean)
PresetBarComponent
new constructor: PresetBarComponent(LifecycleOwner, FragmentManager, PresetBarViewModel, ToolManagerViewModel, SignatureViewModel, ViewGroup)
new constructor: PresetBarComponent(LifecycleOwner, FragmentManager, PresetBarViewModel, ToolManagerViewModel, SignatureViewModel, PresetBarView)
new constructor: PresetBarComponent(LifecycleOwner, FragmentManager, PresetBarViewModel, ToolManagerViewModel, SignatureViewModel, PresetBarView, HashSet<ToolbarButtonType>)
removed constructor: PresetBarComponent(LifecycleOwner, FragmentManager, PresetBarViewModel, ToolManagerViewModel, ViewGroup)
removed constructor: PresetBarComponent(LifecycleOwner, FragmentManager, PresetBarViewModel, ToolManagerViewModel, PresetBarView)
removed constructor: PresetBarComponent(LifecycleOwner, FragmentManager, PresetBarViewModel, ToolManagerViewModel, PresetBarView, HashSet<ToolbarButtonType>)
PresetBarTheme
new constructor: PresetBarTheme(int, int, int, int, int, int, int, int)
new final field: int accentColor
removed constructor: PresetBarTheme(int, int, int, int, int, int, int)
PresetBarView
new method: void singlePresetWithBackground(boolean)
PresetSingleButton
new method: void presetIconWithBackground(boolean)
new method: void setArrowIconVisible(boolean)
new method: void setBackgroundColor(int)
new method: void setTextColor(int)
removed method: void setIconColor(int)
SignaturePresetComponent
new class: SignaturePresetComponent
new constructor: SignaturePresetComponent(LifecycleOwner, SignatureViewModel, SignatureSelectionView, Context)
new final field: Context mContext
new method: void attachDialogToViewModel()
new method: void close()
new method: void setButtonEventListener(ButtonClickListener)
new method: void show()
SignatureSelectionDialog
new class: SignatureSelectionDialog
new constructor: SignatureSelectionDialog(FragmentManager)
new static final field: String TAG
new method: void close()
new method: View onCreateView(LayoutInflater, ViewGroup, Bundle)
new method: void setAnchorView(View)
new method: void setButtonEventListener(ButtonClickListener)
new method: void setSignatures(List<String>)
new method: void show()
ButtonClickListener
new interface: ButtonClickListener
new method: void onCreateClicked()
new method: void onFirstSignatureClicked()
new method: void onManageClicked()
new method: void onSecondSignatureClicked()
SignatureSelectionView
new interface: SignatureSelectionView
new method: void close()
new method: void setButtonEventListener(ButtonClickListener)
new method: void setSignatures(List<String>)
new method: void show()
SignatureViewModel
new class: SignatureViewModel
new constructor: SignatureViewModel(Application)
new method: List<SignatureData> getSignatures()
new method: boolean hasSignatures()
new method: void observeSignatures(LifecycleOwner, Observer<List<SignatureData>>)
new method: void populateSignaturesAsync(Context)
new method: void populateSignaturesAsync(Context, Consumer<List<SignatureData>>)
SignatureData
new class: SignatureData
new constructor: SignatureData(String, long)
new method: String getFilePath()
new method: long getLastUsedRawDate()
TabletAnnotationToolbarComponent
new constructor: TabletAnnotationToolbarComponent(Fragment, FragmentManager, AnnotationToolbarViewModel, PresetBarViewModel, ToolManagerViewModel, SignatureViewModel, AnnotationToolbarView, boolean, HashSet<ToolbarButtonType>, boolean)
removed constructor: TabletAnnotationToolbarComponent(Fragment, FragmentManager, AnnotationToolbarViewModel, PresetBarViewModel, ToolManagerViewModel, AnnotationToolbarView, boolean, HashSet<ToolbarButtonType>, boolean)
ActionButton
new method: void setShowBackground(boolean)
ActionToolbar
new method: void setBackground(int, boolean)
new method: void setItemIcon(int, Drawable)
ToolbarButton
new method: void setIcon(Drawable)
BookmarkNode
new method: BookmarkNode commitEditEntry()
removed method: BookmarkNode commitRename()
ViewHolder
new method: TextView getTvPageNumber()
Last updated
Was this helpful?