Version 8.1.0 Changelog (December 2, 2020)

Version: 8.1.0.30522

Release Date: December 2, 2020

Notes

This release of Apryse for Android brings the core PDF functionality inline with version 8.1.0 of the Apryse cross-platform APIs. More information can be found on What's new for cross-platform APIs.

New features

  • The new viewer ui is now officially released and all of the legacy components have been deprecated
Apryse Docs Image
  • New redaction toolbar in new ui
Apryse Docs Image

Fixed

  • Toolbar customization is reset in this version to resolve incorrect state behavior
  • Hide toolbar section in favorite toolbar editor if all tools have been disabled
  • Fixed issue where slider does not work in RTL mode
  • Fixed issue where disabled tools showed up in the toolbar editors
  • Fixed issue where bottom nav APIs did not work if support action bar is disabled
  • Fixed issue where the poly shape tools did not work when activated from the long press menu with the new ui
  • Fixed issue where editing existing ink annotaitons did not work with the new ui
  • Fixed issue where eraser could get stuck in certain stylus as pen flow
  • Fixed issue where continuous mode ignores animated flag when turn page
  • Fixed issue where DefaultToolbars did not work properly when building custom toolbars
  • Fixed issue where file attachment tool did not work from the toolbar
  • Fixed issue where document sharing would not work if the app has its own version of provider_paths.xml
  • Fixed issue where the bottom toolbar still shows when disabled in the config

APIs

PDFViewCtrlTools package

ToolStyleConfig

new method: int numberOfAnnotPresetStyles(Context, int)

ViewerConfig

new method: int[] getHideThumbnailFilterModes()

new method: boolean isImageInReflowEnabled()

new method: boolean isShowFileAttachmentOption()

new method: boolean isShowQuickNavigationButton()

ViewerConfig.Builder

new method: Builder hideThumbnailFilterModes(FilterModes[])

new method: Builder imageInReflowEnabled(boolean)

new method: Builder showFileAttachmentOption(boolean)

new method: Builder showQuickNavigationButton(boolean)

PdfViewCtrlTabFragment2

new method: boolean handleKeyUp(int, KeyEvent)

new method: void setThumbSliderVisible(boolean, boolean, boolean)

PdfViewCtrlTabHostFragment2

new method: void setToolbarSwitcherVisible(boolean)

ReflowControl

new method: void setImageInReflowEnabled(boolean)

ReflowPagerAdapter

new method: void setImageInReflowEnabled(boolean)

ThumbnailsViewFragment

new static method: ThumbnailsViewFragment newInstance(boolean, boolean, int[])

ThumbnailsViewFragment.FilterModes

new final class: FilterModes

new static final field: FilterModes ANNOTATED

new static final field: FilterModes BOOKMARKED

new method: int getValue()

new static method: FilterModes valueOf(String)

new static method: FilterModes[] values()

DigitalSignatureDialogFragment

new static field: boolean HANDLE_INTENT_IN_ACTIVITY

new static method: DigitalSignatureViewModel getViewModel(FragmentActivity)

new static method: boolean isDigitalSignatureIntent(int)

new method: void onDestroy()

DigitalSignatureViewModel

new method: void setActivityResultIntent(int, int, Intent)

ToolbarSwitcherItem

new method: String getToolbarName(Context)

removed method: String getToolbarName()

ToolbarSwitcherState

new method: String getToolbarTagWithButtonId(int)

AnnotStyle

new static final field: int CUSTOM_RECT_REDACTION

new method: boolean isEnabled()

new method: void setEnabled(boolean)

ActionUtils

new static method: void launchEmailIntent(Context, String)

new static method: void launchPhoneIntent(Context, String)

new static method: void launchWebPageIntent(Context, String)

AnnotUtils

new static method: void applyRedaction(PDFViewCtrl, Redaction, ArrayList<Redaction>)

new static method: void deleteAllAnnotsByType(PDFDoc, int)

new static method: ArrayList<Pair<Redaction, Integer>> getAllRedactions(PDFViewCtrl)

new static method: ArrayList<Redaction> getRedactionArray(Redaction, int)

PdfViewCtrlSettingsManager

new static final field: String KEY_PREF_NEW_UI_SHOW_TAB_BAR

new static method: boolean getShowTabBarForNewUI(Context)

new static method: void setShowTabBarForNewUI(Context, boolean)

RedactionManager

