diff --git a/android/src/main/java/com/pspdfkit/react/ConfigurationAdapter.java b/android/src/main/java/com/pspdfkit/react/ConfigurationAdapter.java index 0014dcec..05c0606a 100644 --- a/android/src/main/java/com/pspdfkit/react/ConfigurationAdapter.java +++ b/android/src/main/java/com/pspdfkit/react/ConfigurationAdapter.java @@ -13,16 +13,17 @@ package com.pspdfkit.react; -import android.app.Activity; import android.content.Context; import android.support.annotation.NonNull; +import android.support.annotation.Nullable; import com.facebook.react.bridge.ReadableMap; import com.facebook.react.bridge.ReadableMapKeySetIterator; -import com.pspdfkit.configuration.activity.UserInterfaceViewMode; import com.pspdfkit.configuration.activity.PdfActivityConfiguration; import com.pspdfkit.configuration.activity.ThumbnailBarMode; +import com.pspdfkit.configuration.activity.UserInterfaceViewMode; import com.pspdfkit.configuration.page.PageFitMode; +import com.pspdfkit.configuration.page.PageLayoutMode; import com.pspdfkit.configuration.page.PageScrollDirection; import com.pspdfkit.configuration.page.PageScrollMode; @@ -58,7 +59,11 @@ public class ConfigurationAdapter { private static final String SHOW_PRINT_ACTION = "showPrintAction"; private static final String SHOW_DOCUMENT_INFO_VIEW = "showDocumentInfoView"; private static final String SHOW_DOCUMENT_TITLE_OVERLAY = "documentLabelEnabled"; - + private static final String PAGE_MODE = "pageMode"; + private static final String PAGE_MODE_SINGLE = "single"; + private static final String PAGE_MODE_DOUBLE = "double"; + private static final String PAGE_MODE_AUTO = "automatic"; + private static final String FIRST_PAGE_ALWAYS_SINGLE = "firstPageAlwaysSingle"; private final PdfActivityConfiguration.Builder configuration; @@ -134,6 +139,12 @@ public ConfigurationAdapter(@NonNull Context context, ReadableMap configuration) if (configuration.hasKey(SHOW_DOCUMENT_TITLE_OVERLAY)) { configureShowDocumentTitleOverlay(configuration.getBoolean(SHOW_DOCUMENT_TITLE_OVERLAY)); } + if (configuration.hasKey(PAGE_MODE)) { + configurePageMode(configuration.getString(PAGE_MODE)); + } + if (configuration.hasKey(FIRST_PAGE_ALWAYS_SINGLE)) { + configureFirstPageAlwaysSingle(configuration.getBoolean(FIRST_PAGE_ALWAYS_SINGLE)); + } } } @@ -294,6 +305,23 @@ private void configureShowDocumentTitleOverlay(boolean showDocumentTitleOverlay) } } + private void configurePageMode(@Nullable final String pageMode) { + PageLayoutMode pageLayoutMode = PageLayoutMode.AUTO; + if (pageMode == null || + pageMode.equalsIgnoreCase(PAGE_MODE_AUTO)) { + pageLayoutMode = PageLayoutMode.AUTO; + } else if (pageMode.equalsIgnoreCase(PAGE_MODE_SINGLE)) { + pageLayoutMode = PageLayoutMode.SINGLE; + } else if (pageMode.equalsIgnoreCase(PAGE_MODE_DOUBLE)) { + pageLayoutMode = PageLayoutMode.DOUBLE; + } + configuration.layoutMode(pageLayoutMode); + } + + private void configureFirstPageAlwaysSingle(final boolean firstPageAlwaysSingle) { + configuration.firstPageAlwaysSingle(firstPageAlwaysSingle); + } + public PdfActivityConfiguration build() { return configuration.build(); } diff --git a/package-lock.json b/package-lock.json index e5e8a3c0..9166855b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "react-native-pspdfkit", - "version": "1.23.14", + "version": "1.23.15", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 77a850a3..80cbd9ac 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-pspdfkit", - "version": "1.23.14", + "version": "1.23.15", "description": "A React Native module for the PSPDFKit library.", "keywords": [ "react native", diff --git a/samples/Catalog/package.json b/samples/Catalog/package.json index 681824ec..e7e73f18 100644 --- a/samples/Catalog/package.json +++ b/samples/Catalog/package.json @@ -1,6 +1,6 @@ { "name": "Catalog", - "version": "1.23.14", + "version": "1.23.15", "private": true, "scripts": { "start": "node node_modules/react-native/local-cli/cli.js start"