Version 9.0.0 Changelog (April 20, 2021)

Version: 9.0.0.77656

Release Date: April 20, 2021

New features

  • Lasso tool now supports splitting ink annotation by strokes
Apryse Docs Image
Apryse Docs Image
  • New admin mode for collaboration viewer, available modes are: AnnotationManagerMode.ADMIN_UNDO_OWN and AnnotationManagerMode.ADMIN_UNDO_OTHERS
  • Theme revamp: most of the viewer components now come with a theme that can be modified in your application, check out theme guide here: Customize the viewer's theme
  • Compile SDK version and target SDK version have been updated to API 30
  • Adds ability to change annotation style properties when using group selection tools (rectangle selection and lasso selection)
  • New text diffing showcase sample

Notes

This release of Apryse for Android brings the core PDF functionality inline with version 9.0.0 of the Apryse cross-platform APIs. More information can be found on What's new for cross-platform APIs. All none-module related changes apply to Android.

Fixed

  • Fixed issue where search redaction edit text does not respond to keyboard enter key
  • Fixed issue where adding freetext in RTL does not generate correct appearance
  • Fixed issue where the document viewer does not work in navigation component
  • Fixed issue where annotation list button is visible in reply dialog when it is disabled in config
  • Fixed issue where bottom bar items are not centered
  • Fixed issue where tool buttons such as add page, page redact, search redact are missing from favorite toolbar editor
  • Fixed issue where search redaction does not work on documents with invalid sections
  • Fixed issue where movement is not allowed when using multi-select on annotation types such as stamp
  • Fixed issue where long press does not work when using stylus as pen mode for smart pen

APIs

PDFViewCtrlTools package

BaseViewerBuilderImpl

new method: BaseViewerBuilderImpl usingAnnotationManagerMode(AnnotationManagerMode)

ViewerConfig.Builder

new method: Builder showDocumentSlider(boolean)

new method: Builder useCompactViewer(boolean)

AnnotStyleDialogFragment.Builder

new method: Builder setGroupAnnotTypes(ArrayList<AnnotStyle>)

AnnotStyleView

new method: void setGroupAnnotStyles(ArrayList<AnnotStyle>)

AnnotationDialogFragment

new static final field: String BUNDLE_ANNOTATION_FILTER_ICON

new method: int getAnnotationFilterIcon()

new method: void setAnnotationFilterIcon(int)

PdfViewCtrlTabBaseFragment

new static final field: String BUNDLE_TAB_ANNOTATION_MANAGER_MODE

new method: void addPageStackListener(PageStackListener)

new method: BookmarksDialogFragment getBookmarksNavigationList()

new method: ExternalFileInfo getExportUriDirectory()

new method: void handlePrintAnnotationSummary()

new method: boolean isExportDirectoryContentUri()

new method: void removePageStackListener(PageStackListener)

removed method: void addAnnotationToolbarListener(AnnotationToolbarListener)

removed method: void removeAnnotationToolbarListener(AnnotationToolbarListener)

PdfViewCtrlTabBaseFragment.PageStackListener

new interface: PageStackListener

new method: void onPostJumpPageBack(Deque<PageBackButtonInfo>, Deque<PageBackButtonInfo>)

new method: void onPostJumpPageForward(Deque<PageBackButtonInfo>, Deque<PageBackButtonInfo>)

new method: boolean onPreJumpPageBack(Deque<PageBackButtonInfo>, Deque<PageBackButtonInfo>)

new method: boolean onPreJumpPageForward(Deque<PageBackButtonInfo>, Deque<PageBackButtonInfo>)

PdfViewCtrlTabFragment

new method: void addAnnotationToolbarListener(AnnotationToolbarListener)

new method: void removeAnnotationToolbarListener(AnnotationToolbarListener)

PdfViewCtrlTabHostFragment2

new method: void addOnPreBuildToolbarListener(OnPreBuildToolbarListener)

new method: void handleToolSwitcherClicked(View)

new method: void onConfigurationChanged(Configuration)

new method: void onSystemUiVisibilityChange(int)

new method: void removeOnPreBuildToolbarListener(OnPreBuildToolbarListener)

new method: void setViewerOverlayUIVisible(boolean)

PdfViewCtrlTabHostFragment2.OnPreBuildToolbarListener

new interface: OnPreBuildToolbarListener

PdfViewCtrlTabHostFragment2.OnToolbarChangedListener

removed method: void onToolbarChanged(String)

modified interface: OnToolbarChangedListener

Declaration

From:

public interface OnToolbarChangedListener

To:

public interface OnToolbarChangedListener extends OnToolbarChangedListener

BookmarksDialogFragment

new method: void updateAnnotationFilterIcon(int)

AnnotationFilterDialogFragment

removed field: Fragment parentFragment

DiffUtils

