Version 8.0.0 Changelog (September 10, 2020)

Version: 8.0.0.76155

Release Date: September 10, 2020

Notes

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

New features

  • Adds border effect to Square annotation, available styles are default line and cloud shape
Apryse Docs Image
  • Adds ability to collaborate on SignatureWidget in the collaboration viewer
  • Adds 2 new date formats: "dd MMMM yyyy" and "dd.MM.yyyy" to the date annotation type in the fill & sign toolbar
  • Adds ability to edit existing PDF content, see "Edit PDF Content" sample in the Showcase app
Apryse Docs Image
  • Color management is now turned on by default in the document viewer for the full version
  • Adds support for the xls format
  • Adds support for right-to-left languages within office files
  • See all cross-platform changelog here: v8.0.0

Fixed

  • [New UI] Fixed issue where the document slider would change position even when not touching the thumb
  • [New UI] Fixed issue where reset button in the annotation toolbar menu editor was not working
  • [New UI] Fixed issue where the CAB toolbar overlaps the main toolbar in ThumbnailsViewFragment
  • [New UI] Fixed issue with stylus where tapping on tool in toolbar will cause toolbars to hide
  • [New UI] Fixed issue where disabled tools would still appear in the annotation toolbar component
  • Fixed issue where CustomRelativeLayout would drift around in non-continuous page modes when flinging or sliding to the next page
  • Fixed issue where the sub-menu icon in OutlineDialogFragment was hard to press
  • Fixed issue where negative numbers could not be entered in some form fields
  • Fixed issue where ink annot would be selected when using stylus as pen mode
  • Fixed issue where free text annotation may appear distorted on rotated pages

APIs

PDFViewCtrlTools package

PDFNetConfig

new method: String getExoticFontPluginPath(Context)

ToolManagerBuilder

new method: ToolManagerBuilder setPdfContentEditingEnabled(boolean)

ToolStyleConfig

new method: String getBorderEffectKey(int, String)

new method: BorderEffect getCustomBorderEffectMode(Context, int, String)

ViewerBuilder

modified class: ViewerBuilder

Declaration

From:

public class ViewerBuilder extends SkeletalFragmentBuilder implements ViewerBuilderInterface

To:

public class ViewerBuilder extends SkeletalFragmentBuilder

ViewerBuilder2

modified class: ViewerBuilder2

Declaration

From:

public class ViewerBuilder2 extends SkeletalFragmentBuilder implements ViewerBuilderInterface

To:

public class ViewerBuilder2 extends SkeletalFragmentBuilder

ViewerBuilderInterface

removed interface: ViewerBuilderInterface<T>

FavoriteColorDialogFragment

modified class: FavoriteColorDialogFragment

Declaration

From:

public class FavoriteColorDialogFragment extends DialogFragment implements OnPageChangeListener,BaseOnTabSelectedListener

To:

public class FavoriteColorDialogFragment extends CustomSizeDialogFragment implements OnPageChangeListener,BaseOnTabSelectedListener

MirrorSeekBar

new method: void setInteractThumbOnly(boolean)

PdfViewCtrlTabBaseFragment

new abstract method: boolean isAnnotationMode()

new method: void onPdfTextChanged()

modified abstract class: PdfViewCtrlTabBaseFragment

Declaration

From:

public abstract class PdfViewCtrlTabBaseFragment extends Fragment implements PageChangeListener,DocumentDownloadListener,UniversalDocumentConversionListener,DocumentLoadListener,RenderingListener,UniversalDocumentProgressIndicatorListener,PreToolManagerListener,QuickMenuListener,AnnotationModificationListener,PdfDocModificationListener,BasicAnnotationListener,OnGenericMotionEventListener,ToolChangedListener,AdvancedAnnotationListener,OnReflowTapListener,PortfolioDialogFragmentListener

To:

public abstract class PdfViewCtrlTabBaseFragment extends Fragment implements PageChangeListener,DocumentDownloadListener,UniversalDocumentConversionListener,DocumentLoadListener,RenderingListener,UniversalDocumentProgressIndicatorListener,PreToolManagerListener,QuickMenuListener,AnnotationModificationListener,PdfDocModificationListener,PdfTextModificationListener,BasicAnnotationListener,OnGenericMotionEventListener,ToolChangedListener,AdvancedAnnotationListener,OnReflowTapListener,PortfolioDialogFragmentListener

