diff --git a/arduino-core/src/cc/arduino/contributions/libraries/LibrariesIndexer.java b/arduino-core/src/cc/arduino/contributions/libraries/LibrariesIndexer.java index 12d7f1bb8..fe0776e68 100644 --- a/arduino-core/src/cc/arduino/contributions/libraries/LibrariesIndexer.java +++ b/arduino-core/src/cc/arduino/contributions/libraries/LibrariesIndexer.java @@ -52,6 +52,7 @@ import java.io.InputStream; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.Optional; import static processing.app.I18n.tr; @@ -151,8 +152,11 @@ public class LibrariesIndexer { .filter(l -> l.getTypes().contains("Contributed")) // .filter(l -> l.getLocation() == Location.CORE || l.getLocation() == Location.REFERENCED_CORE) // .forEach(l -> { - ContributedPlatform platform = BaseNoGui.indexer.getPlatformByFolder(l.getInstalledFolder()); - l.setTypes(Collections.singletonList(platform.getCategory())); + File libFolder = l.getInstalledFolder(); + Optional platform = BaseNoGui.indexer.getPlatformByFolder(libFolder); + if (platform.isPresent()) { + l.setTypes(Collections.singletonList(platform.get().getCategory())); + } }); } diff --git a/arduino-core/src/cc/arduino/contributions/packages/ContributionsIndexer.java b/arduino-core/src/cc/arduino/contributions/packages/ContributionsIndexer.java index 607d2bfde..1ec4c365f 100644 --- a/arduino-core/src/cc/arduino/contributions/packages/ContributionsIndexer.java +++ b/arduino-core/src/cc/arduino/contributions/packages/ContributionsIndexer.java @@ -461,13 +461,11 @@ public class ContributionsIndexer { return index.getInstalledPlatforms(); } - public ContributedPlatform getPlatformByFolder(final File folder) { - Optional platformOptional = getInstalledPlatforms().stream().filter(contributedPlatform -> { + public Optional getPlatformByFolder(final File folder) { + return getInstalledPlatforms().stream().filter(contributedPlatform -> { assert contributedPlatform.getInstalledFolder() != null; return FileUtils.isSubDirectory(contributedPlatform.getInstalledFolder(), folder); }).findFirst(); - - return platformOptional.orElse(null); } public ContributedPlatform getContributedPlaform(TargetPlatform targetPlatform) {