Version 8.0.1 Changelog (October 28, 2020)

Version: 8.0.1.30518

Release Date: October 28, 2020

New features

Apryse Docs Image
  • Free text with rich content now supports vector appearance, plus UX improvements
Apryse Docs Image

Dependency changes

  • jp.wasabeef:richeditor-android is now removed from the PDFViewCtrlTools library project and all samples
  • org.ccil.cowan.tagsoup:tagsoup is now added to the PDFViewCtrlTools library project and all samples

Fixed

  • [New UI] Fixed issue where same tool could appear multiple times after the ordering was changed in the annotation toolbar
  • [New UI] Fixed issue where preset selection does not reflect in the sticky note dialog
  • [New UI] Improved UX for read-only documents
  • [New UI] Miscellaneous visual improvements
  • Fixed issue where combo box and list box could not be updated in certain situations
  • Fixed issue where shapes got changed when moving into the edge of a page
  • Fixed issue where local changes are not emitted sometimes when using the collaboration viewer
  • Fixed flickering when creating ink and free highlighter in single stroke and force next tool mode

APIs

PDFViewCtrlTools package

ToolManagerBuilder

new method: ToolManagerBuilder setRestrictedTapAnnotCreation(boolean)

new method: ToolManagerBuilder setShowRotateHandle(boolean)

new method: ToolManagerBuilder setShowSignaturePresets(boolean)

ViewerConfig

new method: BottomBarBuilder getBottomBarBuilder()

new method: String getConversionCachePath()

new method: boolean isPermanentToolbars()

new method: boolean isShowAppBar()

new method: boolean skipReadOnlyCheck()

removed method: boolean isPermanentTopToolbar()

ViewerConfig.Builder

new method: Builder bottomBarBuilder(BottomBarBuilder)

new method: Builder conversionCachePath(String)

new method: Builder initialToolbarTag(String)

new method: Builder permanentToolbars(boolean)

new method: Builder showAppBar(boolean)

new method: Builder skipReadOnlyCheck(boolean)

AnnotStyleDialogFragment

new method: void dismiss(boolean)

AnnotationDialogFragment

new static final field: String BUNDLE_ENABLE_ANNOTATION_FILTER

new method: boolean isAnnotationFilterEnabled()

new method: boolean isFilterOn()

new method: void refreshAnnotationList()

new method: void updateAnnotationVisibility()

new method: void updateAnnotationVisibilityInfo(List<AnnotationInfo>)

ColorPickerView

new method: void setAnnotStyleProperties(HashMap<Integer, AnnotStyleProperty>)

CustomSizeDialogFragment

new method: void setCustomSize(int, int)

AnnotationFilterDialogFragment

new class: AnnotationFilterDialogFragment

new constructor: AnnotationFilterDialogFragment()

new static final field: String TAG

new field: Fragment parentFragment

new static method: AnnotationFilterDialogFragment newInstance()

new method: void onCreate(Bundle)

new method: View onCreateView(LayoutInflater, ViewGroup, Bundle)

new method: void onViewCreated(View, Bundle)

AnnotationListFilterInfo

new class: AnnotationListFilterInfo

new constructor: AnnotationListFilterInfo(FilterState)

new method: void addAuthor(boolean, String)

new method: void addColor(boolean, String)

new method: void addStatus(boolean, String)

new method: void addType(boolean, int)

new method: void clear()

new method: boolean containsAuthor(String)

new method: boolean containsColor(String)

new method: boolean containsStatus(String)

new method: boolean containsType(int)

new method: void deselectAll()

new method: FilterState getFilterState()

new method: boolean isAnyAuthorSelected()

new method: boolean isAnyColorSelected()

new method: boolean isAnyStatusSelected()

new method: boolean isAnyTypeSelected()

new method: boolean isAuthorEnabled()

new method: Boolean isAuthorSelected(String)

new method: boolean isColorEnabled()

new method: Boolean isColorSelected(String)

new method: boolean isStatusEnabled()

new method: Boolean isStatusSelected(String)

new method: boolean isTypeEnabled()

new method: Boolean isTypeSelected(int)

new method: void removeAuthor(String)

new method: void removeColor(boolean, String)

new method: void removeStatus(String)

new method: void removeType(int)

new method: void setFilterState(FilterState)

new method: void toggleAuthor(String)

new method: void toggleColor(String)

new method: void toggleStatus(String)

new method: void toggleType(int)

new method: void updateFilterOptions(HashSet<Integer>, HashSet<String>, HashSet<String>, HashSet<String>)

FilterState

new final class: FilterState

new static final field: FilterState HIDE_ALL

new static final field: FilterState OFF

new static final field: FilterState ON

new static method: FilterState valueOf(String)

new static method: FilterState[] values()

AnnotationListFilterUtil

new class: AnnotationListFilterUtil

