|
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