|
13 | 13 |
|
14 | 14 | package com.pspdfkit.react;
|
15 | 15 |
|
16 |
| -import android.app.Activity; |
17 | 16 | import android.content.Context;
|
18 | 17 | import android.support.annotation.NonNull;
|
| 18 | +import android.support.annotation.Nullable; |
19 | 19 |
|
20 | 20 | import com.facebook.react.bridge.ReadableMap;
|
21 | 21 | import com.facebook.react.bridge.ReadableMapKeySetIterator;
|
22 |
| -import com.pspdfkit.configuration.activity.UserInterfaceViewMode; |
23 | 22 | import com.pspdfkit.configuration.activity.PdfActivityConfiguration;
|
24 | 23 | import com.pspdfkit.configuration.activity.ThumbnailBarMode;
|
| 24 | +import com.pspdfkit.configuration.activity.UserInterfaceViewMode; |
25 | 25 | import com.pspdfkit.configuration.page.PageFitMode;
|
| 26 | +import com.pspdfkit.configuration.page.PageLayoutMode; |
26 | 27 | import com.pspdfkit.configuration.page.PageScrollDirection;
|
27 | 28 | import com.pspdfkit.configuration.page.PageScrollMode;
|
28 | 29 |
|
@@ -58,7 +59,11 @@ public class ConfigurationAdapter {
|
58 | 59 | private static final String SHOW_PRINT_ACTION = "showPrintAction";
|
59 | 60 | private static final String SHOW_DOCUMENT_INFO_VIEW = "showDocumentInfoView";
|
60 | 61 | private static final String SHOW_DOCUMENT_TITLE_OVERLAY = "documentLabelEnabled";
|
61 |
| - |
| 62 | + private static final String PAGE_MODE = "pageMode"; |
| 63 | + private static final String PAGE_MODE_SINGLE = "single"; |
| 64 | + private static final String PAGE_MODE_DOUBLE = "double"; |
| 65 | + private static final String PAGE_MODE_AUTO = "automatic"; |
| 66 | + private static final String FIRST_PAGE_ALWAYS_SINGLE = "firstPageAlwaysSingle"; |
62 | 67 |
|
63 | 68 | private final PdfActivityConfiguration.Builder configuration;
|
64 | 69 |
|
@@ -134,6 +139,12 @@ public ConfigurationAdapter(@NonNull Context context, ReadableMap configuration)
|
134 | 139 | if (configuration.hasKey(SHOW_DOCUMENT_TITLE_OVERLAY)) {
|
135 | 140 | configureShowDocumentTitleOverlay(configuration.getBoolean(SHOW_DOCUMENT_TITLE_OVERLAY));
|
136 | 141 | }
|
| 142 | + if (configuration.hasKey(PAGE_MODE)) { |
| 143 | + configurePageMode(configuration.getString(PAGE_MODE)); |
| 144 | + } |
| 145 | + if (configuration.hasKey(FIRST_PAGE_ALWAYS_SINGLE)) { |
| 146 | + configureFirstPageAlwaysSingle(configuration.getBoolean(FIRST_PAGE_ALWAYS_SINGLE)); |
| 147 | + } |
137 | 148 | }
|
138 | 149 | }
|
139 | 150 |
|
@@ -294,6 +305,23 @@ private void configureShowDocumentTitleOverlay(boolean showDocumentTitleOverlay)
|
294 | 305 | }
|
295 | 306 | }
|
296 | 307 |
|
| 308 | + private void configurePageMode(@Nullable final String pageMode) { |
| 309 | + PageLayoutMode pageLayoutMode = PageLayoutMode.AUTO; |
| 310 | + if (pageMode == null || |
| 311 | + pageMode.equalsIgnoreCase(PAGE_MODE_AUTO)) { |
| 312 | + pageLayoutMode = PageLayoutMode.AUTO; |
| 313 | + } else if (pageMode.equalsIgnoreCase(PAGE_MODE_SINGLE)) { |
| 314 | + pageLayoutMode = PageLayoutMode.SINGLE; |
| 315 | + } else if (pageMode.equalsIgnoreCase(PAGE_MODE_DOUBLE)) { |
| 316 | + pageLayoutMode = PageLayoutMode.DOUBLE; |
| 317 | + } |
| 318 | + configuration.layoutMode(pageLayoutMode); |
| 319 | + } |
| 320 | + |
| 321 | + private void configureFirstPageAlwaysSingle(final boolean firstPageAlwaysSingle) { |
| 322 | + configuration.firstPageAlwaysSingle(firstPageAlwaysSingle); |
| 323 | + } |
| 324 | + |
297 | 325 | public PdfActivityConfiguration build() {
|
298 | 326 | return configuration.build();
|
299 | 327 | }
|
|
0 commit comments