new method: void applyRedaction()

RequestCode

new static final field: int DIGITAL_SIGNATURE_IMAGE

removed static final field: int DIGITAL_SIGNATURE_KEYSTORE_IMAGE

ShortcutHelper

new static method: boolean canHandleShortcut(ToolManager, int, KeyEvent)

new static method: ButtonId getButtonId(ToolManager, int, KeyEvent)

ViewerUtils

new static method: Uri openImageIntent(Activity, int)

new static method: Uri openImageIntent(Fragment, int)

AnnotationFilterViewModel

new method: void addAnnotToHide(Annot)

new method: void removeAnnotToHide(Annot)

new method: boolean shouldHideAnnot(Annot)

removed method: void addAnnotToHide(String)

removed method: void removeAnnotToHide(String)

removed method: boolean shouldHideAnnot(String)

ViewerShortcutViewModel

new class: ViewerShortcutViewModel

new constructor: ViewerShortcutViewModel()

new method: void observeKeyboardEvents(LifecycleOwner, Observer<KeyboardShortcut>)

new method: void setKeyboardEvent(int, KeyEvent)

KeyboardShortcut

new class: KeyboardShortcut

new constructor: KeyboardShortcut(int, KeyEvent)

new method: KeyEvent getEvent()

new method: int getKeyCode()

PresetBarView

new static final field: int MAX_NUMBER_OF_PRESETS

removed static final field: int DEFAULT_NUMBER_OF_PRESETS

DocumentSlider

new method: void setCanShowPageIndicator(boolean)

AnnotationToolbarBuilder

new method: String getToolbarName(Context)

new static method: void removeItems(List<ToolbarItem>, Set<ToolMode>)

new method: AnnotationToolbarBuilder setToolbarName(int)

removed method: String getToolbarName()

ToolbarButtonType

new static final field: ToolbarButtonType RECT_REDACTION

new static final field: ToolbarButtonType TEXT_REDACTION

new static method: ToolbarButtonType valueOf(int)

AnnotationToolbarComponent

new method: void addToolbarLeftOptionalContainer(View)

new method: void clearOptionalToolbarContainer()

new method: void showEditToolbar(ToolMode, Annot, int, boolean)

removed method: void onEditToolbarDismissed()

modified class: AnnotationToolbarComponent

Declaration

From:

public class AnnotationToolbarComponent implements OnEditToolbarListener,OnEditToolbarListener

To:

public class AnnotationToolbarComponent implements OnEditToolbarListener

DefaultToolbars

new static final field: String TAG_REDACTION_TOOLBAR

new static field: AnnotationToolbarBuilder defaultRedactionToolbar

DefaultToolbars.ButtonId

new static final field: ButtonId RECT_REDACTION

new static final field: ButtonId REDACT_PAGE

new static final field: ButtonId REDACT_SEARCH

new static final field: ButtonId TEXT_REDACTION

TabletAnnotationToolbarComponent

removed method: void showEditToolbar(ToolMode, Annot, int, Bundle)

ToolbarSharedPreferences

new method: LinkedHashMap<String, List<ToolbarItem>> getAllDefaultToolbarItems(Context)

new method: AnnotationToolbarBuilder getRedactToolbar(Context)

new static method: int getToolbarStringResByName(Context, String)

removed method: LinkedHashMap<String, List<ToolbarItem>> getAllDefaultToolbarItems()

removed static method: int getToolbarStringResByName(String)

ActionToolbar

new static field: boolean AUTO_PAD_TOOLBAR

new method: void addToolbarLeftOptionalContainer(View)

new method: void clearOptionalContainers()

AnnotationToolbarView

new method: void addToolbarLeftOptionalContainer(View)

new method: void clearOptionContainers()

SingleButtonToolbar

new method: boolean isEditingAnnotation()

new method: void setEditingAnnotation(boolean)

ToolbarDatabase

new static final field: Migration MIGRATION_1_2

ToolbarItemEntity

new field: int buttonId

pdftron-collab package

CollabManager

new method: AnnotationCompletionListener getAnnotationCompletionListener()

new method: void setAnnotationCompletionListener(AnnotationCompletionListener)

AnnotationCompletionListener

new interface: AnnotationCompletionListener

new method: void onRemoteChangeImported()

Did you find this helpful?

Trial setup questions?

Ask experts on Discord

Need other help?

Contact Support

Pricing or product questions?

Contact Sales