Some test text!

Search
Hamburger Icon

Android / Changelog / v8.0.1

Version 8.0.1 Changelog (October 28, 2020)

Version: 8.0.1.30518

Release Date: October 28, 2020

New features

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

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()

Trial setup questions? Ask experts on Discord
Need other help? Contact Support
Pricing or product questions? Contact Sales