--- android/TrainInfoService/src/dk/thoerup/traininfoservice/banedk/DepartureBean.java 2009/09/10 18:13:52 308 +++ android/TrainInfoService/src/dk/thoerup/traininfoservice/banedk/DepartureBean.java 2009/09/30 19:49:25 373 @@ -62,15 +62,55 @@ @Override public int compareTo(DepartureBean otherBean) { + String timeStr1 = time.replace(":","").trim(); + String timeStr2 = otherBean.time.replace(":","").trim(); - int time1 = Integer.parseInt(time.replace(":", "")); - int time2 = Integer.parseInt(otherBean.time.replace(":", "")); - if (time1 > time2) - return 1; - else - return -1; + int time1 = 0; + int time2 = 0; + + if (timeStr1.length() > 0) + time1 = Integer.parseInt(timeStr1); + + if (timeStr2.length() > 0) + time2 = Integer.parseInt(timeStr2); + + //work correctly when clock wraps around at midnight + if (Math.abs(time1-time2) < 1200) { + if (time1 > time2) + return 1; + else + return -1; + } else { + if (time1 < time2) + return 1; + else + return -1; + + } } + public String getUpdatedString() { + String updStr; + + switch (updated) { + case 1: + updStr = "< 3 min"; + break; + case 2: + updStr = "3-10 min"; + break; + case 3: + updStr = "> 10 min"; + break; + case 4: + updStr = "No info"; + break; + default: + updStr = "Unknown:" + updated; + } + + return updStr; + } }