Skip to content

Commit cacbba1

Browse files
committed
Add nullability annotations
Signed-off-by: Simone Arpe <[email protected]>
1 parent 861d26e commit cacbba1

File tree

1 file changed

+52
-20
lines changed

1 file changed

+52
-20
lines changed

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

Lines changed: 52 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@
2929
import java.util.EnumSet;
3030
import java.util.HashMap;
3131

32+
import static com.pspdfkit.flutter.pspdfkit.util.Preconditions.requireNotNullNotEmpty;
33+
import static io.flutter.util.Preconditions.checkNotNull;
34+
3235
class ConfigurationAdapter {
3336
private static final String LOG_TAG = "ConfigurationAdapter";
3437

@@ -76,7 +79,7 @@ class ConfigurationAdapter {
7679
private static final String SETTINGS_MENU_ITEMS = "settingsMenuItems";
7780
private static final String SHOW_ACTION_NAVIGATION_BUTTONS = "showActionNavigationButtons";
7881

79-
private final PdfActivityConfiguration.Builder configuration;
82+
@NonNull private final PdfActivityConfiguration.Builder configuration;
8083
@Nullable private String password = null;
8184

8285
ConfigurationAdapter(@NonNull Context context,
@@ -187,7 +190,8 @@ private void configureShowPageNumberOverlay(boolean showPageNumberOverlay) {
187190
}
188191
}
189192

190-
private void configurePageScrollDirection(final String pageScrollDirection) {
193+
private void configurePageScrollDirection(@NonNull final String pageScrollDirection) {
194+
requireNotNullNotEmpty(pageScrollDirection, "pageScrollDirection");
191195
if (pageScrollDirection.equals(PAGE_SCROLL_DIRECTION_HORIZONTAL)) {
192196
configuration.scrollDirection(PageScrollDirection.HORIZONTAL);
193197
} else if (pageScrollDirection.equals(PAGE_SCROLL_DIRECTION_VERTICAL)) {
@@ -214,16 +218,25 @@ private void configureStartPage(int startPage) {
214218
configuration.page(startPage);
215219
}
216220

217-
private void configureUserInterfaceViewMode(String userInterfaceViewMode) {
218-
UserInterfaceViewMode result = UserInterfaceViewMode.USER_INTERFACE_VIEW_MODE_AUTOMATIC;
219-
if (userInterfaceViewMode.equals(USER_INTERFACE_VIEW_MODE_AUTOMATIC)) {
220-
result = UserInterfaceViewMode.USER_INTERFACE_VIEW_MODE_AUTOMATIC;
221-
} else if (userInterfaceViewMode.equals(USER_INTERFACE_VIEW_MODE_AUTOMATIC_BORDER_PAGES)) {
222-
result = UserInterfaceViewMode.USER_INTERFACE_VIEW_MODE_AUTOMATIC_BORDER_PAGES;
223-
} else if (userInterfaceViewMode.equals(USER_INTERFACE_VIEW_MODE_ALWAYS_VISIBLE)) {
224-
result = UserInterfaceViewMode.USER_INTERFACE_VIEW_MODE_VISIBLE;
225-
} else if (userInterfaceViewMode.equals(USER_INTERFACE_VIEW_MODE_ALWAYS_HIDDEN)) {
226-
result = UserInterfaceViewMode.USER_INTERFACE_VIEW_MODE_HIDDEN;
221+
private void configureUserInterfaceViewMode(@NonNull String userInterfaceViewMode) {
222+
requireNotNullNotEmpty(userInterfaceViewMode, "userInterfaceViewMode");
223+
224+
UserInterfaceViewMode result;
225+
switch (userInterfaceViewMode) {
226+
case USER_INTERFACE_VIEW_MODE_AUTOMATIC:
227+
result = UserInterfaceViewMode.USER_INTERFACE_VIEW_MODE_AUTOMATIC;
228+
break;
229+
case USER_INTERFACE_VIEW_MODE_AUTOMATIC_BORDER_PAGES:
230+
result = UserInterfaceViewMode.USER_INTERFACE_VIEW_MODE_AUTOMATIC_BORDER_PAGES;
231+
break;
232+
case USER_INTERFACE_VIEW_MODE_ALWAYS_VISIBLE:
233+
result = UserInterfaceViewMode.USER_INTERFACE_VIEW_MODE_VISIBLE;
234+
break;
235+
case USER_INTERFACE_VIEW_MODE_ALWAYS_HIDDEN:
236+
result = UserInterfaceViewMode.USER_INTERFACE_VIEW_MODE_HIDDEN;
237+
break;
238+
default:
239+
throw new IllegalArgumentException("Undefined user interface view mode for " + userInterfaceViewMode);
227240
}
228241
configuration.setUserInterfaceViewMode(result);
229242
}
@@ -240,7 +253,9 @@ private void configureImmersiveMode(boolean immersiveMode) {
240253
configuration.useImmersiveMode(immersiveMode);
241254
}
242255

243-
private void configureShowThumbnailBar(String showThumbnailBar) {
256+
private void configureShowThumbnailBar(@NonNull String showThumbnailBar) {
257+
requireNotNullNotEmpty(showThumbnailBar, "showThumbnailBar");
258+
244259
ThumbnailBarMode thumbnailBarMode;
245260
switch (showThumbnailBar) {
246261
case SHOW_THUMBNAIL_BAR_FLOATING:
@@ -365,24 +380,34 @@ private void configureDocumentInfoView(boolean enableDocumentInfoView) {
365380
}
366381
}
367382

368-
private void configureThemeMode(String themeMode) {
369-
ThemeMode result = ThemeMode.DEFAULT;
383+
private void configureThemeMode(@NonNull String themeMode) {
384+
requireNotNullNotEmpty(themeMode, "themeMode");
385+
386+
ThemeMode result;
370387
if (themeMode.equals(APPEARANCE_MODE_DEFAULT)) {
371388
result = ThemeMode.DEFAULT;
372389
} else if (themeMode.equals(APPEARANCE_MODE_NIGHT)) {
373390
result = ThemeMode.NIGHT;
391+
} else {
392+
throw new IllegalArgumentException("Undefined theme mode for " + themeMode);
374393
}
375394
configuration.themeMode(result);
376395
}
377396

378-
private void configureDarkThemeRes(String darkThemeResource, Context context) {
397+
private void configureDarkThemeRes(@NonNull String darkThemeResource, @NonNull Context context) {
398+
requireNotNullNotEmpty(darkThemeResource, "darkThemeResource");
399+
checkNotNull(context);
400+
379401
@StyleRes int darkThemeId = getStyleResourceId(darkThemeResource, context);
380402
if (darkThemeId != 0) {
381403
configuration.themeDark(darkThemeId);
382404
}
383405
}
384406

385-
private void configureDefaultThemeRes(String defaultThemeResource, Context context) {
407+
private void configureDefaultThemeRes(@NonNull String defaultThemeResource, @NonNull Context context) {
408+
requireNotNullNotEmpty(defaultThemeResource, "defaultThemeResource");
409+
checkNotNull(context);
410+
386411
@StyleRes int defaultThemeId = getStyleResourceId(defaultThemeResource, context);
387412
if (defaultThemeId != 0) {
388413
configuration.theme(defaultThemeId);
@@ -397,15 +422,20 @@ private void configureShowNavigationButtons(boolean showNavigationButtons) {
397422
}
398423
}
399424

400-
private static int getStyleResourceId(String styleName, Context context) {
425+
private static int getStyleResourceId(@NonNull String styleName, @NonNull Context context) {
426+
requireNotNullNotEmpty(styleName, "styleName");
427+
checkNotNull(context);
428+
401429
int resourceId = context.getResources().getIdentifier(styleName, "style", context.getPackageName());
402430
if (resourceId == 0) {
403431
Log.e(LOG_TAG, String.format("Style resource not found for %s", styleName));
404432
}
405433
return resourceId;
406434
}
407435

408-
private <T> void configureSettingsMenuItems(ArrayList<T> settingsMenuItems) {
436+
private <T> void configureSettingsMenuItems(@NonNull ArrayList<T> settingsMenuItems) {
437+
checkNotNull(settingsMenuItems);
438+
409439
EnumSet<SettingsMenuItemType> settingsMenuItemTypes = EnumSet.noneOf(SettingsMenuItemType.class);
410440
for (T settingsMenuItem : settingsMenuItems) {
411441
if (!(settingsMenuItem instanceof String)) {
@@ -429,7 +459,9 @@ private <T> void configureSettingsMenuItems(ArrayList<T> settingsMenuItems) {
429459
configuration.setSettingsMenuItems(settingsMenuItemTypes);
430460
}
431461

432-
private <T> boolean containsKeyOfType(HashMap<String, Object> configurationMap, String key, Class<T> clazz) {
462+
private <T> boolean containsKeyOfType(@NonNull HashMap<String, Object> configurationMap,
463+
@NonNull String key,
464+
@NonNull Class<T> clazz) {
433465
if (configurationMap.get(key) != null) {
434466
checkCast(configurationMap.get(key), clazz, key);
435467
return true;

0 commit comments

Comments
 (0)