11/*
2- * ConfigurationAdapter.java
2+ * ConfigurationAdapter.java
3+ *
34 * PSPDFKit
45 *
5- * Copyright (c) 2014-2016 PSPDFKit GmbH. All rights reserved.
6+ * Copyright © 2017 PSPDFKit GmbH. All rights reserved.
67 *
78 * THIS SOURCE CODE AND ANY ACCOMPANYING DOCUMENTATION ARE PROTECTED BY INTERNATIONAL COPYRIGHT LAW
89 * AND MAY NOT BE RESOLD OR REDISTRIBUTED. USAGE IS BOUND TO THE PSPDFKIT LICENSE AGREEMENT.
2021import com .facebook .react .bridge .ReadableMapKeySetIterator ;
2122import com .pspdfkit .configuration .activity .HudViewMode ;
2223import com .pspdfkit .configuration .activity .PdfActivityConfiguration ;
23- import com .pspdfkit .configuration .annotations . AnnotationEditingConfiguration ;
24+ import com .pspdfkit .configuration .activity . ThumbnailBarMode ;
2425import com .pspdfkit .configuration .page .PageFitMode ;
2526import com .pspdfkit .configuration .page .PageScrollDirection ;
2627import com .pspdfkit .configuration .page .PageScrollMode ;
@@ -40,6 +41,9 @@ public class ConfigurationAdapter {
4041 private static final String SHOW_SEARCH_ACTION = "showSearchAction" ;
4142 private static final String INLINE_SEARCH = "inlineSearch" ;
4243 private static final String SHOW_THUMBNAIL_BAR = "showThumbnailBar" ;
44+ private static final String SHOW_THUMBNAIL_BAR_DEFAULT = "default" ;
45+ private static final String SHOW_THUMBNAIL_BAR_SCROLLABLE = "scrollable" ;
46+ private static final String SHOW_THUMBNAIL_BAR_NONE = "none" ;
4347 private static final String SHOW_THUMBNAIL_GRID_ACTION = "showThumbnailGridAction" ;
4448 private static final String SHOW_OUTLINE_ACTION = "showOutlineAction" ;
4549 private static final String SHOW_ANNOTATION_LIST_ACTION = "showAnnotationListAction" ;
@@ -91,9 +95,6 @@ public ConfigurationAdapter(@NonNull Activity activity, ReadableMap configuratio
9195 if (configuration .hasKey (IMMERSIVE_MODE )) {
9296 configureImmersiveMode (configuration .getBoolean (IMMERSIVE_MODE ));
9397 }
94- if (configuration .hasKey (SHOW_THUMBNAIL_BAR )) {
95- configureShowThumbnailBar (configuration .getBoolean (SHOW_THUMBNAIL_BAR ));
96- }
9798 if (configuration .hasKey (SHOW_THUMBNAIL_GRID_ACTION )) {
9899 configureShowThumbnailGridAction (configuration .getBoolean (SHOW_THUMBNAIL_GRID_ACTION ));
99100 }
@@ -127,6 +128,9 @@ public ConfigurationAdapter(@NonNull Activity activity, ReadableMap configuratio
127128 if (configuration .hasKey (ENABLE_TEXT_SELECTION )) {
128129 configureEnableTextSelection (configuration .getBoolean (ENABLE_TEXT_SELECTION ));
129130 }
131+ if (configuration .hasKey (SHOW_THUMBNAIL_BAR )) {
132+ configureShowThumbnailBar (configuration .getString (SHOW_THUMBNAIL_BAR ));
133+ }
130134 }
131135 }
132136
@@ -191,12 +195,16 @@ private void configureImmersiveMode(boolean immersiveMode) {
191195 configuration .useImmersiveMode (immersiveMode );
192196 }
193197
194- private void configureShowThumbnailBar (boolean showThumbnailBar ) {
195- if (showThumbnailBar ) {
196- configuration .showThumbnailBar ();
197- } else {
198- configuration .hideThumbnailBar ();
198+ private void configureShowThumbnailBar (String showThumbnailBar ) {
199+ ThumbnailBarMode thumbnailBarMode = ThumbnailBarMode .THUMBNAIL_BAR_MODE_DEFAULT ;
200+ if (showThumbnailBar .equals (SHOW_THUMBNAIL_BAR_DEFAULT )) {
201+ thumbnailBarMode = ThumbnailBarMode .THUMBNAIL_BAR_MODE_DEFAULT ;
202+ } else if (showThumbnailBar .equals (SHOW_THUMBNAIL_BAR_SCROLLABLE )) {
203+ thumbnailBarMode = ThumbnailBarMode .THUMBNAIL_BAR_MODE_SCROLLABLE ;
204+ } else if (showThumbnailBar .equals (SHOW_THUMBNAIL_BAR_NONE )) {
205+ thumbnailBarMode = ThumbnailBarMode .THUMBNAIL_BAR_MODE_NONE ;
199206 }
207+ configuration .setThumbnailBarMode (thumbnailBarMode );
200208 }
201209
202210 private void configureShowThumbnailGridAction (boolean showThumbnailGridAction ) {
@@ -240,13 +248,11 @@ private void configureInvertColors(boolean invertColors) {
240248 }
241249
242250 private void configureEnableAnnotationEditing (boolean enableAnnotationEditing ) {
243- AnnotationEditingConfiguration .Builder annotationEditingConfiguration = new AnnotationEditingConfiguration .Builder (activity );
244251 if (enableAnnotationEditing ) {
245- annotationEditingConfiguration .enableAnnotationEditing ();
252+ configuration .enableAnnotationEditing ();
246253 } else {
247- annotationEditingConfiguration .disableAnnotationEditing ();
254+ configuration .disableAnnotationEditing ();
248255 }
249- configuration .annotationEditingConfiguration (annotationEditingConfiguration .build ());
250256 }
251257
252258 private void configureShowShareAction (boolean showShareAction ) {
@@ -280,6 +286,7 @@ public static PdfActivityConfiguration.Builder getDefaultConfiguration(Context c
280286 final PageFitMode pageFitMode = PageFitMode .FIT_TO_WIDTH ;
281287 final int searchType = PdfActivityConfiguration .SEARCH_INLINE ;
282288 final HudViewMode hudViewMode = HudViewMode .HUD_VIEW_MODE_AUTOMATIC ;
289+ final ThumbnailBarMode thumbnailBarMode = ThumbnailBarMode .THUMBNAIL_BAR_MODE_DEFAULT ;
283290 int startPage = 0 ;
284291
285292 PdfActivityConfiguration .Builder configuration = new PdfActivityConfiguration .Builder (context )
@@ -288,10 +295,9 @@ public static PdfActivityConfiguration.Builder getDefaultConfiguration(Context c
288295 .fitMode (pageFitMode )
289296 .setHudViewMode (hudViewMode )
290297 .setSearchType (searchType )
298+ .setThumbnailBarMode (thumbnailBarMode )
291299 .page (startPage );
292300
293- AnnotationEditingConfiguration .Builder annotationEditingConfiguration = new AnnotationEditingConfiguration .Builder (context );
294- configuration .annotationEditingConfiguration (annotationEditingConfiguration .build ());
295301 return configuration ;
296302 }
297303}
0 commit comments