new constructor: AnnotationListFilterUtil()

new static method: int getReviewStatusImageResId(String)

AnnotationFilterAuthorItem

new class: AnnotationFilterAuthorItem

new constructor: AnnotationFilterAuthorItem()

new constructor: AnnotationFilterAuthorItem(String, String, boolean, boolean)

new method: String getTag()

new method: String getTitle()

new method: boolean isSelected()

new method: void setTag(String)

new method: void setTitle(String)

AnnotationFilterColorItem

new class: AnnotationFilterColorItem

new constructor: AnnotationFilterColorItem(ArrayList<String>, ArrayList<String>, boolean)

new method: ArrayList<String> getAllColors()

new method: ArrayList<String> getSelectedColors()

AnnotationFilterHeaderItem

new class: AnnotationFilterHeaderItem

new constructor: AnnotationFilterHeaderItem()

new constructor: AnnotationFilterHeaderItem(String)

new method: String getTitle()

new method: void setTitle(String)

AnnotationFilterItem

new class: AnnotationFilterItem

new constructor: AnnotationFilterItem()

new method: boolean isEnabled()

AnnotationFilterReviewStatusItem

new class: AnnotationFilterReviewStatusItem

new constructor: AnnotationFilterReviewStatusItem()

new constructor: AnnotationFilterReviewStatusItem(String, String, boolean, boolean)

new method: String getTag()

new method: String getTitle()

new method: boolean isSelected()

new method: void setTag(String)

new method: void setTitle(String)

AnnotationFilterStateItem

new class: AnnotationFilterStateItem

new constructor: AnnotationFilterStateItem()

AnnotationFilterTypeItem

new class: AnnotationFilterTypeItem

new constructor: AnnotationFilterTypeItem()

new constructor: AnnotationFilterTypeItem(String, int, boolean, boolean)

new method: int getTag()

new method: String getTitle()

new method: boolean isSelected()

new method: void setTag(int)

new method: void setTitle(String)

MenuEditorDialogFragment

new method: boolean hasModifiedToolbar()

CreateSignatureFragment

new static method: CreateSignatureFragment newInstance(int, float, boolean, boolean, boolean, boolean, HashMap<Integer, AnnotStyleProperty>)

removed static method: CreateSignatureFragment newInstance(int, float, boolean, boolean, boolean, HashMap<Integer, AnnotStyleProperty>)

SignatureDialogFragment

new method: void addOnCreateSignatureListener(OnCreateSignatureListener)

new method: void removeOnCreateSignatureListener(OnCreateSignatureListener)

SignatureDialogFragmentBuilder

new method: SignatureDialogFragmentBuilder usingShowSignaturePresets(boolean)

SignatureFragmentAdapter

new constructor: SignatureFragmentAdapter(FragmentManager, String, String, Toolbar, Toolbar, int, float, boolean, boolean, boolean, int, OnCreateSignatureListener, OnSavedSignatureListener, boolean, HashMap<Integer, AnnotStyleProperty>)

removed constructor: SignatureFragmentAdapter(FragmentManager, String, String, Toolbar, Toolbar, int, float, boolean, boolean, int, OnCreateSignatureListener, OnSavedSignatureListener, boolean, HashMap<Integer, AnnotStyleProperty>)

ToolbarSwitcherViewModel

removed method: void updateCurrentToolbarWithMenuEditorItems(ArrayList<MenuEditorItem>)

ToolbarSwitcherItem

removed method: void updateWithMenuEditorItems(ArrayList<MenuEditorItem>)

AnnotStyleProperty

new method: boolean canShowAdvancedColorPicker()

new method: boolean canShowSavedColorPicker()

new method: AnnotStyleProperty setCanShowAdvancedColorPicker(boolean)

new method: AnnotStyleProperty setCanShowSavedColorPicker(boolean)

InkItem

new method: void reset()

FreeHighlighterCreate

new method: void onRenderingFinished()

FreeTextCreate

new method: void setupAnnotProperty(AnnotStyle)

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

FreehandCreate

new method: void onRenderingFinished()

new method: void setAllowTapToSelect(boolean)

Signature

new method: boolean onLongPress(MotionEvent)

Tool

new method: void setCurrentDefaultToolModeHelper(ToolModeBase)

ToolManager

new method: void addDialogListener(DialogListener)

new method: boolean isRestrictedTapAnnotCreation()

new method: boolean isShowRotateHandle()

new method: boolean isShowSignaturePresets()

new method: boolean raiseInterceptDialogFragmentEvent(DialogFragment)

new method: void setPreFlingListener(PreFlingListener)

new method: void setRestrictedTapAnnotCreation(boolean)

new method: void setShowRotateHandle(boolean)

new method: void setShowSignaturePresets(boolean)

new method: void setSkipReadOnlyCheck(boolean)