new static method: PDFDoc getPdfDoc(Context, Uri)

TabSwitcherAdapter

new constructor: TabSwitcherAdapter(Context)

removed constructor: TabSwitcherAdapter()

ToolbarSwitcherButtonTheme

new constructor: ToolbarSwitcherButtonTheme(int, int, int)

new final field: int backgroundColorCompact

removed constructor: ToolbarSwitcherButtonTheme(int, int)

ToolbarSwitcherCompactButton

new class: ToolbarSwitcherCompactButton

new constructor: ToolbarSwitcherCompactButton(Context)

new constructor: ToolbarSwitcherCompactButton(Context, AttributeSet)

new constructor: ToolbarSwitcherCompactButton(Context, AttributeSet, int)

new constructor: ToolbarSwitcherCompactButton(Context, AttributeSet, int, int)

ToolbarSwitcherAdapter

new class: ToolbarSwitcherAdapter

new method: int getItemCount()

new method: void onBindViewHolder(ViewHolder, int)

new method: void onBindViewHolder(ToolbarSwitcherViewHolder, int)

new method: ViewHolder onCreateViewHolder(ViewGroup, int)

new method: void setToolbarSwitcherState(ToolbarSwitcherState)

ToolbarSwitcherViewHolder

new class: ToolbarSwitcherViewHolder

new constructor: ToolbarSwitcherViewHolder(View)

ToolbarSwitcherDialogTheme

new constructor: ToolbarSwitcherDialogTheme(int, int, int, int, int)

new final field: int selectedIconColor

removed constructor: ToolbarSwitcherDialogTheme(int, int, int, int)

AnnotStyle

new static final field: int CUSTOM_ADD_PAGE

new static final field: int CUSTOM_PAGE_REDACTION

new static final field: int CUSTOM_SEARCH_REDACTION

AnnotStyleProperty

new method: boolean canShowBorderEffect()

new method: AnnotStyleProperty setCanShowBorderEffect(boolean)

AnnotManager

new method: AnnotationManagerMode getMode()

removed constructor: AnnotManager(ToolManager, String, AnnotationSyncingListener)

removed constructor: AnnotManager(ToolManager, String, String, Bundle, AnnotationSyncingListener)

removed constructor: AnnotManager(ToolManager, String, String, AnnotationSyncingListener)

ToolManager

new method: void enableAnnotManager(String, String, AnnotationManagerMode, AnnotationSyncingListener)

new static method: ToolModeBase getDefaultToolModeBase(ToolModeBase)

new method: EdgeEffectListener getEdgeEffectListener()

new method: void setEdgeEffectListener(EdgeEffectListener)

removed method: void enableAnnotManager(String, String, Bundle, AnnotationSyncingListener)

ToolManager.EdgeEffectListener

new interface: EdgeEffectListener

new method: boolean onPreDrawEdgeEffects(Canvas, int, int)

new method: void onPrePullEdgeEffects(int, float)

new method: void onPreReleaseEdgeEffects()

AnnotUtils

new static final field: String KEY_INK_LIST

AnnotationFilterOptionAdapter

new constructor: AnnotationFilterOptionAdapter(Context, Theme)

removed constructor: AnnotationFilterOptionAdapter()

PdfViewCtrlSettingsManager

new static final field: String KEY_PREF_STYLUS_AS_PEN

new static method: boolean getDrawWithFinger(Context)

new static method: void setDrawWithFinger(Context, boolean)

removed static final field: String DEFAULT_STYLUS_TOOL_MODE

PressureInkUtils

new static method: void eraseSubPath(Ink, int)

Utils

new static method: void applyPrimaryTextTintToButton(ImageView)

new static method: void applySecondaryTextTintToButton(ImageView)

new static method: int getPrimaryTextColor(Context)

new static method: int getSecondaryTextColor(Context)

ViewerUtils

new static method: void keepOnScreenAfterClick(Context, MenuItem)

AutoScrollEditText

new method: boolean getIsRTL()

PresetBarComponent

new method: void setCompactMode(boolean)

PresetBarTheme

new constructor: PresetBarTheme(int, int, int, int, int, int)

new final field: int expandIconColor

removed constructor: PresetBarTheme(int, int, int, int, int)

PresetActionButton

new method: void setBackgroundWidth(int)

new method: void setExpandStyleIconColor(int)

PresetBarView

new method: void setCompactMode(boolean)

new method: void updateTheme()

AnnotationToolbarBuilder

new method: AnnotationToolbarBuilder addCustomSelectableLeadingStickyButton(int, int, int)

new method: AnnotationToolbarBuilder addLeadingCustomStickyButton(int, int, int)

new method: AnnotationToolbarBuilder addLeadingToolStickyButton(ToolbarButtonType, int)

