.getStringArray();
if (program.getProgramState() != Program.IS_VALID_STATE || (iconPluginArr == null) || (iconPluginArr.length == 0)) {
return new Icon[0];
} else {
PluginProxyManager mng = PluginProxyManager.getInstance();
ArrayList<Icon> iconList = new ArrayList<Icon>();
int info = program.getInfo();
int[] infoBits = ProgramInfoHelper.getInfoBits();
Icon[] infoIcons = ProgramInfoHelper.getInfoIcons();
for (int pluginIdx = 0; pluginIdx < iconPluginArr.length; pluginIdx++) {
if (iconPluginArr[pluginIdx].equals(Settings.INFO_ID)) {
// old style format (with all icons)
if ((info != -1) && (info != 0)) {
for (int i = 0; i < infoBits.length; i++) {
if (ProgramInfoHelper.bitSet(info,
infoBits[i])
&& (infoIcons[i] != null)) {
iconList.add(infoIcons[i]);
}
}
}
} else if (iconPluginArr[pluginIdx].equals(Settings.PICTURE_ID)) {
// picture icon
if (mProgram.hasFieldValue(ProgramFieldType.PICTURE_TYPE)) {
iconList.add(new ImageIcon("imgs/Info_HasPicture.png"));
}
} else if (iconPluginArr[pluginIdx].startsWith("FORMAT")) {
// new style format (each icon separately)
if ((info != -1) && (info != 0)) {
int index = Integer.valueOf(iconPluginArr[pluginIdx].substring(7));
if (ProgramInfoHelper.bitSet(info,
infoBits[index])
&& (infoIcons[index] != null)) {
iconList.add(infoIcons[index]);
}
}
} else {
// plugin icons
PluginProxy plugin = mng.getPluginForId(iconPluginArr[pluginIdx]);
// Check whether this entry still uses the old class name
if (plugin == null) {
String asId = "java." + iconPluginArr[pluginIdx];
plugin = mng.getPluginForId(asId);
if (plugin != null) {
// It was the old class name, not an ID
// -> Change the class name to an ID and save it
iconPluginArr[pluginIdx] = asId;