new method: void setSkipSameToolCreation(boolean)

new method: boolean skipReadOnlyCheck()

ToolManager.DialogListener

new interface: DialogListener

new method: boolean onInterceptDialog(DialogFragment)

ToolManager.PreFlingListener

new interface: PreFlingListener

new method: boolean onFling(MotionEvent)

new method: boolean onFlingStop()

AnalyticsHandlerAdapter

new static final field: int EVENT_FAV_TOOLBAR_TOOL_COUNT

new static final field: int EVENT_FAV_TOOLBAR_TOOL_DUPLICATE

new static final field: int EVENT_NEW_ANNOTATION_TOOLBAR

new static final field: int EVENT_NEW_ANNOTATION_TOOLBAR_TOOL_CLOSE

new static final field: int EVENT_TOOLBAR_REORDER

new static final field: int EVENT_TOOLBAR_REORDER_TOP_3

new static final field: int EVENT_TOOLBAR_SWITCHER

new method: void sendEvent(int, List<Map<String, String>>)

AnalyticsParam

new static method: List<Map<String, String>> annotationToolbarItemParams(ToolbarSwitcherItem)

new static method: HashMap<String, String> annotationToolbarModifiedParam(ToolbarSwitcherItem, boolean)

new static method: HashMap<String, String> annotationToolbarParam(ToolbarItem)

new static method: HashMap<String, String> annotationToolbarSwitcherParam(ToolbarSwitcherItem)

new static method: List<Map<String, String>> favToolbarDuplicateToolCountParams(ToolbarSwitcherItem)

new static method: List<Map<String, String>> favToolbarToolCountParams(ToolbarSwitcherItem)

new static method: HashMap<String, String> toolToggleClose(boolean)

AnnotationFilterOptionAdapter

new class: AnnotationFilterOptionAdapter

new constructor: AnnotationFilterOptionAdapter()

new static final field: int VIEW_TYPE_ANNOT_TYPE

new static final field: int VIEW_TYPE_AUTHOR

new static final field: int VIEW_TYPE_COLOR

new static final field: int VIEW_TYPE_HEADER

new static final field: int VIEW_TYPE_REVIEW_STATUS

new static final field: int VIEW_TYPE_STATE

new method: void addOnFilterChangeEventListener(OnFilterChangeEventListener)

new method: AnnotationFilterItem getItem(int)

new method: int getItemCount()

new method: int getItemViewType(int)

new method: void onBindViewHolder(ViewHolder, int)

new method: ViewHolder onCreateViewHolder(ViewGroup, int)

new method: void removeOnFilterChangeEventListener(OnFilterChangeEventListener)

new method: void setData(AnnotationListFilterInfo, ArrayList<AnnotationFilterItem>)

OnFilterChangeEventListener

new interface: OnFilterChangeEventListener

new method: void onAuthorClicked(String)

new method: void onColorClicked(String)

new method: void onHideAllPressed()

new method: void onShowAllPressed()

new method: void onShowSelectedPressed()

new method: void onStatusClicked(String)

new method: void onTypeClicked(int)

CommonToastHandler

new class: CommonToastHandler

new constructor: CommonToastHandler()

new static method: CommonToastHandler getInstance()

new method: void setCommonToastListener(CommonToastListener)

CommonToastListener

new interface: CommonToastListener

new method: boolean canShowToast(int, CharSequence)

PdfViewCtrlSettingsManager

new static method: boolean getShowStatusBarForNewUI(Context)

new static method: void setShowStatusBarForNewUI(Context, boolean)

AnnotationFilterViewModel

new class: AnnotationFilterViewModel

new constructor: AnnotationFilterViewModel(Application, AnnotationListFilterInfo)

new method: void addAnnotToHide(String)

new method: void addAuthor(String)

new method: void addColor(String)

new method: void addStatus(String)

new method: void addType(int)

new method: void clearFilters()

new method: void deselectAllFilters()

new method: LiveData<AnnotationListFilterInfo> getAnnotationFilterLiveData()

new method: void onAuthorClicked(String)

new method: void onColorClicked(String)

new method: void onHideAllPressed()

new method: void onShowAllPressed()

new method: void onShowSelectedPressed()

new method: void onStatusClicked(String)

new method: void onTypeClicked(int)

new method: void removeAnnotToHide(String)

new method: void setAnnotationFilterInfo(AnnotationListFilterInfo)

new method: boolean shouldHideAnnot(String)

new method: void updateFilterOptions(HashSet<Integer>, HashSet<String>, HashSet<String>, HashSet<String>)

AnnotationFilterViewModel.Factory

new class: Factory

new constructor: Factory(Application, AnnotationListFilterInfo)

new method: <T extends ViewModel> T create(Class<T>)

RichTextEvent

new method: Type getDecorationType()