new method: AnnotationToolbarBuilder addToolLeadingStickyButton(ToolbarButtonType, int)

new method: AnnotationToolbarBuilder addToolStickyOptionButton(ToolbarButtonType, int)

new method: List<ToolbarItem> getLeadingStickyToolbarItems()

new method: AnnotationToolbarBuilder removeToolLeadingStickyButton(int)

ToolbarButtonType

new static final field: ToolbarButtonType ADD_PAGE

new static final field: ToolbarButtonType NAVIGATION

new static final field: ToolbarButtonType PAGE_REDACTION

new static final field: ToolbarButtonType SEARCH_REDACTION

new static final field: ToolbarButtonType TOOLBAR_SWITCHER

ToolbarItem

new constructor: ToolbarItem(String, ToolbarButtonType, int, boolean, boolean, int, int, int, boolean, int)

new constructor: ToolbarItem(String, ToolbarButtonType, int, boolean, boolean, int, int, int, int)

new final field: boolean hasOption

new method: void setIcon(int)

new method: void setVisible(boolean)

removed constructor: ToolbarItem(String, ToolbarButtonType, int, boolean, int, int, int, boolean, int)

modified final field: int icon

Declaration

From:

public final int icon

To:

public int icon

modified final field: boolean isVisible

Declaration

From:

public final boolean isVisible

To:

public boolean isVisible

AnnotationToolbarComponent

new method: void addOnPreBuildToolbarListener(OnPreBuildToolbarListener)

new method: void addOnToolbarChangedListener(OnToolbarChangedListener)

new method: void addToolbarActionsRightOptionalContainer(View)

new method: AppCompatButton buildRedactionApplyButton()

new method: void removeOnPreBuildToolbarListener(OnPreBuildToolbarListener)

new method: void removeOnToolbarChangedListener(OnToolbarChangedListener)

new method: void setCompactMode(boolean)

new method: void setEmptyToolText(int)

new method: void setEmptyToolTextOnClickListener(OnClickListener)

new method: void setEmptyToolTextVisible(boolean)

new method: void setNavigationIcon(int)

new method: void setNavigationIconProperty(int, int)

new method: void setNavigationIconVisible(boolean)

new method: void setToolRegionVisible(boolean)

new method: void setToolbarHeight(int)

AnnotationButtonClickListener

new method: boolean onInterceptItemClick(ToolbarItem, MenuItem)

new method: void onPostItemClick(ToolbarItem, MenuItem)

new method: void onPreItemClick(ToolbarItem, MenuItem)

removed method: boolean onInterceptItemClick(MenuItem)

removed method: void onPostItemClick(MenuItem)

removed method: void onPreItemClick(MenuItem)

AnnotationToolbarTheme

new constructor: AnnotationToolbarTheme(int, int, int, int, int, int, int, int, int, int, int)

new field: int backgroundColorCompact

new field: int dividerColor

new final field: int highlightIconColor

removed constructor: AnnotationToolbarTheme(int, int, int, int, int, int, int, int, int)

removed final field: int editMenuButton

DefaultToolbars

new static field: AnnotationToolbarBuilder defaultAnnotateToolbarCompact

new static field: AnnotationToolbarBuilder defaultDrawToolbarCompact

new static field: AnnotationToolbarBuilder defaultFavoriteToolbarCompact

new static field: AnnotationToolbarBuilder defaultFillAndSignToolbarCompact

new static field: AnnotationToolbarBuilder defaultInsertToolbarCompact

new static field: AnnotationToolbarBuilder defaultMeasureToolbarCompact

new static field: AnnotationToolbarBuilder defaultPensToolbarCompact

new static field: AnnotationToolbarBuilder defaultPrepareFormToolbarCompact

new static field: AnnotationToolbarBuilder defaultRedactionToolbarCompact

ButtonId

new static final field: ButtonId NAVIGATION

TabletAnnotationToolbarComponent

new constructor: TabletAnnotationToolbarComponent(Fragment, FragmentManager, AnnotationToolbarViewModel, PresetBarViewModel, ToolManagerViewModel, AnnotationToolbarView, boolean)

new method: void setCompactMode(boolean)

new method: void setTabletMode(boolean)

removed constructor: TabletAnnotationToolbarComponent(Fragment, FragmentManager, AnnotationToolbarViewModel, PresetBarViewModel, ToolManagerViewModel, AnnotationToolbarView)

ToolbarSharedPreferences

new static method: Observable<Boolean> clearToolbarItemsInDb(Context, String)

new method: AnnotationToolbarBuilder getCompactAnnotateToolbar(Context)

new method: AnnotationToolbarBuilder getCompactDrawToolbar(Context)

new method: AnnotationToolbarBuilder getCompactFavoriteToolbar(Context)

new method: AnnotationToolbarBuilder getCompactFillAndSignToolbar(Context)

