> For the complete documentation index, see [llms.txt](https://docs.apryse.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.apryse.com/android/changelogs/version-7/v7-0-1.md).

# Version 7.0.1 Changelog (August 20, 2019)

World's #1 PDF SDK Library for Web, Mobile, Server, Desktop

Version: 7.0.1.72223

Release Date: August 20, 2019

## New features

* Digital signature tool now comes with certificate picker, signing flow is updated for better user experience

![](https://226546913-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0QItsdFBmuuL9ezHimHy%2Fuploads%2Fgit-blob-285fb3d877e22a706d94c5f900a1c1e65628d32b%2F15b1cabeb18061e135cdf37d1c41e2436e44cc3b-1080x2220.gif?alt=media)

* Digital signature info dialog has been updated to include more information

![](https://226546913-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0QItsdFBmuuL9ezHimHy%2Fuploads%2Fgit-blob-8ee3d8dc4c500620695c192a37622a191ace39ac%2F88e5ffa418af9a6d237011718f71cf05250e2068-368x374.png?alt=media)

* New [`ListBoxFieldCreate`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/tools/ListBoxFieldCreate.html) tool for creating list box widget
* New [`ComboBoxFieldCreate`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/tools/ComboBoxFieldCreate.html) tool for creating combo box widget
* New [`FormToolbar`](https://sdk.apryse.com/api/android/javadoc/reference/com/pdftron/pdf/controls/FormToolbar.html) for creating different types of form widgets

| List box                                                                                                                                                                                                                                        | Combo box                                                                                                                                                                                                                                       |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ![](https://226546913-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0QItsdFBmuuL9ezHimHy%2Fuploads%2Fgit-blob-ad92cf4580fb4d0915d26d3b4f990c8802900f83%2Ff922b1c1a7ba3ea4580a69ec5ef0df728d6b817b-600x1200.gif?alt=media) | ![](https://226546913-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0QItsdFBmuuL9ezHimHy%2Fuploads%2Fgit-blob-8b697b34555240704356f98ba9f6e9f2c77d27cc%2Fe285f18411b5f767c0819c03d09d70ae4024402b-600x1200.gif?alt=media) |

* Measurement tools now comes with magnifying glasses for more precision, see guide here: [Measurement](/android/measurement/measurement-a.md)
* The following annotation types now support real time editing: ink, free text, sticky note, sound, attachment, form widget and link
* UI improvements in various areas:

| Search                                                                                                                                                                                                                                         | Text selection                                                                                                                                                                                                                                 |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ![](https://226546913-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0QItsdFBmuuL9ezHimHy%2Fuploads%2Fgit-blob-ac501c891ec8507127c0fb610f4d0730540a2a68%2F604fd57adde6446a306fbeebc128a8978157b3a5-478x849.gif?alt=media) | ![](https://226546913-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0QItsdFBmuuL9ezHimHy%2Fuploads%2Fgit-blob-7e1414b691198e5176690c4c78314974a9a8729d%2Fc9cbcaa34a6440d5036f4dda6ec966b818626ad7-478x849.gif?alt=media) |

| Thumbnail slider                                                                                                                                                                                                                               | Page number indicator                                                                                                                                                                                                                          |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ![](https://226546913-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0QItsdFBmuuL9ezHimHy%2Fuploads%2Fgit-blob-0464e17b7e84ca3bc4bbcf655a8b5b3eea34a802%2F0f7d5e656d70b82dafc68729c4086d432d14bcfe-481x800.png?alt=media) | ![](https://226546913-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0QItsdFBmuuL9ezHimHy%2Fuploads%2Fgit-blob-9b6d2dc2db5f6e278d968ed9ea900c6108421ec4%2Fcad45f1ee7a47751e9829bb4988f764fbe8b27bc-481x799.png?alt=media) |

## Dependency changes

* `com.madgag.spongycastle` is now **removed** from the `PDFViewCtrlTools` library project and all samples
* `com.squareup.picasso:picasso` is now **added** to the `PDFViewCtrlTools` library project and all samples

## Fixed

* Fixed issue where `PdfViewCtrlTabHostFragment` cannot be used together with `com.google.android.material:material` library
* Fixed unexpected behaviour when selecting annotation group with multi-select tool
* Fixed issue where link annotation cannot be followed when it is part of an annotation group
* Fixed issue where annotation rotation handle renders incorrectly on pre-lollipop devices
* Fixed potential out of memory issue with saved signature dialog
* Fixed potential missing stroke issue in create signature dialog
* Fixed issue where undo/redo menu shows up when in read only mode
* Fixed incorrect undo/redo button state when rotating device in `EditToolbar`
* Fixed issue where free highlighter renders without blend mode in Adobe reader

## APIs

### Apryse package

#### ComboBoxWidget

*new* method: `String[] getOptions()`

*new* method: `removeOption(String)`

*new* method: `replaceOptions(String[])`

#### ListBoxWidget

*new* method: `String[] getOptions()`

*new* method: `removeOption(String)`

*new* method: `replaceOptions(String[])`

### PDFViewCtrlTools package

#### SavedSignatureAdapter

*new* method: `void add(File)`

*new* method: `void dispose()`

*new* method: `void insert(File, int)`

*new* method: `boolean remove(File)`

*removed* method: `void add(Bitmap)`

*removed* method: `File getFileItem(int)`

*removed* method: `void insert(Bitmap, int)`

*removed* method: `boolean remove(Bitmap)`

*removed* method: `void setBitmaps(Bitmap[])`

*modified* class: `SavedSignatureAdapter`

|       | Declaration                                                                               |
| ----- | ----------------------------------------------------------------------------------------- |
| From: | public class SavedSignatureAdapter extends SimpleRecyclerViewAdapter\<Bitmap, ViewHolder> |
| To:   | public class SavedSignatureAdapter extends SimpleRecyclerViewAdapter\<File, ViewHolder>   |

#### ViewerConfig.Builder

*new* method: `Builder showFormToolbarOption(boolean)`

#### AnnotationToolbar

*new* static final field: `int START_MODE_FORM_TOOLBAR`

*new* method: `boolean isInFormMode()`

*new* method: `void onFormToolbarWillClose()`

*new* method: `void showFormToolbar(ToolMode)`

*modified* class: `AnnotationToolbar`

|       | Declaration                                                                                                                                       |
| ----- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| From: | public class AnnotationToolbar extends InsectHandlerToolbar implements ToolChangedListener,OnEditToolbarListener,OnEditToolbarListener            |
| To:   | public class AnnotationToolbar extends BaseToolbar implements ToolChangedListener,OnEditToolbarListener,OnEditToolbarListener,FormToolbarListener |

#### BaseToolbar

*new* abstract class: `BaseToolbar`

*new* constructor: `BaseToolbar(Context)`

*new* constructor: `BaseToolbar(Context, AttributeSet)`

*new* constructor: `BaseToolbar(Context, AttributeSet, int)`

*new* constructor: `BaseToolbar(Context, AttributeSet, int, int)`

*new* method: `boolean isShowing()`

*new* abstract method: `void selectTool(View, int)`

#### CustomFragmentTabLayout

*new* method: `void addOnTabSelectedListener(BaseOnTabSelectedListener)`

*new* method: `void removeOnTabSelectedListener(BaseOnTabSelectedListener)`

*removed* method: `void addOnTabSelectedListener(OnTabSelectedListener)`

*removed* method: `void removeOnTabSelectedListener(OnTabSelectedListener)`

*modified* class: `CustomFragmentTabLayout`

|       | Declaration                                                                                 |
| ----- | ------------------------------------------------------------------------------------------- |
| From: | public class CustomFragmentTabLayout extends TabLayout implements OnTabSelectedListener     |
| To:   | public class CustomFragmentTabLayout extends TabLayout implements BaseOnTabSelectedListener |

#### EditToolbarImpl

*new* method: `void onOrientationChanged()`

*modified* class: `EditToolbarImpl`

|       | Declaration                                                                                                              |
| ----- | ------------------------------------------------------------------------------------------------------------------------ |
| From: | public class EditToolbarImpl implements OnToolbarStateUpdateListener,OnToolSelectedListener                              |
| To:   | public class EditToolbarImpl implements OnToolbarStateUpdateListener,OnToolSelectedListener,OnEditToolbarChangedListener |

#### FavoriteColorDialogFragment

*modified* class: `FavoriteColorDialogFragment`

|       | Declaration                                                                                                               |
| ----- | ------------------------------------------------------------------------------------------------------------------------- |
| From: | public class FavoriteColorDialogFragment extends DialogFragment implements OnPageChangeListener,OnTabSelectedListener     |
| To:   | public class FavoriteColorDialogFragment extends DialogFragment implements OnPageChangeListener,BaseOnTabSelectedListener |

#### FormToolbar

*new* class: `FormToolbar`

*new* constructor: `FormToolbar(Context)`

*new* constructor: `FormToolbar(Context, AttributeSet)`

*new* constructor: `FormToolbar(Context, AttributeSet, int)`

*new* constructor: `FormToolbar(Context, AttributeSet, int, int)`

*new* method: `void close()`

*new* method: `void closePopups()`

*new* method: `boolean handleKeyUp(int, KeyEvent)`

*new* method: `void selectTool(View, int)`

*new* method: `void setButtonStayDown(boolean)`

*new* method: `void setFormToolbarListener(FormToolbarListener)`

*new* method: `void setup(ToolManager)`

*new* method: `void show(ToolMode)`

*new* method: `void toolChanged(Tool, Tool)`

*new* method: `void updateButtonsVisibility()`

#### FormToolbarListener

*new* interface: `FormToolbarListener`

*new* method: `void onFormToolbarWillClose()`

#### PdfViewCtrlTabHostFragment

*modified* class: `PdfViewCtrlTabHostFragment`

|       | Declaration                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ----- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| From: | public class PdfViewCtrlTabHostFragment extends Fragment implements TabListener,AnnotationToolbarListener,QuickMenuListener,OnTabSelectedListener,SearchResultsListener,ViewModePickerDialogFragmentListener,BookmarksDialogListener,BookmarksTabsListener,UserCropSelectionDialogFragmentListener,OnUserCropDialogDismissListener,AutoCropTaskListener,OnThumbnailsViewDialogDismissListener,OnThumbnailsEditAttemptWhileReadOnlyListener,OnExportThumbnailsListener,OnLayoutChangeListener,OnSystemUiVisibilityChangeListener     |
| To:   | public class PdfViewCtrlTabHostFragment extends Fragment implements TabListener,AnnotationToolbarListener,QuickMenuListener,BaseOnTabSelectedListener,SearchResultsListener,ViewModePickerDialogFragmentListener,BookmarksDialogListener,BookmarksTabsListener,UserCropSelectionDialogFragmentListener,OnUserCropDialogDismissListener,AutoCropTaskListener,OnThumbnailsViewDialogDismissListener,OnThumbnailsEditAttemptWhileReadOnlyListener,OnExportThumbnailsListener,OnLayoutChangeListener,OnSystemUiVisibilityChangeListener |

#### BookmarksDialogFragment

*modified* class: `BookmarksDialogFragment`

|       | Declaration                                                                                      |
| ----- | ------------------------------------------------------------------------------------------------ |
| From: | public class BookmarksDialogFragment extends DialogFragment implements OnTabSelectedListener     |
| To:   | public class BookmarksDialogFragment extends DialogFragment implements BaseOnTabSelectedListener |

#### DialogSignatureInfo

*new* class: `DialogSignatureInfo`

*new* constructor: `DialogSignatureInfo(Context)`

*new* method: `void setContactInfo(String)`

*new* method: `void setDocumentPermission(String)`

*new* method: `void setLocation(String)`

*new* method: `void setName(String)`

*new* method: `void setReason(String)`

*new* method: `void setSigningTime(String)`

#### DigitalSignatureDialogFragment

*new* class: `DigitalSignatureDialogFragment`

*new* constructor: `DigitalSignatureDialogFragment()`

*new* method: `void onActivityResult(int, int, Intent)`

*new* method: `void onCreate(Bundle)`

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

*new* method: `void onSignatureCreated(String)`

*new* method: `void onSignatureFromImage(PointF, int, Long)`

*new* method: `void onSignatureSelected(String)`

*new* method: `void setOnKeystoreUpdatedListener(OnKeystoreUpdatedListener)`

#### DigitalSignatureUserInputFragment

*new* class: `DigitalSignatureUserInputFragment`

*new* constructor: `DigitalSignatureUserInputFragment()`

*new* method: `void onCreate(Bundle)`

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

*new* method: `void onViewCreated(View, Bundle)`

#### DigitalSignatureViewModel

*new* class: `DigitalSignatureViewModel`

*new* constructor: `DigitalSignatureViewModel()`

*new* method: `void setKeystoreFileUri(Uri)`

#### SignatureInfoView

*new* class: `SignatureInfoView`

*new* constructor: `SignatureInfoView(Context)`

*new* constructor: `SignatureInfoView(Context, AttributeSet)`

*new* constructor: `SignatureInfoView(Context, AttributeSet, int)`

*new* method: `void setDetails(String)`

*new* method: `void setLabel(String)`

#### DialogSignatureInfo

*removed* class: `DialogSignatureInfo`

*removed* constructor: `DialogSignatureInfo(Context)`

*removed* method: `void setLocation(String)`

*removed* method: `void setName(String)`

*removed* method: `void setReason(String)`

#### SignatureDialogFragment

*new* method: `void onEditModeChanged(boolean)`

#### SignatureDialogFragmentBuilder

*new* static final field: `String BUNDLE_HAS_DEFAULT_KEYSTORE`

*new* static final field: `boolean HAS_DEFAULT_KEYSTORE`

*new* method: `SignatureDialogFragmentBuilder usingDefaultKeystore(boolean)`

*removed* method: `SignatureDialogFragmentBuilder usingDigitalSignature(boolean)`

#### EditListAdapter

*new* abstract class: `EditListAdapter<T>`

*new* constructor: `EditListAdapter()`

*new* constructor: `EditListAdapter(ViewHolderBindListener)`

*new* method: `void onBindViewHolder(ViewHolder, int)`

*new* method: `void onBindViewHolder(EditListViewHolder, int)`

*new* method: `ViewHolder onCreateViewHolder(ViewGroup, int)`

*new* method: `void setEditing(boolean)`

*new* method: `void setSelectedIndex(int)`

#### EditListItemTouchHelperCallback

*new* class: `EditListItemTouchHelperCallback`

*new* constructor: `EditListItemTouchHelperCallback(ItemTouchHelperAdapter, boolean, int)`

*new* method: `void clearView(RecyclerView, ViewHolder)`

*new* method: `int getMovementFlags(RecyclerView, ViewHolder)`

*new* method: `void onChildDraw(Canvas, RecyclerView, ViewHolder, float, float, int, boolean)`

*new* method: `void setDragging(boolean)`

#### EditListViewHolder

*new* class: `EditListViewHolder`

*new* constructor: `EditListViewHolder(View)`

*new* final field: `ImageButton confirmButton`

*new* final field: `ImageButton contextButton`

*new* final field: `EditText editText`

*new* final field: `TextView textView`

#### ChoiceDialogFragment

*new* class: `ChoiceDialogFragment`

*new* constructor: `ChoiceDialogFragment()`

*new* static final field: `String EXISTING_OPTIONS`

*new* static final field: `String FIELD_TYPE`

*new* static final field: `String SELECTION_TYPE`

*new* static final field: `String TAG`

*new* static final field: `String WIDGET`

*new* static final field: `String WIDGET_PAGE`

*new* static method: `ChoiceDialogFragment newInstance(long, int, boolean, boolean)`

*new* static method: `ChoiceDialogFragment newInstance(long, int, boolean, boolean, String[])`

*new* method: `void onCreate(Bundle)`

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

*new* method: `void onDismiss(DialogInterface)`

#### ChoiceResult

*new* class: `ChoiceResult`

*new* constructor: `ChoiceResult(long, int, boolean, String[])`

*new* method: `String[] getOptions()`

*new* method: `int getPage()`

*new* method: `long getWidget()`

*new* method: `boolean isSingleChoice()`

#### ChoiceViewModel

*new* class: `ChoiceViewModel`

*new* constructor: `ChoiceViewModel()`

#### OnKeystoreUpdatedListener

*new* interface: `OnKeystoreUpdatedListener`

*new* method: `void onKeystoreFileUpdated(Uri)`

*new* method: `void onKeystorePasswordUpdated(String)`

#### OnSavedSignatureListener

*new* method: `void onEditModeChanged(boolean)`

#### AreaMeasureCreate

*new* method: `void onDraw(Canvas, Matrix)`

*new* method: `boolean onMove(MotionEvent, MotionEvent, float, float)`

*new* method: `boolean onUp(MotionEvent, PriorEventMode)`

#### BaseTool

*new* abstract class: `BaseTool`

*new* constructor: `BaseTool(PDFViewCtrl)`

*new* static final field: `int LOUPE_RADIUS`

*new* static final field: `int LOUPE_SIZE`

*new* method: `void onClose()`

*new* method: `boolean onDown(MotionEvent)`

*new* method: `void onDraw(Canvas, Matrix)`

*new* method: `boolean onMove(MotionEvent, MotionEvent, float, float)`

#### ChoiceFieldCreate

*new* abstract class: `ChoiceFieldCreate`

*new* constructor: `ChoiceFieldCreate(PDFViewCtrl)`

#### ComboBoxFieldCreate

*new* class: `ComboBoxFieldCreate`

*new* constructor: `ComboBoxFieldCreate(PDFViewCtrl)`

*new* method: `int getCreateAnnotType()`

*new* method: `ToolModeBase getToolMode()`

#### DigitalSignature

*new* static method: `String createSignatureImageFile(Context, Page)`

*new* method: `boolean onLongPress(MotionEvent)`

*new* method: `boolean onUp(MotionEvent, PriorEventMode)`

#### FreehandCreate

*new* static method: `PointF convPagePtToDrawingPt(PDFViewCtrl, float, float, int, PointF)`

*new* static method: `ArrayList<ArrayList<PointF>> createDrawingStrokesFromPageStrokes(PDFViewCtrl, ArrayList<ArrayList<PointF>>, boolean, int, PointF)`

*removed* static method: `PointF convPagePtToDrawingPt(PDFViewCtrl, float, float, int, PointF, float, float)`

*removed* static method: `ArrayList<ArrayList<PointF>> createDrawingStrokesFromPageStrokes(PDFViewCtrl, ArrayList<ArrayList<PointF>>, boolean, int, PointF, float, float)`

#### ListBoxFieldCreate

*new* class: `ListBoxFieldCreate`

*new* constructor: `ListBoxFieldCreate(PDFViewCtrl)`

*new* method: `int getCreateAnnotType()`

*new* method: `ToolModeBase getToolMode()`

#### PerimeterMeasureCreate

*new* method: `void onDraw(Canvas, Matrix)`

*new* method: `boolean onMove(MotionEvent, MotionEvent, float, float)`

*new* method: `boolean onUp(MotionEvent, PriorEventMode)`

#### RulerCreate

*new* method: `boolean onUp(MotionEvent, PriorEventMode)`

#### SimpleShapeCreate

*modified* abstract class: `SimpleShapeCreate`

|       | Declaration                                              |
| ----- | -------------------------------------------------------- |
| From: | public abstract class SimpleShapeCreate extends Tool     |
| To:   | public abstract class SimpleShapeCreate extends BaseTool |

#### TextHighlighter

*new* method: `void highlightSelection()`

#### TextMarkupCreate

*modified* abstract class: `TextMarkupCreate`

|       | Declaration                                             |
| ----- | ------------------------------------------------------- |
| From: | public abstract class TextMarkupCreate extends Tool     |
| To:   | public abstract class TextMarkupCreate extends BaseTool |

#### TextSelect

*modified* class: `TextSelect`

|       | Declaration                              |
| ----- | ---------------------------------------- |
| From: | public class TextSelect extends Tool     |
| To:   | public class TextSelect extends BaseTool |

#### Tool

*new* method: `boolean getSnappingEnabled()`

*new* static method: `void updateFont(PDFViewCtrl, Widget, String)`

#### ToolManager

*new* method: `boolean isUsingDigitalSignature()`

*new* method: `void setUsingDigitalSignature(boolean)`

#### ToolManager.ToolMode

*new* static final field: `ToolMode FORM_COMBO_BOX_CREATE`

*new* static final field: `ToolMode FORM_LIST_BOX_CREATE`

#### AnnotUtils

*new* static method: `Bitmap getAnnotationAppearance(PDFViewCtrl, Annot)`

*new* static method: `Date getLocalDate(Date)`

*new* static method: `boolean isGroupSelected(PDFViewCtrl, ArrayList<Annot>, int)`

*new* static method: `boolean isListBox(Annot)`

*removed* static method: `Bitmap getStampAppearance(PDFViewCtrl, Annot)`

*modified* static method: `Completable loadSystemFonts()`

|       | Declaration                                 |
| ----- | ------------------------------------------- |
| From: | public static Completable loadSystemFonts() |
| To:   | public static Single loadSystemFonts()      |

#### DrawingUtils

*new* static final field: `int sRotateHandleMargin`

*new* static method: `void drawInk(PDFViewCtrl, Canvas, ArrayList<InkItem>, boolean, Matrix, PointF, boolean)`

*removed* static method: `void drawInk(PDFViewCtrl, Canvas, ArrayList<InkItem>, boolean, PointF, float, float, boolean)`

#### MySignatureHandler

*removed* class: `MySignatureHandler`

*removed* constructor: `MySignatureHandler(int, Resources, String)`

*removed* constructor: `MySignatureHandler(String, String)`

*removed* method: `void appendData(byte[])`

*removed* method: `byte[] createSignature()`

*removed* method: `String getName()`

*removed* method: `boolean reset()`

#### RequestCode

*new* static final field: `int DIGITAL_SIGNATURE_KEYSTORE`

*new* static final field: `int DIGITAL_SIGNATURE_KEYSTORE_IMAGE`

#### StampManager

*new* method: `File getSavedSignatureJpegFile(Context, File)`

#### Utils

*new* static method: `Intent createSystemPickerIntent()`

*new* static method: `Intent createSystemPickerIntent(String[])`

#### ViewerUtils

*new* static method: `Uri getImageUriFromIntent(Intent, Activity, Uri)`

#### AnnotDrawingView

*new* method: `boolean getCanDraw()`

*new* method: `void setAnnotRect(RectF)`

*removed* method: `void setAnnotRect(Rect)`

#### AnnotView

*new* method: `boolean getCanDraw()`

*new* method: `void invalidate()`

#### AnnotViewImpl

*new* field: `RectF mAnnotRectF`

#### RotateHandleView

*modified* class: `RotateHandleView`

|       | Declaration                                                |
| ----- | ---------------------------------------------------------- |
| From: | public class RotateHandleView extends FloatingActionButton |
| To:   | public class RotateHandleView extends LinearLayout         |

#### SelectionLoupe

*new* class: `SelectionLoupe`

*new* constructor: `SelectionLoupe(Context)`

*new* constructor: `SelectionLoupe(Context, AttributeSet)`

*new* constructor: `SelectionLoupe(Context, AttributeSet, int)`

*new* method: `void setup(Bitmap, float)`

### pdfnet-demo-utils package

#### MiscUtils

*removed* static method: `Intent createSystemPickerIntent()`


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.apryse.com/android/changelogs/version-7/v7-0-1.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
