+import java.util.Collections;
+import java.util.Comparator;
import java.util.ArrayList;
+ Collections.sort(pcbaItems, new SortByResult());
class SortByResult implements Comparator {
public int compare(Object o1, Object o2) {
TestItem s1 = (TestItem) o1;
TestItem s2 = (TestItem) o2;
Config config = Config.getInstance(getActivity());
if(config.getPCBAFlag(s1.flagIndex) == config.getPCBAFlag(s2.flagIndex)){
if(s1.flagIndex>s2.flagIndex)
return 1;
return -1;
}
if(config.getPCBAFlag(s1.flagIndex) != Config.TEST_FLAG_PASS && config.getPCBAFlag(s2.flagIndex) != Config.TEST_FLAG_PASS){
if(config.getPCBAFlag(s1.flagIndex) != Config.TEST_FLAG_NO_TEST && config.getPCBAFlag(s2.flagIndex) == Config.TEST_FLAG_NO_TEST){
return -1;
} else if(config.getPCBAFlag(s1.flagIndex) == Config.TEST_FLAG_NO_TEST && config.getPCBAFlag(s2.flagIndex) != Config.TEST_FLAG_NO_TEST){
return 1;
}
}
if(config.getPCBAFlag(s1.flagIndex) == Config.TEST_FLAG_PASS && config.getPCBAFlag(s2.flagIndex) != Config.TEST_FLAG_PASS){
return 1;
}
if(config.getPCBAFlag(s1.flagIndex) != Config.TEST_FLAG_PASS && config.getPCBAFlag(s2.flagIndex) == Config.TEST_FLAG_PASS){
return -1;
}
return -1;
}
}
+import java.util.Comparator;
import java.util.ArrayList;
+ Collections.sort(pcbaItems, new SortByResult());
class SortByResult implements Comparator {
public int compare(Object o1, Object o2) {
TestItem s1 = (TestItem) o1;
TestItem s2 = (TestItem) o2;
Config config = Config.getInstance(getActivity());
if(config.getPCBAFlag(s1.flagIndex) == config.getPCBAFlag(s2.flagIndex)){
if(s1.flagIndex>s2.flagIndex)
return 1;
return -1;
}
if(config.getPCBAFlag(s1.flagIndex) != Config.TEST_FLAG_PASS && config.getPCBAFlag(s2.flagIndex) != Config.TEST_FLAG_PASS){
if(config.getPCBAFlag(s1.flagIndex) != Config.TEST_FLAG_NO_TEST && config.getPCBAFlag(s2.flagIndex) == Config.TEST_FLAG_NO_TEST){
return -1;
} else if(config.getPCBAFlag(s1.flagIndex) == Config.TEST_FLAG_NO_TEST && config.getPCBAFlag(s2.flagIndex) != Config.TEST_FLAG_NO_TEST){
return 1;
}
}
if(config.getPCBAFlag(s1.flagIndex) == Config.TEST_FLAG_PASS && config.getPCBAFlag(s2.flagIndex) != Config.TEST_FLAG_PASS){
return 1;
}
if(config.getPCBAFlag(s1.flagIndex) != Config.TEST_FLAG_PASS && config.getPCBAFlag(s2.flagIndex) == Config.TEST_FLAG_PASS){
return -1;
}
return -1;
}
}