new method: AnnotationToolbarBuilder getCompactInsertToolbar(Context)

new method: AnnotationToolbarBuilder getCompactMeasureToolbar(Context)

new method: AnnotationToolbarBuilder getCompactPensToolbar(Context)

new method: AnnotationToolbarBuilder getCompactPrepareFormToolbar(Context)

new method: AnnotationToolbarBuilder getCompactRedactToolbar(Context)

modified static method: void updateToolbarItemsInDb(Context, String, String, List<MenuEditorItem>, boolean)

Declaration

From:

public static void updateToolbarItemsInDb(Context, String, String, List, boolean)

To:

public static Observable updateToolbarItemsInDb(Context, String, String, List, boolean)

ActionButton

new method: boolean hasOption()

new method: void setHasOption(boolean)

ActionToolbar

new method: void addOnButtonLongClickListener(OnLongClickListener)

new method: void addToolbarActionsRightOptionalContainer(View)

new method: void setCompactMode(boolean)

new method: void setEmptyToolText(int)

new method: void setEmptyToolTextOnClickListener(OnClickListener)

new method: void setEmptyToolTextVisible(boolean)

new method: void setNavigationIcon(int)

new method: void setNavigationIconProperty(int, int)

new method: void setNavigationIconVisible(boolean)

new method: void setToolRegionVisible(boolean)

removed static field: boolean AUTO_PAD_TOOLBAR

AnnotationToolbarView

new method: void addOnButtonLongClickListener(OnLongClickListener)

new method: void addToolbarActionsRightOptionalContainer(View)

new method: void setCompactMode(boolean)

new method: void setEmptyToolText(int)

new method: void setEmptyToolTextOnClickListener(OnClickListener)

new method: void setEmptyToolTextVisible(boolean)

new method: void setNavigationIcon(int)

new method: void setNavigationIconProperty(int, int)

new method: void setNavigationIconVisible(boolean)

new method: void setToolRegionVisible(boolean)

new method: void setToolbarHeight(int)

new method: void updateTheme()

SingleButtonToolbar

new method: void inflateDefaultEditToolbar(ToolMode)

new method: void setCompactMode(boolean)

TabActionButtonTheme

new class: TabActionButtonTheme

new constructor: TabActionButtonTheme(int, int)

new final field: int iconColor

new final field: int textColor

new static method: TabActionButtonTheme fromContext(Context)

ToolbarButton

new method: boolean hasOption()

new method: void setHasOption(boolean)

ToolbarItemDao

new constructor: ToolbarItemDao()

new method: void clearAndInsertAll(String, )

removed method: void delete()

removed method: void update()

modified interface: ToolbarItemDao

Declaration

From:

public interface ToolbarItemDao

To:

public abstract class ToolbarItemDao

ToolbarItemDao_Impl

new method: void clearAndInsertAll(String, )

removed method: void delete()

removed method: void update()

modified final class: ToolbarItemDao_Impl

Declaration

From:

public final class ToolbarItemDao_Impl implements ToolbarItemDao

To:

public final class ToolbarItemDao_Impl extends ToolbarItemDao

pdfnet-demo-utils package

FileBrowserTheme

new class: FileBrowserTheme

new final field: int contentBodyTextColor

new final field: int contentSecondaryTextColor

new final field: int emptyTextBackground

new final field: int headerBackgroundColor

new final field: int headerChevronColor

new final field: int headerTextColor

new final field: int iconColor

new final field: int itemDividerColor

new static method: FileBrowserTheme fromContext(Context)

BaseFileAdapter

new static method: int getFolderIconColor(Context)

MiscUtils

removed static method: void keepOnScreenAfterClick(Context, MenuItem)

pdftron-collab package

ReplyHeaderUIView

new method: void setAnnotationListIcon(boolean)

BaseHeaderUIView

new abstract method: void setAnnotationListIcon(boolean)

ReplyHeader

new constructor: ReplyHeader(Context, Annot, boolean, boolean)

new constructor: ReplyHeader(String, String, int, int, float, boolean, boolean, AnnotReviewState)

new method: boolean hasAnnotationList()

removed constructor: ReplyHeader(Context, Annot, boolean)

removed constructor: ReplyHeader(String, String, int, int, float, boolean, AnnotReviewState)

CollabViewerBuilder2

new method: CollabViewerBuilder2 usingAnnotationManagerMode(AnnotationManagerMode)

CollabTabListener

new method: void onUpdateUndoRedoState()

CollabViewerTabHostFragment2

new method: void onUpdateUndoRedoState()

Did you find this helpful?

Trial setup questions?

Ask experts on Discord

Need other help?

Contact Support

Pricing or product questions?

Contact Sales
Version 9.0.0 Changelog (April 20, 2021) | Apryse documentation