1// Signature format: 2.0
2package android.graphics.pdf {
3
4  @FlaggedApi("android.graphics.pdf.flags.enable_pdf_viewer") public final class LoadParams {
5    method @Nullable public String getPassword();
6  }
7
8  public static final class LoadParams.Builder {
9    ctor public LoadParams.Builder();
10    method @NonNull public android.graphics.pdf.LoadParams build();
11    method @NonNull public android.graphics.pdf.LoadParams.Builder setPassword(@Nullable String);
12  }
13
14  @FlaggedApi("android.graphics.pdf.flags.enable_pdf_viewer") public final class PdfRendererPreV implements java.lang.AutoCloseable {
15    ctor public PdfRendererPreV(@NonNull android.os.ParcelFileDescriptor) throws java.io.IOException;
16    ctor public PdfRendererPreV(@NonNull android.os.ParcelFileDescriptor, @NonNull android.graphics.pdf.LoadParams) throws java.io.IOException;
17    method public void close();
18    method public int getDocumentLinearizationType();
19    method @IntRange(from=0) public int getPageCount();
20    method @FlaggedApi("android.graphics.pdf.flags.enable_form_filling") public int getPdfFormType();
21    method @NonNull public android.graphics.pdf.PdfRendererPreV.Page openPage(@IntRange(from=0) int);
22    method public void write(@NonNull android.os.ParcelFileDescriptor, boolean) throws java.io.IOException;
23    field public static final int DOCUMENT_LINEARIZED_TYPE_LINEARIZED = 1; // 0x1
24    field public static final int DOCUMENT_LINEARIZED_TYPE_NON_LINEARIZED = 0; // 0x0
25    field @FlaggedApi("android.graphics.pdf.flags.enable_form_filling") public static final int PDF_FORM_TYPE_ACRO_FORM = 1; // 0x1
26    field @FlaggedApi("android.graphics.pdf.flags.enable_form_filling") public static final int PDF_FORM_TYPE_NONE = 0; // 0x0
27    field @FlaggedApi("android.graphics.pdf.flags.enable_form_filling") public static final int PDF_FORM_TYPE_XFA_FOREGROUND = 3; // 0x3
28    field @FlaggedApi("android.graphics.pdf.flags.enable_form_filling") public static final int PDF_FORM_TYPE_XFA_FULL = 2; // 0x2
29  }
30
31  public final class PdfRendererPreV.Page implements java.lang.AutoCloseable {
32    method @FlaggedApi("android.graphics.pdf.flags.enable_edit_pdf_annotations") public int addPageAnnotation(@NonNull android.graphics.pdf.component.PdfAnnotation);
33    method @FlaggedApi("android.graphics.pdf.flags.enable_edit_pdf_page_objects") public int addPageObject(@NonNull android.graphics.pdf.component.PdfPageObject);
34    method @FlaggedApi("android.graphics.pdf.flags.enable_form_filling") @NonNull public java.util.List<android.graphics.Rect> applyEdit(@NonNull android.graphics.pdf.models.FormEditRecord);
35    method public void close();
36    method @FlaggedApi("android.graphics.pdf.flags.enable_form_filling") @NonNull public android.graphics.pdf.models.FormWidgetInfo getFormWidgetInfoAtIndex(@IntRange(from=0) int);
37    method @FlaggedApi("android.graphics.pdf.flags.enable_form_filling") @NonNull public android.graphics.pdf.models.FormWidgetInfo getFormWidgetInfoAtPosition(int, int);
38    method @FlaggedApi("android.graphics.pdf.flags.enable_form_filling") @NonNull public java.util.List<android.graphics.pdf.models.FormWidgetInfo> getFormWidgetInfos();
39    method @FlaggedApi("android.graphics.pdf.flags.enable_form_filling") @NonNull public java.util.List<android.graphics.pdf.models.FormWidgetInfo> getFormWidgetInfos(@NonNull int[]);
40    method @NonNull public java.util.List<android.graphics.pdf.content.PdfPageGotoLinkContent> getGotoLinks();
41    method @IntRange(from=0) public int getHeight();
42    method @NonNull public java.util.List<android.graphics.pdf.content.PdfPageImageContent> getImageContents();
43    method @IntRange(from=0) public int getIndex();
44    method @NonNull public java.util.List<android.graphics.pdf.content.PdfPageLinkContent> getLinkContents();
45    method @FlaggedApi("android.graphics.pdf.flags.enable_edit_pdf_annotations") @NonNull public java.util.List<android.graphics.pdf.component.PdfAnnotation> getPageAnnotations();
46    method @FlaggedApi("android.graphics.pdf.flags.enable_edit_pdf_page_objects") @NonNull public java.util.List<android.graphics.pdf.component.PdfPageObject> getPageObjects();
47    method @NonNull public java.util.List<android.graphics.pdf.content.PdfPageTextContent> getTextContents();
48    method @IntRange(from=0) public int getWidth();
49    method @FlaggedApi("android.graphics.pdf.flags.enable_edit_pdf_annotations") @NonNull public android.graphics.pdf.component.PdfAnnotation removePageAnnotation(int);
50    method @FlaggedApi("android.graphics.pdf.flags.enable_edit_pdf_page_objects") @NonNull public android.graphics.pdf.component.PdfPageObject removePageObject(int);
51    method public void render(@NonNull android.graphics.Bitmap, @Nullable android.graphics.Rect, @Nullable android.graphics.Matrix, @NonNull android.graphics.pdf.RenderParams);
52    method @NonNull public java.util.List<android.graphics.pdf.models.PageMatchBounds> searchText(@NonNull String);
53    method @Nullable public android.graphics.pdf.models.selection.PageSelection selectContent(@NonNull android.graphics.pdf.models.selection.SelectionBoundary, @NonNull android.graphics.pdf.models.selection.SelectionBoundary);
54    method @FlaggedApi("android.graphics.pdf.flags.enable_edit_pdf_annotations") public boolean updatePageAnnotation(@NonNull android.graphics.pdf.component.PdfAnnotation);
55    method @FlaggedApi("android.graphics.pdf.flags.enable_edit_pdf_page_objects") public boolean updatePageObject(@NonNull android.graphics.pdf.component.PdfPageObject);
56  }
57
58  @FlaggedApi("android.graphics.pdf.flags.enable_pdf_viewer") public final class RenderParams {
59    method public int getRenderFlags();
60    method public int getRenderMode();
61    field public static final int FLAG_RENDER_HIGHLIGHT_ANNOTATIONS = 4; // 0x4
62    field public static final int FLAG_RENDER_TEXT_ANNOTATIONS = 2; // 0x2
63    field public static final int RENDER_MODE_FOR_DISPLAY = 1; // 0x1
64    field public static final int RENDER_MODE_FOR_PRINT = 2; // 0x2
65  }
66
67  public static final class RenderParams.Builder {
68    ctor public RenderParams.Builder(int);
69    method @NonNull public android.graphics.pdf.RenderParams build();
70    method @NonNull public android.graphics.pdf.RenderParams.Builder setRenderFlags(int);
71    method @NonNull public android.graphics.pdf.RenderParams.Builder setRenderFlags(int, int);
72  }
73
74}
75
76package android.graphics.pdf.component {
77
78  @FlaggedApi("android.graphics.pdf.flags.enable_edit_pdf_text_annotations") public final class FreeTextAnnotation extends android.graphics.pdf.component.PdfAnnotation {
79    ctor public FreeTextAnnotation(@NonNull android.graphics.RectF, @NonNull String);
80    method @ColorInt public int getBackgroundColor();
81    method @ColorInt public int getTextColor();
82    method @NonNull public String getTextContent();
83    method public void setBackgroundColor(@ColorInt int);
84    method public void setTextColor(@ColorInt int);
85    method public void setTextContent(@NonNull String);
86  }
87
88  @FlaggedApi("android.graphics.pdf.flags.enable_edit_pdf_annotations") public final class HighlightAnnotation extends android.graphics.pdf.component.PdfAnnotation {
89    ctor public HighlightAnnotation(@NonNull android.graphics.RectF);
90    method @ColorInt public int getColor();
91    method public void setColor(@ColorInt int);
92  }
93
94  @FlaggedApi("android.graphics.pdf.flags.enable_edit_pdf_annotations") public abstract class PdfAnnotation {
95    method @NonNull public android.graphics.RectF getBounds();
96    method public int getId();
97    method public int getPdfAnnotationType();
98    method public void setBounds(@NonNull android.graphics.RectF);
99  }
100
101  @FlaggedApi("android.graphics.pdf.flags.enable_edit_pdf_annotations") public final class PdfAnnotationType {
102    field @FlaggedApi("android.graphics.pdf.flags.enable_edit_pdf_text_annotations") public static final int FREETEXT = 1; // 0x1
103    field public static final int HIGHLIGHT = 2; // 0x2
104    field public static final int STAMP = 3; // 0x3
105    field public static final int UNKNOWN = 0; // 0x0
106  }
107
108  @FlaggedApi("android.graphics.pdf.flags.enable_edit_pdf_page_objects") public final class PdfPageImageObject extends android.graphics.pdf.component.PdfPageObject {
109    ctor public PdfPageImageObject(@NonNull android.graphics.Bitmap);
110    method @NonNull public android.graphics.Bitmap getBitmap();
111    method public void setBitmap(@NonNull android.graphics.Bitmap);
112  }
113
114  @FlaggedApi("android.graphics.pdf.flags.enable_edit_pdf_page_objects") public abstract class PdfPageObject {
115    method @NonNull public android.graphics.RectF getBounds();
116    method @NonNull public float[] getMatrix();
117    method public int getObjectId();
118    method public int getPdfObjectType();
119    method public boolean isAddedInAnnotation();
120    method public void setBounds(@NonNull android.graphics.RectF);
121    method public void setMatrix(@NonNull android.graphics.Matrix);
122    method public void transform(float, float, float, float, float, float);
123  }
124
125  @FlaggedApi("android.graphics.pdf.flags.enable_edit_pdf_page_objects") public final class PdfPageObjectType {
126    method public static boolean isValidType(int);
127    field public static final int IMAGE = 3; // 0x3
128    field public static final int PATH = 2; // 0x2
129    field @FlaggedApi("android.graphics.pdf.flags.enable_edit_pdf_text_objects") public static final int TEXT = 1; // 0x1
130    field public static final int UNKNOWN = 0; // 0x0
131  }
132
133  @FlaggedApi("android.graphics.pdf.flags.enable_edit_pdf_page_objects") public final class PdfPagePathObject extends android.graphics.pdf.component.PdfPageObject {
134    ctor public PdfPagePathObject();
135    method @Nullable public android.graphics.Color getFillColor();
136    method @Nullable public android.graphics.PathEffect getLineStyle();
137    method @NonNull public android.graphics.Path getPath();
138    method @NonNull public android.graphics.Color getStrokeColor();
139    method public float getStrokeWidth();
140    method public void setFillColor(@Nullable android.graphics.Color);
141    method public void setLineStyle(int);
142    method public void setPath(@NonNull android.graphics.Path);
143    method public void setStrokeColor(@NonNull android.graphics.Color);
144    method public void setStrokeWidth(float);
145  }
146
147  @FlaggedApi("android.graphics.pdf.flags.enable_edit_pdf_page_objects") public final class PdfPageTextObject extends android.graphics.pdf.component.PdfPageObject {
148    ctor @FlaggedApi("android.graphics.pdf.flags.enable_edit_pdf_text_objects") public PdfPageTextObject(@NonNull String, @NonNull android.graphics.Typeface, float);
149    method @Nullable public android.graphics.Color getFillColor();
150    method public float getFontSize();
151    method @NonNull public android.graphics.Color getStrokeColor();
152    method public float getStrokeWidth();
153    method @NonNull public String getText();
154    method @NonNull public android.graphics.Typeface getTypeface();
155    method public void setFillColor(@Nullable android.graphics.Color);
156    method public void setFontSize(float);
157    method public void setStrokeColor(@NonNull android.graphics.Color);
158    method public void setStrokeWidth(float);
159    method public void setText(@NonNull String);
160    method public void setTypeface(@NonNull android.graphics.Typeface);
161  }
162
163  @FlaggedApi("android.graphics.pdf.flags.enable_edit_pdf_stamp_annotations") public final class StampAnnotation extends android.graphics.pdf.component.PdfAnnotation {
164    ctor public StampAnnotation(@NonNull android.graphics.RectF);
165    method public void addObject(@NonNull android.graphics.pdf.component.PdfPageObject);
166    method @NonNull public java.util.List<android.graphics.pdf.component.PdfPageObject> getObjects();
167    method public void removeObject(int);
168  }
169
170}
171
172package android.graphics.pdf.content {
173
174  @FlaggedApi("android.graphics.pdf.flags.enable_pdf_viewer") public final class PdfPageGotoLinkContent implements android.os.Parcelable {
175    ctor public PdfPageGotoLinkContent(@NonNull java.util.List<android.graphics.RectF>, @NonNull android.graphics.pdf.content.PdfPageGotoLinkContent.Destination);
176    method public int describeContents();
177    method @NonNull public java.util.List<android.graphics.RectF> getBounds();
178    method @NonNull public android.graphics.pdf.content.PdfPageGotoLinkContent.Destination getDestination();
179    method public void writeToParcel(@NonNull android.os.Parcel, int);
180    field @NonNull public static final android.os.Parcelable.Creator<android.graphics.pdf.content.PdfPageGotoLinkContent> CREATOR;
181  }
182
183  public static final class PdfPageGotoLinkContent.Destination implements android.os.Parcelable {
184    ctor public PdfPageGotoLinkContent.Destination(int, float, float, float);
185    method public int describeContents();
186    method @IntRange(from=0) public int getPageNumber();
187    method @FloatRange(from=0.0f) public float getXCoordinate();
188    method @FloatRange(from=0.0f) public float getYCoordinate();
189    method @FloatRange(from=0.0f) public float getZoom();
190    method public void writeToParcel(@NonNull android.os.Parcel, int);
191    field @NonNull public static final android.os.Parcelable.Creator<android.graphics.pdf.content.PdfPageGotoLinkContent.Destination> CREATOR;
192  }
193
194  @FlaggedApi("android.graphics.pdf.flags.enable_pdf_viewer") public final class PdfPageImageContent implements android.os.Parcelable {
195    ctor public PdfPageImageContent(@NonNull String);
196    method public int describeContents();
197    method @NonNull public String getAltText();
198    method public void writeToParcel(@NonNull android.os.Parcel, int);
199    field @NonNull public static final android.os.Parcelable.Creator<android.graphics.pdf.content.PdfPageImageContent> CREATOR;
200  }
201
202  @FlaggedApi("android.graphics.pdf.flags.enable_pdf_viewer") public final class PdfPageLinkContent implements android.os.Parcelable {
203    ctor public PdfPageLinkContent(@NonNull java.util.List<android.graphics.RectF>, @NonNull android.net.Uri);
204    method public int describeContents();
205    method @NonNull public java.util.List<android.graphics.RectF> getBounds();
206    method @NonNull public android.net.Uri getUri();
207    method public void writeToParcel(@NonNull android.os.Parcel, int);
208    field @NonNull public static final android.os.Parcelable.Creator<android.graphics.pdf.content.PdfPageLinkContent> CREATOR;
209  }
210
211  @FlaggedApi("android.graphics.pdf.flags.enable_pdf_viewer") public final class PdfPageTextContent implements android.os.Parcelable {
212    ctor public PdfPageTextContent(@NonNull String);
213    ctor public PdfPageTextContent(@NonNull String, @NonNull java.util.List<android.graphics.RectF>);
214    method public int describeContents();
215    method @NonNull public java.util.List<android.graphics.RectF> getBounds();
216    method @NonNull public String getText();
217    method public void writeToParcel(@NonNull android.os.Parcel, int);
218    field @NonNull public static final android.os.Parcelable.Creator<android.graphics.pdf.content.PdfPageTextContent> CREATOR;
219  }
220
221}
222
223package android.graphics.pdf.models {
224
225  @FlaggedApi("android.graphics.pdf.flags.enable_form_filling") public final class FormEditRecord implements android.os.Parcelable {
226    method public int describeContents();
227    method @Nullable public android.graphics.Point getClickPoint();
228    method @IntRange(from=0) public int getPageNumber();
229    method @NonNull public int[] getSelectedIndices();
230    method @Nullable public String getText();
231    method public int getType();
232    method @IntRange(from=0) public int getWidgetIndex();
233    method public void writeToParcel(@NonNull android.os.Parcel, int);
234    field @NonNull public static final android.os.Parcelable.Creator<android.graphics.pdf.models.FormEditRecord> CREATOR;
235    field public static final int EDIT_TYPE_CLICK = 0; // 0x0
236    field public static final int EDIT_TYPE_SET_INDICES = 1; // 0x1
237    field public static final int EDIT_TYPE_SET_TEXT = 2; // 0x2
238  }
239
240  public static final class FormEditRecord.Builder {
241    ctor public FormEditRecord.Builder(int, @IntRange(from=0) int, @IntRange(from=0) int);
242    method @NonNull public android.graphics.pdf.models.FormEditRecord build();
243    method @NonNull public android.graphics.pdf.models.FormEditRecord.Builder setClickPoint(@Nullable android.graphics.Point);
244    method @NonNull public android.graphics.pdf.models.FormEditRecord.Builder setSelectedIndices(@Nullable int[]);
245    method @NonNull public android.graphics.pdf.models.FormEditRecord.Builder setText(@Nullable String);
246  }
247
248  @FlaggedApi("android.graphics.pdf.flags.enable_form_filling") public final class FormWidgetInfo implements android.os.Parcelable {
249    method public int describeContents();
250    method @Nullable public String getAccessibilityLabel();
251    method @FloatRange(from=0.0f) public float getFontSize();
252    method @NonNull public java.util.List<android.graphics.pdf.models.ListItem> getListItems();
253    method @IntRange(from=0xffffffff) public int getMaxLength();
254    method @Nullable public String getTextValue();
255    method @IntRange(from=0) public int getWidgetIndex();
256    method @NonNull public android.graphics.Rect getWidgetRect();
257    method public int getWidgetType();
258    method public boolean isEditableText();
259    method public boolean isMultiLineText();
260    method public boolean isMultiSelect();
261    method public boolean isReadOnly();
262    method public void writeToParcel(@NonNull android.os.Parcel, int);
263    field @NonNull public static final android.os.Parcelable.Creator<android.graphics.pdf.models.FormWidgetInfo> CREATOR;
264    field public static final int WIDGET_TYPE_CHECKBOX = 2; // 0x2
265    field public static final int WIDGET_TYPE_COMBOBOX = 4; // 0x4
266    field public static final int WIDGET_TYPE_LISTBOX = 5; // 0x5
267    field public static final int WIDGET_TYPE_PUSHBUTTON = 1; // 0x1
268    field public static final int WIDGET_TYPE_RADIOBUTTON = 3; // 0x3
269    field public static final int WIDGET_TYPE_SIGNATURE = 7; // 0x7
270    field public static final int WIDGET_TYPE_TEXTFIELD = 6; // 0x6
271    field public static final int WIDGET_TYPE_UNKNOWN = 0; // 0x0
272  }
273
274  public static final class FormWidgetInfo.Builder {
275    ctor public FormWidgetInfo.Builder(int, @IntRange(from=0) int, @NonNull android.graphics.Rect, @NonNull String, @NonNull String);
276    method @NonNull public android.graphics.pdf.models.FormWidgetInfo build();
277    method @NonNull public android.graphics.pdf.models.FormWidgetInfo.Builder setEditableText(boolean);
278    method @NonNull public android.graphics.pdf.models.FormWidgetInfo.Builder setFontSize(@FloatRange(from=0.0f) float);
279    method @NonNull public android.graphics.pdf.models.FormWidgetInfo.Builder setListItems(@NonNull java.util.List<android.graphics.pdf.models.ListItem>);
280    method @NonNull public android.graphics.pdf.models.FormWidgetInfo.Builder setMaxLength(@IntRange(from=0) int);
281    method @NonNull public android.graphics.pdf.models.FormWidgetInfo.Builder setMultiLineText(boolean);
282    method @NonNull public android.graphics.pdf.models.FormWidgetInfo.Builder setMultiSelect(boolean);
283    method @NonNull public android.graphics.pdf.models.FormWidgetInfo.Builder setReadOnly(boolean);
284  }
285
286  @FlaggedApi("android.graphics.pdf.flags.enable_form_filling") public final class ListItem implements android.os.Parcelable {
287    ctor public ListItem(@NonNull String, boolean);
288    method public int describeContents();
289    method @NonNull public String getLabel();
290    method public boolean isSelected();
291    method public void writeToParcel(@NonNull android.os.Parcel, int);
292    field @NonNull public static final android.os.Parcelable.Creator<android.graphics.pdf.models.ListItem> CREATOR;
293  }
294
295  @FlaggedApi("android.graphics.pdf.flags.enable_pdf_viewer") public final class PageMatchBounds implements android.os.Parcelable {
296    ctor public PageMatchBounds(@NonNull java.util.List<android.graphics.RectF>, int);
297    method public int describeContents();
298    method @NonNull public java.util.List<android.graphics.RectF> getBounds();
299    method public int getTextStartIndex();
300    method public void writeToParcel(@NonNull android.os.Parcel, int);
301    field @NonNull public static final android.os.Parcelable.Creator<android.graphics.pdf.models.PageMatchBounds> CREATOR;
302  }
303
304}
305
306package android.graphics.pdf.models.selection {
307
308  @FlaggedApi("android.graphics.pdf.flags.enable_pdf_viewer") public final class PageSelection implements android.os.Parcelable {
309    ctor public PageSelection(int, @NonNull android.graphics.pdf.models.selection.SelectionBoundary, @NonNull android.graphics.pdf.models.selection.SelectionBoundary, @NonNull java.util.List<android.graphics.pdf.content.PdfPageTextContent>);
310    method public int describeContents();
311    method public int getPage();
312    method @NonNull public java.util.List<android.graphics.pdf.content.PdfPageTextContent> getSelectedTextContents();
313    method @NonNull public android.graphics.pdf.models.selection.SelectionBoundary getStart();
314    method @NonNull public android.graphics.pdf.models.selection.SelectionBoundary getStop();
315    method public void writeToParcel(@NonNull android.os.Parcel, int);
316    field @NonNull public static final android.os.Parcelable.Creator<android.graphics.pdf.models.selection.PageSelection> CREATOR;
317  }
318
319  @FlaggedApi("android.graphics.pdf.flags.enable_pdf_viewer") public final class SelectionBoundary implements android.os.Parcelable {
320    ctor public SelectionBoundary(int);
321    ctor public SelectionBoundary(@NonNull android.graphics.Point);
322    method public int describeContents();
323    method public int getIndex();
324    method public boolean getIsRtl();
325    method @Nullable public android.graphics.Point getPoint();
326    method public void writeToParcel(@NonNull android.os.Parcel, int);
327    field @NonNull public static final android.os.Parcelable.Creator<android.graphics.pdf.models.selection.SelectionBoundary> CREATOR;
328  }
329
330}
331
332