Change-Id: I9df0f0491fa96ecb4c8f46125d987179f3aefc2f

Former-commit-id: c4b3411f4d5f7632e3c804316bd5959d16cc97f0
This commit is contained in:
David Friedman 2014-01-29 20:23:05 +00:00
parent f10f6d4e8a
commit e18c49ea72

View file

@ -84,6 +84,7 @@ import com.vividsolutions.jts.geom.LineString;
* 10-21-09 #1711 bsteffen Initial Creation * 10-21-09 #1711 bsteffen Initial Creation
* 04-07-10 #4614 randerso Reworked to use localization files * 04-07-10 #4614 randerso Reworked to use localization files
* 07-11-12 #875 rferrel Move points to PointsDataManager. * 07-11-12 #875 rferrel Move points to PointsDataManager.
* 01-29-14 DR 16351 D. Friedman Fix updates to storm track from preferences.
* *
* </pre> * </pre>
* *
@ -136,6 +137,8 @@ public class ToolsDataManager implements ILocalizationFileObserver,
private Object stormLock = new Object(); private Object stormLock = new Object();
private boolean stormTrackDirty = false;
private String site; private String site;
private LocalizationFile userToolsDir; private LocalizationFile userToolsDir;
@ -232,7 +235,7 @@ public class ToolsDataManager implements ILocalizationFileObserver,
public StormTrackData getStormTrackData() { public StormTrackData getStormTrackData() {
synchronized (stormLock) { synchronized (stormLock) {
if (stormData == null) { if (stormData == null || stormTrackDirty) {
loadStormData(); loadStormData();
} }
return new StormTrackData(stormData); return new StormTrackData(stormData);
@ -268,6 +271,7 @@ public class ToolsDataManager implements ILocalizationFileObserver,
if (points != null) { if (points != null) {
setCoordinates(stormData, points); setCoordinates(stormData, points);
} }
stormTrackDirty = false;
} }
private void setCoordinates(StormTrackData data, String[] points) { private void setCoordinates(StormTrackData data, String[] points) {
@ -664,6 +668,11 @@ public class ToolsDataManager implements ILocalizationFileObserver,
} else if (P_STORMTRACK_SPEED.equals(key) } else if (P_STORMTRACK_SPEED.equals(key)
&& value instanceof Double) { && value instanceof Double) {
stormData.setMotionSpeed((Double) value); stormData.setMotionSpeed((Double) value);
} else {
/* Incompatible value indicates update from preference
* store. We will want to reload.
*/
stormTrackDirty = true;
} }
} }