|
1 | 1 | /* |
2 | | - * Copyright © 2018-2022 PSPDFKit GmbH. All rights reserved. |
| 2 | + * Copyright © 2018-2023 PSPDFKit GmbH. All rights reserved. |
3 | 3 | * |
4 | 4 | * THIS SOURCE CODE AND ANY ACCOMPANYING DOCUMENTATION ARE PROTECTED BY INTERNATIONAL COPYRIGHT LAW |
5 | 5 | * AND MAY NOT BE RESOLD OR REDISTRIBUTED. USAGE IS BOUND TO THE PSPDFKIT LICENSE AGREEMENT. |
|
29 | 29 | import com.pspdfkit.configuration.settings.SettingsMenuItemType; |
30 | 30 | import com.pspdfkit.configuration.sharing.ShareFeatures; |
31 | 31 | import com.pspdfkit.configuration.theming.ThemeMode; |
| 32 | +import com.pspdfkit.preferences.PSPDFKitPreferences; |
32 | 33 | import com.pspdfkit.ui.special_mode.controller.AnnotationTool; |
33 | 34 |
|
34 | 35 | import java.util.ArrayList; |
@@ -181,6 +182,12 @@ class ConfigurationAdapter { |
181 | 182 | // Instant Options |
182 | 183 | private static final String ENABLE_INSTANT_COMMENTS = "enableInstantComments"; |
183 | 184 |
|
| 185 | + // Measurement tools options |
| 186 | + private static final String ENABLED_MEASUREMENT_TOOLS = "enableMeasurementTools"; |
| 187 | + private static final String ENABLE_MAGNIFIER = "enableMagnifier"; |
| 188 | + private static final String ENABLED_MEASUREMENT_TOOL_SNAPPING = "enableMeasurementToolSnapping"; |
| 189 | + |
| 190 | + |
184 | 191 | @NonNull |
185 | 192 | private final PdfActivityConfiguration.Builder configuration; |
186 | 193 | @Nullable |
@@ -363,9 +370,25 @@ class ConfigurationAdapter { |
363 | 370 | if (key != null) { |
364 | 371 | enableInstantComments = (boolean) configurationMap.get(key); |
365 | 372 | } |
| 373 | + |
| 374 | + key = getKeyOfType(configurationMap, ENABLE_MAGNIFIER, Boolean.class); |
| 375 | + if (key != null) { |
| 376 | + configureMagnifierEnabled((Boolean) configurationMap.get(key)); |
| 377 | + } |
| 378 | + |
| 379 | + key = getKeyOfType(configurationMap, ENABLED_MEASUREMENT_TOOLS, Boolean.class); |
| 380 | + if (key != null) { |
| 381 | + configureMeasurementToolsEnabled((Boolean) configurationMap.get(key)); |
| 382 | + } |
| 383 | + |
| 384 | + key = getKeyOfType(configurationMap, ENABLED_MEASUREMENT_TOOL_SNAPPING, Boolean.class); |
| 385 | + if (key != null) { |
| 386 | + configureMeasurementToolSnappingEnabled(context,(Boolean) configurationMap.get(key)); |
| 387 | + } |
366 | 388 | } |
367 | 389 | } |
368 | 390 |
|
| 391 | + |
369 | 392 | private void configurePageTransition(@NonNull final String transition) { |
370 | 393 | switch (transition) { |
371 | 394 | case PAGE_TRANSITION_SCROLL_PER_SPREAD: |
@@ -711,6 +734,18 @@ private void configureAutosaveEnabled(boolean autosaveEnabled) { |
711 | 734 | configuration.autosaveEnabled(autosaveEnabled); |
712 | 735 | } |
713 | 736 |
|
| 737 | + private void configureMeasurementToolsEnabled(Boolean aBoolean) { |
| 738 | + configuration.setMeasurementToolsEnabled(aBoolean); |
| 739 | + } |
| 740 | + |
| 741 | + private void configureMagnifierEnabled(Boolean aBoolean) { |
| 742 | + configuration.enableMagnifier(aBoolean); |
| 743 | + } |
| 744 | + |
| 745 | + private void configureMeasurementToolSnappingEnabled(Context context,Boolean aBoolean) { |
| 746 | + PSPDFKitPreferences.get(context).setMeasurementSnappingEnabled(aBoolean); |
| 747 | + } |
| 748 | + |
714 | 749 | private <T> boolean containsKeyOfType(@NonNull HashMap<String, Object> configurationMap, |
715 | 750 | @NonNull String key, |
716 | 751 | @NonNull Class<T> clazz) { |
|
0 commit comments