new method: boolean isChecked()

removed method: List<Type> getDecorationTypes()

RichTextEvent.Type

new static final field: Type SUBSCRIPT

new static final field: Type SUPERSCRIPT

RichTextViewModel

new method: void onUpdateDecorationType(Type, boolean)

removed method: void onUpdateDecorationTypes(List<Type>)

BottomBarBuilder

new class: BottomBarBuilder

new static final field: Creator<BottomBarBuilder> CREATOR

new method: BottomBarBuilder addCustomButton(int, int, int)

new method: int describeContents()

new method: AnnotationToolbarBuilder getBuilder()

new static method: BottomBarBuilder withTag(String)

new method: void writeToParcel(Parcel, int)

PTRichEditor

removed method: int getEditorFontSize()

removed method: void setEditorFontSize(int)

modified class: PTRichEditor

Declaration

From:

public class PTRichEditor extends RichEditor

To:

public class PTRichEditor extends PTAREditText

RCContainer

new method: void setup(ToolManager)

new method: void updateToolbar(Type, boolean)

removed method: void setup(View, ToolManager)

removed method: void updateToolbar(List<Type>)

RCToolbar

new method: void updateDecorationType(Type, boolean)

new method: void updateDecorationTypes(List<Type>)

removed method: void updateDecorationTypes(List<Type>)

AnnotationToolbarBuilder

new method: AnnotationToolbarBuilder addToolButton(ToolbarButtonType, int, int)

new method: AnnotationToolbarBuilder addToolStickyButton(ToolbarButtonType, int, int)

new method: AnnotationToolbarBuilder copyWithNewOrder(Set<ToolbarItemEntity>)

new method: AnnotationToolbarBuilder copyWithNewToolbarItems(Set<ToolbarItemEntity>)

new method: AnnotationToolbarBuilder removeToolStickyButton(int)

removed static method: AnnotationToolbarBuilder fromIdJson(String, AnnotationToolbarBuilder)

removed method: ToolbarItem getToolbarItem(int)

removed static method: LinkedHashMap<Integer, ToolbarButtonType> jsonStrToMap(String)

removed static method: String mapToJsonStr(LinkedHashMap<Integer, ToolbarButtonType>)

removed method: void setToolbarItems(List<ToolbarItem>)

removed method: String toIdJson()

ToolbarItem

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

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

new field: int order

new method: void setOrder(int)

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

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

ToolbarSharedPreferences

new method: AnnotationToolbarBuilder getCustomToolbar(Context, AnnotationToolbarBuilder, boolean)

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

removed static method: void setCustomToolbar(Context, AnnotationToolbarBuilder)

ToolbarDao

new interface: ToolbarDao

new method: void delete(ToolbarEntity)

new method: ToolbarEntity getToolbar(String)

new method: void insertAll()

new method: void update()

ToolbarDao_Impl

new final class: ToolbarDao_Impl

new constructor: ToolbarDao_Impl(RoomDatabase)

new method: void delete(ToolbarEntity)

new method: ToolbarEntity getToolbar(String)

new method: void insertAll()

new method: void update()

ToolbarDatabase

new abstract class: ToolbarDatabase

new constructor: ToolbarDatabase()

new static final field: String DEFAULT_DATABASE_NAME

new abstract method: ToolbarDao getToolbarDao()

new abstract method: ToolbarItemDao getToolbarItemDao()

ToolbarDatabase_Impl

new final class: ToolbarDatabase_Impl

new constructor: ToolbarDatabase_Impl()

new method: void clearAllTables()

new method: ToolbarDao getToolbarDao()

new method: ToolbarItemDao getToolbarItemDao()

ToolbarEntity

new class: ToolbarEntity

new constructor: ToolbarEntity(String, String)

new method: String getId()

new method: String getTitle()

ToolbarItemDao

new interface: ToolbarItemDao

new method: void clear(String)

new method: void delete()

new method: List<ToolbarItemEntity> getToolbarItemsFromToolbar(String)

new method: void insertAll()

new method: void update()

ToolbarItemDao_Impl

new final class: ToolbarItemDao_Impl

new constructor: ToolbarItemDao_Impl(RoomDatabase)

new method: void clear(String)

new method: void delete()

new method: List<ToolbarItemEntity> getToolbarItemsFromToolbar(String)

new method: void insertAll()

new method: void update()

ToolbarItemEntity

new class: ToolbarItemEntity

new constructor: ToolbarItemEntity(int, String, int, int)

new field: int buttonType

new field: int id

new field: int order

new field: String toolbarId

new method: boolean equals(Object)

new method: int hashCode()

Did you find this helpful?

Trial setup questions?

Ask experts on Discord

Need other help?

Contact Support

Pricing or product questions?

Contact Sales
Version 8.0.1 Changelog (October 28, 2020) | Apryse documentation