PdfViewCtrlTabFragment2

new method: boolean isAnnotationMode()

PdfViewCtrlTabHostBaseFragment

new abstract method: void onEditToolbarMenu()

AnnotStyle

new method: BorderEffect getBorderEffect()

new method: boolean hasBorderEffect()

new method: boolean isSquare()

new method: void setBorderEffect(BorderEffect)

new method: void updateBorderEffectListner(BorderEffect, boolean)

OnAnnotStyleChangeListener

new method: void onChangeAnnotBorderEffect(BorderEffect)

AnnotEdit

new method: void onChangeAnnotBorderEffect(BorderEffect)

CustomRelativeLayout

new method: void onScrollOffsetChanged(int, int)

modified class: CustomRelativeLayout

Declaration

From:

public class CustomRelativeLayout extends RelativeLayout implements OnCanvasSizeChangeListener

To:

public class CustomRelativeLayout extends RelativeLayout implements OnCanvasSizeChangeListener,PageSlidingListener

DialogAnnotNote

new method: void setNegativeButtonRes(int)

new method: void setPositiveButtonRes(int)

QuickMenu

new method: void addMenuEntries(int)

RectCreate.BorderEffect

new final class: BorderEffect

new static final field: BorderEffect CLOUDY

new static final field: BorderEffect DEFAULT

new final field: int mBEffect

new static method: BorderEffect fromLabel(Context, String)

new static method: BorderEffect valueOf(String)

new static method: BorderEffect[] values()

SimpleShapeCreate

new method: void setupAnnotProperty(AnnotStyle)

removed method: void setupAnnotProperty(int, float, float, int, String, String)

StickyNoteCreate

new method: void onChangeAnnotBorderEffect(BorderEffect)

TextSelect

new method: void editText(String)

new method: void exitCurrentMode()

Tool

new static final field: int ANNOT_PERMISSION_INTERACT

ToolManager

new method: void addDisabledToolModesChangedListener(DisabledToolModeChangedListener)

new method: void addPdfTextModificationListener(PdfTextModificationListener)

new method: Annot getAnnotationAt(int, int)

new method: boolean isPdfContentEditingEnabled()

new method: void raisePdfTextModified()

new method: void removeDisabledToolModeChangedListener(DisabledToolModeChangedListener)

new method: void removePdfTextModificationListener(PdfTextModificationListener)

new method: void setPdfContentEditingEnabled(boolean)

DisabledToolModeChangedListener

new interface: DisabledToolModeChangedListener

new method: void onDisabledToolModeChanged(Set<ToolMode>)

PdfTextModificationListener

new interface: PdfTextModificationListener

new method: void onPdfTextChanged()

UndoRedoManager

new method: void destroy()

new static method: boolean isEditContentAction(Context, String)

new method: void onPdfTextChanged()

modified class: UndoRedoManager

Declaration

From:

public class UndoRedoManager implements AnnotationModificationListener,PdfDocModificationListener

To:

public class UndoRedoManager implements AnnotationModificationListener,PdfDocModificationListener,PdfTextModificationListener

AnnotUtils

new static field: String KEY_WidgetAuthor

new static method: String getAuthor(Annot)

new static method: boolean hasPermission(PDFViewCtrl, Annot, int)

AnnotationPropertyPreviewView

new method: void setBorderEffect(BorderEffect)

DrawingUtils

new static method: void drawCloudyRect(PDFViewCtrl, int, Canvas, ArrayList<PointF>, Path, Paint, int, Paint, int, double)

new static method: void drawCloudyRectangle(PDFViewCtrl, int, Canvas, Path, PointF, PointF, int, int, Paint, Paint, double)

PdfViewCtrlSettingsManager

new static final field: String KEY_PREF_BACKUP_FOLDER_PATH

new static final field: String KEY_PREF_BACKUP_FOLDER_PATH_DEFAULT_VALUE

new static final field: String KEY_PREF_BACKUP_FOLDER_TREE

new static final field: String KEY_PREF_BACKUP_FOLDER_TREE_DEFAULT_VALUE

new static final field: String KEY_PREF_COLOR_MANAGEMENT

