Skip to content

Commit 3bcbf22

Browse files
author
Federico Fissore
committed
Libraries under "contributed" in lib menu are those that have types "contributed"
1 parent 6e498ee commit 3bcbf22

File tree

2 files changed

+27
-8
lines changed

2 files changed

+27
-8
lines changed

app/src/processing/app/Base.java

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@
2626
import cc.arduino.packages.DiscoveryManager;
2727
import cc.arduino.contributions.packages.ui.ContributionManagerUI;
2828
import cc.arduino.view.SplashScreenHelper;
29+
import com.google.common.base.Predicate;
30+
import com.google.common.base.Predicates;
31+
import com.google.common.collect.Collections2;
2932
import org.apache.commons.lang3.StringUtils;
3033
import processing.app.debug.TargetBoard;
3134
import processing.app.debug.TargetPackage;
@@ -59,6 +62,13 @@
5962
*/
6063
public class Base {
6164

65+
public static final Predicate<UserLibrary> CONTRIBUTED = new Predicate<UserLibrary>() {
66+
@Override
67+
public boolean apply(UserLibrary library) {
68+
return library.getTypes() == null || library.getTypes().isEmpty() || library.getTypes().contains("Contributed");
69+
}
70+
};
71+
6272
static private boolean commandLine;
6373
public static SplashScreenHelper splashScreenHelper = new SplashScreenHelper(SplashScreen.getSplashScreen());
6474

@@ -1012,13 +1022,15 @@ protected void rebuildSketchbookMenu(JMenu menu) {
10121022
}
10131023

10141024
public LibraryList getIDELibs() {
1015-
LibraryList res = new LibraryList(BaseNoGui.librariesIndexer.getInstalledLibraries());
1016-
res.removeAll(getUserLibs());
1017-
return res;
1025+
LibraryList installedLibraries = new LibraryList(BaseNoGui.librariesIndexer.getInstalledLibraries());
1026+
List<UserLibrary> libs = new LinkedList<UserLibrary>(Collections2.filter(new LinkedList<UserLibrary>(installedLibraries), Predicates.not(CONTRIBUTED)));
1027+
return new LibraryList(libs);
10181028
}
10191029

10201030
public LibraryList getUserLibs() {
1021-
return BaseNoGui.getUserLibs();
1031+
LibraryList installedLibraries = new LibraryList(BaseNoGui.librariesIndexer.getInstalledLibraries());
1032+
List<UserLibrary> libs = new LinkedList<UserLibrary>(Collections2.filter(new LinkedList<UserLibrary>(installedLibraries), CONTRIBUTED));
1033+
return new LibraryList(libs);
10221034
}
10231035

10241036
public void rebuildImportMenu(JMenu importMenu) {

arduino-core/src/processing/app/packages/LibraryList.java

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,14 @@
2929
package processing.app.packages;
3030

3131
import java.io.File;
32-
import java.util.ArrayList;
3332
import java.util.Collections;
33+
import java.util.LinkedList;
34+
import java.util.List;
3435

3536
import processing.app.helpers.FileUtils;
3637

3738
@SuppressWarnings("serial")
38-
public class LibraryList extends ArrayList<UserLibrary> {
39+
public class LibraryList extends LinkedList<UserLibrary> {
3940

4041
public LibraryList(LibraryList libs) {
4142
super(libs);
@@ -45,6 +46,10 @@ public LibraryList() {
4546
super();
4647
}
4748

49+
public LibraryList(List<UserLibrary> ideLibs) {
50+
super(ideLibs);
51+
}
52+
4853
public UserLibrary getByName(String name) {
4954
for (UserLibrary l : this)
5055
if (l.getName().equals(name))
@@ -69,9 +74,11 @@ public void sort() {
6974

7075
public LibraryList filterLibrariesInSubfolder(File subFolder) {
7176
LibraryList res = new LibraryList();
72-
for (UserLibrary lib : this)
73-
if (FileUtils.isSubDirectory(subFolder, lib.getInstalledFolder()))
77+
for (UserLibrary lib : this) {
78+
if (FileUtils.isSubDirectory(subFolder, lib.getInstalledFolder())) {
7479
res.add(lib);
80+
}
81+
}
7582
return res;
7683
}
7784
}

0 commit comments

Comments
 (0)