Skip to content

Commit 45fb3b6

Browse files
committed
populate mode tools according to found valid subfolders
1 parent 25bb629 commit 45fb3b6

File tree

1 file changed

+29
-17
lines changed

1 file changed

+29
-17
lines changed

mode/src/processing/mode/android/AndroidEditor.java

Lines changed: 29 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
import java.io.File;
4848
import java.io.IOException;
4949
import java.util.ArrayList;
50-
import java.util.Collections;
50+
import java.util.Arrays;
5151
import java.util.List;
5252
import java.util.TimerTask;
5353

@@ -589,30 +589,42 @@ private void loadModeSettings() {
589589
private List<AndroidTool> loadAndroidTools() {
590590
// This gets called before assigning mode to androidMode...
591591
ArrayList<AndroidTool> outgoing = new ArrayList<AndroidTool>();
592-
File toolPath = new File(androidMode.getFolder(), "tools/SDKUpdater");
593-
AndroidTool tool = null;
594592

595-
// List<Mode> modes = base.getModeList();
596-
// Mode defMode = modes.get(0);
597-
598-
try {
599-
600-
tool = new AndroidTool(toolPath, androidMode);
601-
tool.init(base);
602-
outgoing.add(tool);
603-
} catch (Throwable e) {
604-
e.printStackTrace();
605-
}
606-
Collections.sort(outgoing);
593+
File folder = new File(androidMode.getFolder(), "tools");
594+
String[] list = folder.list();
595+
if (list == null) {
596+
return outgoing;
597+
}
598+
599+
Arrays.sort(list, String.CASE_INSENSITIVE_ORDER);
600+
for (String name : list) {
601+
if (name.charAt(0) == '.') {
602+
continue;
603+
}
604+
605+
File toolPath = new File(folder, name);
606+
if (toolPath.isDirectory()) {
607+
File jarPath = new File(toolPath, "tool" + File.separator + name + ".jar");
608+
if (jarPath.exists()) {
609+
try {
610+
AndroidTool tool = new AndroidTool(toolPath, androidMode);
611+
tool.init(base);
612+
outgoing.add(tool);
613+
} catch (Throwable e) {
614+
e.printStackTrace();
615+
}
616+
}
617+
}
618+
}
619+
607620
return outgoing;
608621
}
609622

610623
private void addToolsToMenu() {
611624
JMenuItem item;
612625

613626
for (final Tool tool : androidTools) {
614-
// item = new JMenuItem(AndroidMode.getTextString(tool.getMenuTitle()));
615-
item = new JMenuItem(tool.getMenuTitle());
627+
item = new JMenuItem(AndroidMode.getTextString(tool.getMenuTitle()));
616628
item.addActionListener(new ActionListener() {
617629
public void actionPerformed(ActionEvent e) {
618630
tool.run();

0 commit comments

Comments
 (0)