Version 9.2.0 Changelog (February 10, 2022)
Version: 9.2.0.79329
Release Date: February 10, 2022
New features
jCenter is now completely removed from all packages
New border styles for various annotation types

New line ending styles for various annotation types in the Line family: Line, Polyline, Ruler, Perimeter measurement

New auto-smoothing for free highlighter tool

New reading mode image settings

New convenience wrapper for PDF to Office REST endpoint, get started here: PDF to Office (additional licensing required)
New API to adjust page number indicator position, for example:
pageNumberIndicatorPosition(PageIndicatorLayout.POSITION_TOP_START)New API to change the annotation toolbar alignment
New API to define custom top toolbar items
New API to hide preset bar in the tablet layout
New API to set the default save signature setting and whether to persist changes to the setting made in the UI
New API to hide annotation list filter option
Notes
This release of Apryse for Android brings the core PDF functionality inline with version 9.2.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 duplicated form document would have unexpected linked fields
Fixed issue where deletion of direct annotation object would crash the viewer
Fixed issue where TXT format would not open correctly in the viewer
Fixed issue where interaction with items under the document slider track with guideline hidden is now possible
Fixed issue where remember last used toolbar would not work properly
APIs
PDFViewCtrlTools package
ToolManagerBuilder
new method: ToolManagerBuilder setDefaultStoreNewSignature(boolean)
new method: ToolManagerBuilder setFreeHighlighterAutoSmoothingRange(float)
new method: ToolManagerBuilder setPersistStoreSignatureSetting(boolean)
ToolStyleConfig
new method: String getBorderStyleKey(int, String)
new method: ShapeBorderStyle getCustomBorderStyleMode(Context, int, String)
new method: LineEndingStyle getCustomLineEndStyleMode(Context, int, String)
new method: LineEndingStyle getCustomLineStartStyleMode(Context, int, String)
new method: LineStyle getCustomLineStyleMode(Context, int, String)
new method: ShapeBorderStyle getDefaultBorderStyle(Context, int)
new method: ShapeBorderStyle getDefaultBorderStyle(Context, int, int)
new method: LineEndingStyle getDefaultLineEndStyle(Context, int)
new method: LineEndingStyle getDefaultLineEndStyle(Context, int, int)
new method: LineEndingStyle getDefaultLineStartStyle(Context, int)
new method: LineEndingStyle getDefaultLineStartStyle(Context, int, int)
new method: LineStyle getDefaultLineStyle(Context, int)
new method: LineStyle getDefaultLineStyle(Context, int, int)
new method: String getLineEndStyleKey(int, String)
new method: String getLineStartStyleKey(int, String)
new method: String getLineStyleKey(int, String)
removed method: String getBorderEffectKey(int, String)
removed method: BorderEffect getCustomBorderEffectMode(Context, int, String)
ViewerConfig.Builder
new method: Builder annotationsListFilterEnabled(boolean)
new method: Builder hidePresetBar(boolean)
new method: Builder pageNumberIndicatorPosition(int)
new method: Builder toolbarItemGravity(int)
new method: Builder topToolbarMenuIds(TopToolbarMenuId[])
AnnotStyleDialogFragment
new static final field: int BORDER_STYLE
new static final field: int LINE_END_STYLE
new static final field: int LINE_START_STYLE
new static final field: int LINE_STYLE
AnnotStyleDialogFragment.Builder
new method: Builder setShowPreview(boolean)
AnnotStyleDialogFragment.Theme
new final class: Theme
new constructor: Theme(int, int, int, int, int, int, int, int, int, int, int)
new final field: int annotPreviewBackgroundColor
new final field: int backgroundColor
new final field: int iconColor
new final field: int presetIconColor
new final field: int selectedBackgroundColor
new final field: int selectedPresetBackgroundColor
new final field: int selectedPresetIconColor
new final field: int tabIndicatorColor
new final field: int tabSelectedTextColor
new final field: int tabTextColor
new final field: int textColor
new static method: Theme fromContext(Context)
AnnotStyleView
new method: void setOnStyleLayoutClickedListener(OnStyleLayoutClickedListener)
PageIndicatorLayout
new static final field: int POSITION_BOTTOM_START
new static final field: int POSITION_TOP_END
new static final field: int POSITION_TOP_START
PdfViewCtrlTabBaseFragment
new method: boolean isConvertibleFormat()
PresetStyleGridView
new class: PresetStyleGridView
new constructor: PresetStyleGridView(Context)
new constructor: PresetStyleGridView(Context, AttributeSet)
new constructor: PresetStyleGridView(Context, AttributeSet, int)
new method: Adapter getAdapter()
new method: void setStyleList(List<Integer>)
new method: void setStyleList(List<Integer>, boolean)
ReadingModeSettingsDialog
new class: ReadingModeSettingsDialog
new constructor: ReadingModeSettingsDialog()
new static method: ReadingModeSettingsDialog newInstance()
new method: Dialog onCreateDialog(Bundle)
new method: void setReflowControl(ReflowControl)
ReflowControl
new method: void clearAdapterCacheAndReset()
new method: boolean getIsDoNotReflowTextOverImages()
new method: boolean getIsHideBackgroundImages()
new method: boolean getIsHideImagesUnderInvisibleText()
new method: boolean getIsHideImagesUnderText()
new method: void setDoNotReflowTextOverImages(boolean)
new method: void setHideBackgroundImages(boolean)
new method: void setHideImagesUnderInvisibleText(boolean)
new method: void setHideImagesUnderText(boolean)
ReflowPagerAdapter
new method: boolean getImageInReflowEnabled()
new method: boolean getIsDoNotReflowTextOverImages()
new method: boolean getIsHideBackgroundImages()
new method: boolean getIsHideImagesUnderInvisibleText()
new method: boolean getIsHideImagesUnderText()
new method: void setDoNotReflowTextOverImages(boolean)
new method: void setHideBackgroundImages(boolean)
new method: void setHideImagesUnderInvisibleText(boolean)
new method: void setHideImagesUnderText(boolean)
StylePickerView
new class: StylePickerView
new constructor: StylePickerView(Context)
new constructor: StylePickerView(Context, AttributeSet)
new constructor: StylePickerView(Context, AttributeSet, int)
new method: void dismiss()
new method: void setAnnotStyleHolder(AnnotStyleHolder)
new method: void setOnBackButtonPressedListener(OnBackButtonPressedListener)
new method: void show(int)
ThumbnailsViewFragment
new static method: Observable<List<Integer>> getPages(PDFViewCtrl, int)
ViewModePickerItems
new static final field: ViewModePickerItems ITEM_ID_READING_MODE
CreateSignatureFragment
new static method: CreateSignatureFragment newInstance(int, float, boolean, boolean, boolean, boolean, HashMap<Integer, AnnotStyleProperty>, boolean, boolean)
removed static method: CreateSignatureFragment newInstance(int, float, boolean, boolean, boolean, boolean, HashMap<Integer, AnnotStyleProperty>)
SignatureDialogFragmentBuilder
new method: SignatureDialogFragmentBuilder usingDefaultStoreNewSignature(boolean)
new method: SignatureDialogFragmentBuilder usingPersistStoreSignatureSetting(boolean)
SignatureFragmentAdapter
new constructor: SignatureFragmentAdapter(FragmentManager, String, String, Toolbar, Toolbar, int, float, boolean, boolean, boolean, int, OnCreateSignatureListener, OnSavedSignatureListener, boolean, HashMap<Integer, AnnotStyleProperty>, boolean, boolean)
removed constructor: SignatureFragmentAdapter(FragmentManager, String, String, Toolbar, Toolbar, int, float, boolean, boolean, boolean, int, OnCreateSignatureListener, OnSavedSignatureListener, boolean, HashMap<Integer, AnnotStyleProperty>)
AnnotStyle
new method: ShapeBorderStyle getBorderStyle()
new method: LineEndingStyle getLineEndStyle()
new method: LineEndingStyle getLineStartStyle()
new method: LineStyle getLineStyle()
new method: boolean hasBorderStyle()
new method: boolean hasBorderStyleWithoutCloud()
new method: boolean hasLineEndStyle()
new method: boolean hasLineStartStyle()
new method: boolean hasLineStyle()
new method: void setBorderStyle(ShapeBorderStyle)
new method: void setLineEndStyle(LineEndingStyle)
new method: void setLineStartStyle(LineEndingStyle)
new method: void setLineStyle(LineStyle)
new method: void updateBorderStyleListener(ShapeBorderStyle, boolean)
new method: void updateLineEndStyleListener(LineEndingStyle, boolean)
new method: void updateLineStartStyleListener(LineEndingStyle, boolean)
new method: void updateLineStyleListener(LineStyle, boolean)
removed method: BorderEffect getBorderEffect()
removed method: boolean hasBorderEffect()
removed method: void setBorderEffect(BorderEffect)
removed method: void updateBorderEffectListner(BorderEffect, boolean)
OnAnnotStyleChangeListener
new method: void onChangeAnnotBorderStyle(ShapeBorderStyle)
new method: void onChangeAnnotLineEndStyle(LineEndingStyle)
new method: void onChangeAnnotLineStartStyle(LineEndingStyle)
new method: void onChangeAnnotLineStyle(LineStyle)
removed method: void onChangeAnnotBorderEffect(BorderEffect)
AnnotStyleProperty
new method: boolean canShowBorderStyle()
new method: boolean canShowLineEndStyle()
new method: boolean canShowLineStartStyle()
new method: boolean canShowLineStyle()
new method: AnnotStyleProperty setCanShowBorderStyle(boolean)
new method: AnnotStyleProperty setCanShowLineEndStyle(boolean)
new method: AnnotStyleProperty setCanShowLineStartStyle(boolean)
new method: AnnotStyleProperty setCanShowLineStyle(boolean)
removed method: boolean canShowBorderEffect()
removed method: AnnotStyleProperty setCanShowBorderEffect(boolean)
LineEndingStyle
new final class: LineEndingStyle
new static final field: LineEndingStyle BUTT
new static final field: LineEndingStyle CIRCLE
new static final field: LineEndingStyle CLOSED_ARROW
new static final field: LineEndingStyle DIAMOND
new static final field: LineEndingStyle NONE
new static final field: LineEndingStyle OPEN_ARROW
new static final field: LineEndingStyle R_CLOSED_ARROW
new static final field: LineEndingStyle R_OPEN_ARROW
new static final field: LineEndingStyle SLASH
new static final field: LineEndingStyle SQUARE
new static method: LineEndingStyle fromInteger(Integer)
new method: int getResource()
new static method: LineEndingStyle valueOf(String)
new static method: LineEndingStyle[] values()
LineStyle
new final class: LineStyle
new static final field: LineStyle DASHED
new static final field: LineStyle DEFAULT
new static method: LineStyle fromInteger(Integer)
new method: int getResource()
new static method: LineStyle valueOf(String)
new static method: LineStyle[] values()
ShapeBorderStyle
new final class: ShapeBorderStyle
new static final field: ShapeBorderStyle CLOUDY
new static final field: ShapeBorderStyle DASHED
new static final field: ShapeBorderStyle DEFAULT
new static method: ShapeBorderStyle fromInteger(Integer)
new method: int getResource()
new static method: ShapeBorderStyle valueOf(String)
new static method: ShapeBorderStyle[] values()
AnnotEdit
new method: void onChangeAnnotBorderStyle(ShapeBorderStyle)
new method: void onChangeAnnotLineEndStyle(LineEndingStyle)
new method: void onChangeAnnotLineStartStyle(LineEndingStyle)
new method: void onChangeAnnotLineStyle(LineStyle)
removed method: void onChangeAnnotBorderEffect(BorderEffect)
ArrowCreate
removed method: boolean onDown(MotionEvent)
removed method: void onDraw(Canvas, Matrix)
removed method: boolean onMove(MotionEvent, MotionEvent, float, float)
modified class: ArrowCreate
From:
public class ArrowCreate extends SimpleShapeCreate
To:
public class ArrowCreate extends LineCreate
FreeHighlighterCreate
new static final field: float AUTO_SMOOTH_RANGE_DEFAULT
new method: void applyAutoSmooth()
new method: void setAutoSmoothingRange(float)
FreehandCreate
new static field: float sSampleDelta
new static method: float computeThresholdValue(View)
removed static method: float computeThresholdValue(View, float)
LineCreate
new static method: void calculateLineEndingStyle(LineEndingStyle, PointF, PointF, PointF, PointF, PointF, PointF, float, double)
new method: boolean onDown(MotionEvent)
new method: boolean onMove(MotionEvent, MotionEvent, float, float)
BorderEffect
removed final class: BorderEffect
StickyNoteCreate
new method: void onChangeAnnotBorderStyle(ShapeBorderStyle)
new method: void onChangeAnnotLineEndStyle(LineEndingStyle)
new method: void onChangeAnnotLineStartStyle(LineEndingStyle)
new method: void onChangeAnnotLineStyle(LineStyle)
removed method: void onChangeAnnotBorderEffect(BorderEffect)
ToolManager
new method: boolean getDefaultStoreNewSignature()
new method: float getFreeHighlighterAutoSmoothingRange()
new method: boolean isPersistStoreSignatureSetting()
new method: void setDefaultStoreNewSignature(boolean)
new method: void setFreeHighlighterAutoSmoothingRange(float)
new method: void setPersistStoreSignatureSetting(boolean)
AnnotUtils
new static method: LineEndingStyle getLineEndingStyle(Line, boolean)
new static method: Rect getOldAnnotScreenPosition(PDFViewCtrl, Annot, int)
new static method: Annot safeDeleteAnnot(PDFDoc, Page, Annot)
new static method: Annot safeDeleteAnnotAndUpdate(PDFViewCtrl, Page, Annot, int)
new static method: void setLineEndingStyle(Line, LineEndingStyle, Boolean)
modified static method: void flattenAnnot(PDFViewCtrl, Annot, int)
From:
public static void flattenAnnot(PDFViewCtrl, Annot, int) throws PDFNetException
To:
public static Annot flattenAnnot(PDFViewCtrl, Annot, int) throws PDFNetException
AnnotationPropertyPreviewView
new method: void setBorderStyle(ShapeBorderStyle)
new method: void setLineEndStyle(LineEndingStyle)
new method: void setLineStartStyle(LineEndingStyle)
new method: void setLineStyle(LineStyle)
removed method: void setBorderEffect(BorderEffect)
DrawingUtils
new static method: void calButt(PointF, PointF, PointF, PointF, float, double)
new static method: void calcCircle(PointF, PointF, PointF, float, double)
new static method: void calcClosedArrow(PointF, PointF, PointF, PointF, float, double)
new static method: void calcDiamond(PointF, PointF, PointF, PointF, PointF, float, double)
new static method: void calcOpenArrow(PointF, PointF, PointF, PointF, float, double)
new static method: void calcRClosedArrow(PointF, PointF, PointF, PointF, float, double)
new static method: void calcROpenArrow(PointF, PointF, PointF, PointF, float, double)
new static method: void calcSlash(PointF, PointF, PointF, PointF, float, double)
new static method: void calcSquare(PointF, PointF, PointF, PointF, PointF, PointF, float, double)
new static method: void drawArrow(Canvas, PointF, PointF, PointF, PointF, Path, Paint, PathEffect)
new static method: void drawCloudyPolygon(PDFViewCtrl, int, Canvas, ArrayList<PointF>, Path, Paint, int, Paint, int, double)
new static method: void drawLine(Canvas, PointF, PointF, PointF, PointF, PointF, PointF, PointF, PointF, PointF, PointF, PointF, PointF, LineEndingStyle, LineEndingStyle, Path, Paint, PathEffect, float, double)
new static method: void drawOval(Canvas, PointF, PointF, float, RectF, int, int, Paint, Paint, PathEffect)
new static method: void drawPolygon(PDFViewCtrl, int, Canvas, ArrayList<PointF>, Path, Paint, int, Paint, int, Matrix, PathEffect)
new static method: void drawPolygon(PDFViewCtrl, int, Canvas, ArrayList<PointF>, Path, Paint, int, Paint, int, PathEffect)
new static method: void drawPolyline(PDFViewCtrl, int, Canvas, ArrayList<PointF>, PointF, PointF, PointF, PointF, PointF, PointF, PointF, PointF, PointF, PointF, PointF, PointF, LineEndingStyle, LineEndingStyle, Path, Paint, int, PathEffect, float, double)
new static method: void drawRectangle(Canvas, PointF, PointF, float, int, int, Paint, Paint, PathEffect)
new static method: void drawRuler(Canvas, PointF, PointF, PointF, PointF, PointF, PointF, PointF, PointF, PointF, PointF, PointF, PointF, LineEndingStyle, LineEndingStyle, String, Path, Paint, PathEffect, float, double)
new static method: DashPathEffect getAnnotationPreviewDashPathEffect(Context)
new static method: DashPathEffect getDashPathEffect(Context)
new static method: double[] getShapesDashIntervals()
removed static method: void calcArrow(PointF, PointF, PointF, PointF, float, double)
removed static method: void calcRuler(PointF, PointF, PointF, PointF, PointF, PointF, float, double)
removed static method: void drawArrow(Canvas, PointF, PointF, PointF, PointF, Path, Paint)
removed static method: void drawLine(Canvas, PointF, PointF, Paint)
removed static method: void drawOval(Canvas, PointF, PointF, float, RectF, int, int, Paint, Paint)
removed static method: void drawPolygon(PDFViewCtrl, int, Canvas, ArrayList<PointF>, Path, Paint, int, Paint, int)
removed static method: void drawPolygon(PDFViewCtrl, int, Canvas, ArrayList<PointF>, Path, Paint, int, Paint, int, Matrix)
removed static method: void drawPolyline(PDFViewCtrl, int, Canvas, ArrayList<PointF>, Path, Paint, int)
removed static method: void drawRectangle(Canvas, PointF, PointF, float, int, int, Paint, Paint)
removed static method: void drawRuler(Canvas, PointF, PointF, PointF, PointF, PointF, PointF, Path, Paint, String, double)
ExceptionHandlerCallback
new interface: ExceptionHandlerCallback
new method: void onException(Exception)
StylePickerGridViewAdapter
new class: StylePickerGridViewAdapter
new constructor: StylePickerGridViewAdapter(Context, List<Integer>, boolean)
new method: boolean contains(Integer)
new method: int getCount()
new method: Object getItem(int)
new method: String getSelected()
new method: View getView(int, View, ViewGroup)
new method: void setRotateIcon(boolean)
new method: void setSource(List<Integer>)
Utils
new static method: Intent createSystemPickerIntent(String[], boolean)
new static method: boolean isHtmlDocument(String)
ViewerUtils
new static method: PageSet getPageSet(SparseBooleanArray)
new static method: void renameAllFields(Page)
new static method: void safeUpdatePageLayout(PDFViewCtrl)
new static method: void safeUpdatePageLayout(PDFViewCtrl, ExceptionHandlerCallback)
AnnotDrawingView
new method: void updateBorderStyle(ShapeBorderStyle)
new method: void updateLineEndStyle(LineEndingStyle)
new method: void updateLineStartStyle(LineEndingStyle)
new method: void updateLineStyle(LineStyle)
removed method: void updateBorderEffect(BorderEffect)
AnnotView
new method: void updateBorderStyle(ShapeBorderStyle)
new method: void updateLineEndStyle(LineEndingStyle)
new method: void updateLineStartStyle(LineEndingStyle)
new method: void updateLineStyle(LineStyle)
removed method: void updateBorderEffect(BorderEffect)
AnnotViewImpl
new method: void updateBorderStyle(ShapeBorderStyle)
new method: void updateLineEndStyle(LineEndingStyle)
new method: void updateLineStartStyle(LineEndingStyle)
new method: void updateLineStyle(LineStyle)
removed method: void updateBorderEffect(BorderEffect)
TopToolbarMenuId
new final class: TopToolbarMenuId
new static final field: TopToolbarMenuId CLOSE_TAB
new static final field: TopToolbarMenuId DIGITAL_SIGNATURES
new static final field: TopToolbarMenuId EDIT_PAGES
new static final field: TopToolbarMenuId EXPORT
new static final field: TopToolbarMenuId FILE_ATTACHMENT
new static final field: TopToolbarMenuId OCG_LAYERS
new static final field: TopToolbarMenuId OUTLINE
new static final field: TopToolbarMenuId PRINT
new static final field: TopToolbarMenuId REFLOW_MODE
new static final field: TopToolbarMenuId SEARCH
new static final field: TopToolbarMenuId SHARE
new static final field: TopToolbarMenuId TABS
new static final field: TopToolbarMenuId THUMBNAILS
new static final field: TopToolbarMenuId UNDO
new static final field: TopToolbarMenuId VIEW_MODE
new method: int value()
new static method: TopToolbarMenuId valueOf(String)
new static method: TopToolbarMenuId[] values()
AnnotationToolbarBuilder
new method: AnnotationToolbarBuilder addCustomButton(String, int, int)
new method: AnnotationToolbarBuilder addCustomSelectableButton(String, int, int)
new method: AnnotationToolbarBuilder addCustomSelectableLeadingStickyButton(String, int, int)
new method: AnnotationToolbarBuilder addCustomSelectableStickyButton(String, int, int)
new method: AnnotationToolbarBuilder addCustomStickyButton(String, int, int)
new method: AnnotationToolbarBuilder addLeadingCustomStickyButton(String, int, int)
ToolbarItem
new constructor: ToolbarItem(String, ToolbarButtonType, int, boolean, boolean, int, String, int, int, boolean, int)
new constructor: ToolbarItem(String, ToolbarButtonType, int, boolean, boolean, int, String, int, int, int)
new constructor: ToolbarItem(String, ToolbarButtonType, int, boolean, int, String, int, int, int)
new final field: int titleRes
removed constructor: ToolbarItem(String, ToolbarButtonType, int, boolean, boolean, int, int, int, boolean, int)
modified final field: int title
From:
public final int title
To:
public final String title
AnnotationToolbarComponent
new method: void setToolbarSwitcherVisible(boolean)
TabletAnnotationToolbarComponent
new constructor: TabletAnnotationToolbarComponent(Fragment, FragmentManager, AnnotationToolbarViewModel, PresetBarViewModel, ToolManagerViewModel, AnnotationToolbarView, boolean, HashSet<ToolbarButtonType>, boolean)
removed constructor: TabletAnnotationToolbarComponent(Fragment, FragmentManager, AnnotationToolbarViewModel, PresetBarViewModel, ToolManagerViewModel, AnnotationToolbarView, boolean, HashSet<ToolbarButtonType>)
ActionToolbar
new method: void setToolbarSwitcherVisible(boolean)
AnnotationToolbarView
new method: void clearPreviousToolbarBuilder()
new method: void setToolbarSwitcherVisible(boolean)
pdftron-actions package
EasyPdfService
new static method: JSONObject createHTMLTask(String, int)
new method: void setCustomTask(JSONObject)
new method: void setOutputName(String)
new static method: String startDynamicJob(String, int, File, File, String)
new static method: String startDynamicJob(String, int, File, File, String, JSONObject)
EasyPdfService.EasyPdfServiceInterface
new method: Call<ResponseBody> createWorkflow(String, RequestBody)
new method: Call<ResponseBody> deleteJob(String, String)
new method: Call<ResponseBody> downloadOutput(String, String, String)
new method: Call<ResponseBody> startOrCancelJob(String, String, String)
new method: Call<ResponseBody> uploadFile(String, String, String, RequestBody)
new method: Call<ResponseBody> waitForJob(String, String)
Last updated
Was this helpful?