Skip to content

Commit 78ad2d5

Browse files
committed
Update Android part to PSPDFKit for Android 6.0
Signed-off-by: Simone Arpe <[email protected]>
1 parent 38ef9b3 commit 78ad2d5

File tree

4 files changed

+29
-15
lines changed

4 files changed

+29
-15
lines changed

android/config.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ if (pspdfkitPassword == null || pspdfkitPassword == '') {
3636

3737
ext.pspdfkitVersion = localProperties.getProperty('pspdfkit.version')
3838
if (pspdfkitVersion == null || pspdfkitVersion == '') {
39-
ext.pspdfkitVersion = '5.5.0'
39+
ext.pspdfkitVersion = '6.0.0'
4040
}
4141

4242
def pspdfkitIsDemo = localProperties.getProperty('pspdfkit.demo')

android/src/main/java/com/pspdfkit/flutter/pspdfkit/ConfigurationAdapter.java

Lines changed: 25 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,8 @@ class ConfigurationAdapter {
4646
private static final String ANDROID_SHOW_SEARCH_ACTION = "showSearchAction";
4747
private static final String INLINE_SEARCH = "inlineSearch";
4848
private static final String SHOW_THUMBNAIL_BAR = "showThumbnailBar";
49-
private static final String SHOW_THUMBNAIL_BAR_DEFAULT = "default";
49+
private static final String SHOW_THUMBNAIL_BAR_FLOATING = "floating";
50+
private static final String SHOW_THUMBNAIL_BAR_PINNED = "pinned";
5051
private static final String SHOW_THUMBNAIL_BAR_SCROLLABLE = "scrollable";
5152
private static final String SHOW_THUMBNAIL_BAR_NONE = "none";
5253
private static final String ANDROID_SHOW_THUMBNAIL_GRID_ACTION = "showThumbnailGridAction";
@@ -78,7 +79,6 @@ class ConfigurationAdapter {
7879
private final PdfActivityConfiguration.Builder configuration;
7980
@Nullable private String password = null;
8081

81-
@SuppressWarnings("ConstantConditions")
8282
ConfigurationAdapter(@NonNull Context context,
8383
@Nullable HashMap<String, Object> configurationMap) {
8484
this.configuration = new PdfActivityConfiguration.Builder(context);
@@ -168,7 +168,7 @@ class ConfigurationAdapter {
168168
configureDefaultThemeRes((String) configurationMap.get(ANDROID_DEFAULT_THEME_RESOURCE), context);
169169
}
170170
if (containsKeyOfType(configurationMap, SETTINGS_MENU_ITEMS, ArrayList.class)) {
171-
configureSettingsMenuItems((ArrayList<String>) configurationMap.get(SETTINGS_MENU_ITEMS));
171+
configureSettingsMenuItems((ArrayList<?>) configurationMap.get(SETTINGS_MENU_ITEMS));
172172
}
173173
if (containsKeyOfType(configurationMap, SHOW_ACTION_NAVIGATION_BUTTONS, Boolean.class)) {
174174
configureShowNavigationButtons((Boolean) configurationMap.get(SHOW_ACTION_NAVIGATION_BUTTONS));
@@ -241,13 +241,22 @@ private void configureImmersiveMode(boolean immersiveMode) {
241241
}
242242

243243
private void configureShowThumbnailBar(String showThumbnailBar) {
244-
ThumbnailBarMode thumbnailBarMode = ThumbnailBarMode.THUMBNAIL_BAR_MODE_DEFAULT;
245-
if (showThumbnailBar.equals(SHOW_THUMBNAIL_BAR_DEFAULT)) {
246-
thumbnailBarMode = ThumbnailBarMode.THUMBNAIL_BAR_MODE_DEFAULT;
247-
} else if (showThumbnailBar.equals(SHOW_THUMBNAIL_BAR_SCROLLABLE)) {
248-
thumbnailBarMode = ThumbnailBarMode.THUMBNAIL_BAR_MODE_SCROLLABLE;
249-
} else if (showThumbnailBar.equals(SHOW_THUMBNAIL_BAR_NONE)) {
250-
thumbnailBarMode = ThumbnailBarMode.THUMBNAIL_BAR_MODE_NONE;
244+
ThumbnailBarMode thumbnailBarMode;
245+
switch (showThumbnailBar) {
246+
case SHOW_THUMBNAIL_BAR_FLOATING:
247+
thumbnailBarMode = ThumbnailBarMode.THUMBNAIL_BAR_MODE_FLOATING;
248+
break;
249+
case SHOW_THUMBNAIL_BAR_PINNED:
250+
thumbnailBarMode = ThumbnailBarMode.THUMBNAIL_BAR_MODE_PINNED;
251+
break;
252+
case SHOW_THUMBNAIL_BAR_SCROLLABLE:
253+
thumbnailBarMode = ThumbnailBarMode.THUMBNAIL_BAR_MODE_SCROLLABLE;
254+
break;
255+
case SHOW_THUMBNAIL_BAR_NONE:
256+
thumbnailBarMode = ThumbnailBarMode.THUMBNAIL_BAR_MODE_NONE;
257+
break;
258+
default:
259+
throw new IllegalArgumentException("Undefined thumbnail bar mode for " + showThumbnailBar);
251260
}
252261
configuration.setThumbnailBarMode(thumbnailBarMode);
253262
}
@@ -396,9 +405,13 @@ private static int getStyleResourceId(String styleName, Context context) {
396405
return resourceId;
397406
}
398407

399-
private void configureSettingsMenuItems(ArrayList<String> settingsMenuItems) {
408+
private <T> void configureSettingsMenuItems(ArrayList<T> settingsMenuItems) {
400409
EnumSet<SettingsMenuItemType> settingsMenuItemTypes = EnumSet.noneOf(SettingsMenuItemType.class);
401-
for (String menuType : settingsMenuItems) {
410+
for (T settingsMenuItem : settingsMenuItems) {
411+
if (!(settingsMenuItem instanceof String)) {
412+
throw new IllegalArgumentException("Provided settingMenuItem " + settingsMenuItem + " must be a String.");
413+
}
414+
String menuType = (String) settingsMenuItem;
402415
if (menuType.equalsIgnoreCase("theme")) {
403416
settingsMenuItemTypes.add(SettingsMenuItemType.THEME);
404417
} else if (menuType.equalsIgnoreCase("screenAwake")) {

example/lib/main.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ class _MyAppState extends State<MyApp> {
119119
userInterfaceViewMode: userInterfaceViewModeAutomaticBorderPages,
120120
androidShowSearchAction: true,
121121
inlineSearch: false,
122-
showThumbnailBar: showThumbnailBarScrollable,
122+
showThumbnailBar: showThumbnailBarFloating,
123123
androidShowThumbnailGridAction: true,
124124
androidShowOutlineAction: true,
125125
androidShowAnnotationListAction: true,

lib/configuration_options.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ const String androidShowSearchAction = "showSearchAction";
3333
const String inlineSearch = "inlineSearch";
3434

3535
const String showThumbnailBar = "showThumbnailBar";
36-
const String showThumbnailBarDefault = "default";
36+
const String showThumbnailBarFloating = "floating";
37+
const String showThumbnailBarPinned = "pinned";
3738
const String showThumbnailBarScrollable = "scrollable";
3839
const String showThumbnailBarNone = "none";
3940

0 commit comments

Comments
 (0)