new static method: String getBackupCacheFolderTree(Context)

new static method: String getBackupFolderPath(Context)

new static method: boolean getColorManagement(Context)

new static method: void setColorManagement(Context, boolean)

new static method: void updateBackupCacheFolderPath(Context, String)

new static method: void updateBackupCacheFolderTree(Context, String)

Utils

new static field: boolean FORCE_PRE_ANDROID_Q

ViewerUtils

new static method: String getSelectedString(PDFViewCtrl, boolean)

AnnotDrawingView

new method: void updateBorderEffect(BorderEffect)

AnnotView

new method: int getAnnotRotation()

new method: void setAnnotRotation(int)

new method: void updateBorderEffect(BorderEffect)

AnnotViewImpl

new field: int mAnnotRotation

new method: void updateBorderEffect(BorderEffect)

AnnotationToolbarComponent

new constructor: AnnotationToolbarComponent(LifecycleOwner, AnnotationToolbarViewModel, PresetBarViewModel, ToolManagerViewModel, ViewGroup)

new constructor: AnnotationToolbarComponent(LifecycleOwner, AnnotationToolbarViewModel, PresetBarViewModel, ToolManagerViewModel, AnnotationToolbarView)

removed constructor: AnnotationToolbarComponent(LifecycleOwner, PresetBarViewModel, ToolManagerViewModel, ViewGroup)

removed constructor: AnnotationToolbarComponent(LifecycleOwner, PresetBarViewModel, ToolManagerViewModel, AnnotationToolbarView)

AnnotationToolbarViewModel

new class: AnnotationToolbarViewModel

new constructor: AnnotationToolbarViewModel(Application)

new method: void observeBuilderState(LifecycleOwner, Observer<AnnotationToolbarBuilder>)

new method: void observeDisabledToolModesState(LifecycleOwner, Observer<DisabledToolModes>)

new method: void observeHiddenButtonTypesState(LifecycleOwner, Observer<DisabledButtonTypes>)

new method: void setAnnotationToolbarBuilder(AnnotationToolbarBuilder)

new method: void setToolModeFilter(Set<ToolMode>)

new method: void setToolbarButtonVisibility(ToolbarButtonType, boolean)

new method: void updateState()

DisabledButtonTypes

new class: DisabledButtonTypes

new constructor: DisabledButtonTypes()

new method: Set<ToolbarButtonType> getToolbarButtonTypesToHide()

new method: void setDisabledButtonTypes(Set<ToolbarButtonType>)

new method: void setToolbarButtonVisibility(ToolbarButtonType, boolean)

DisabledToolModes

new class: DisabledToolModes

new constructor: DisabledToolModes()

new method: Set<ToolMode> getDisabledToolModes()

new method: void setDisabledToolModes(Set<ToolMode>)

ObservableAnnotationToolbarBuilder

new class: ObservableAnnotationToolbarBuilder

new constructor: ObservableAnnotationToolbarBuilder()

new constructor: ObservableAnnotationToolbarBuilder(AnnotationToolbarBuilder)

new method: AnnotationToolbarBuilder getBuilder()

new method: void setAnnotationToolbarBuilder(AnnotationToolbarBuilder)

DefaultToolbars

new static method: AnnotationToolbarBuilder getDefaultAnnotationToolbarBuilderByTag(String)

TabletAnnotationToolbarComponent

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

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

pdftron-collab package

CollabViewerBuilder

modified class: CollabViewerBuilder

Declaration

From:

public class CollabViewerBuilder extends SkeletalFragmentBuilder implements ViewerBuilderInterface

To:

public class CollabViewerBuilder extends SkeletalFragmentBuilder

CollabViewerBuilder2

modified class: CollabViewerBuilder2

Declaration

From:

public class CollabViewerBuilder2 extends SkeletalFragmentBuilder implements ViewerBuilderInterface

To:

public class CollabViewerBuilder2 extends SkeletalFragmentBuilder

XfdfUtils

new static method: ArrayList<AnnotationEntity> convToAnnotations(String, String, String, String)

removed static method: ArrayList<AnnotationEntity> convToAnnotations(String, String, String)

Did you find this helpful?

Trial setup questions?

Ask experts on Discord

Need other help?

Contact Support

Pricing or product questions?

Contact Sales