18 |
|
|
19 |
final static int CACHE_TIMEOUT = 60*1000; |
final static int CACHE_TIMEOUT = 60*1000; |
20 |
|
|
21 |
AndroidTimeoutCache<String,List<TimetableBean>> departureCache = new AndroidTimeoutCache<String,List<TimetableBean>>(CACHE_TIMEOUT); |
AndroidTimeoutCache<String,List<TimetableBean>> timetableCache = new AndroidTimeoutCache<String,List<TimetableBean>>(CACHE_TIMEOUT); |
22 |
|
|
23 |
@Override |
@Override |
24 |
public List<TimetableBean> lookupTimetable(String type, String trainID) { |
public List<TimetableBean> lookupTimetable(String type, String trainID) { |
26 |
String trainNumber = extractTrainNumber(trainID); |
String trainNumber = extractTrainNumber(trainID); |
27 |
|
|
28 |
String key = type + "-" + trainID; |
String key = type + "-" + trainID; |
29 |
List<TimetableBean> timetables = departureCache.get(key); |
List<TimetableBean> timetables = timetableCache.get(key); |
30 |
|
|
31 |
if (timetables == null) { |
if (timetables == null) { |
32 |
timetables = lookupTimetableWorker(type, trainNumber); |
timetables = lookupTimetableWorker(type, trainNumber); |
33 |
|
|
34 |
if (timetables != null) { |
if (timetables != null) { |
35 |
departureCache.put(key, timetables); |
timetableCache.put(key, timetables); |
36 |
} |
} |
37 |
|
|
38 |
} else { |
} else { |