private Timestamp _timestamp = null;
/** Attached photo */
private Photo _photo = null;
- /** Attached audio file */
- private AudioFile _audio = null;
+ /** Attached audio clip */
+ private AudioClip _audio = null;
private String _waypointName = null;
private boolean _startOfSegment = false;
private boolean _markedForDeletion = false;
_fieldValues = inValueArray;
// save list of fields
_fieldList = inFieldList;
+ // Remove double quotes around values
+ removeQuotes(_fieldValues);
// parse fields into objects
parseFields(null, inAltFormat);
}
}
else {
// use default altitude format from config
- parseFields(inField, Config.getConfigBoolean(Config.KEY_METRIC_UNITS)?Altitude.Format.METRES:Altitude.Format.FEET);
+ parseFields(inField, Config.getUnitSet().getDefaultAltitudeFormat());
}
}
}
/**
- * Set the audio file for this point
+ * Set the audio clip for this point
* @param inAudio audio object
*/
- public void setAudio(AudioFile inAudio) {
+ public void setAudio(AudioClip inAudio) {
_audio = inAudio;
_modifyCount++;
}
/**
* @return associated audio object
*/
- public AudioFile getAudio() {
+ public AudioClip getAudio() {
return _audio;
}
/**
* Attach the given media object according to type
- * @param inMedia either a photo or an audio file
+ * @param inMedia either a photo or an audio clip
*/
- public void attachMedia(MediaFile inMedia)
+ public void attachMedia(MediaObject inMedia)
{
if (inMedia != null) {
if (inMedia instanceof Photo) {
setPhoto((Photo) inMedia);
inMedia.setDataPoint(this);
}
- else if (inMedia instanceof AudioFile) {
- setAudio((AudioFile) inMedia);
+ else if (inMedia instanceof AudioClip) {
+ setAudio((AudioClip) inMedia);
inMedia.setDataPoint(this);
}
}
return _photo != null || _audio != null;
}
+ /**
+ * @return name of attached photo and/or audio
+ */
+ public String getMediaName()
+ {
+ String mediaName = null;
+ if (_photo != null) mediaName = _photo.getName();
+ if (_audio != null)
+ {
+ if (mediaName == null) {
+ mediaName = _audio.getName();
+ }
+ else {
+ mediaName = mediaName + ", " + _audio.getName();
+ }
+ }
+ return mediaName;
+ }
+
/**
* Interpolate a set of points between this one and the given one
* @param inEndPoint end point of interpolation
}
+ /**
+ * Remove all single and double quotes surrounding each value
+ * @param inValues array of values
+ */
+ private static void removeQuotes(String[] inValues)
+ {
+ if (inValues == null) {return;}
+ for (int i=0; i<inValues.length; i++)
+ {
+ inValues[i] = removeQuotes(inValues[i]);
+ }
+ }
+
+ /**
+ * Remove any single or double quotes surrounding a value
+ * @param inValue value to modify
+ * @return modified String
+ */
+ private static String removeQuotes(String inValue)
+ {
+ if (inValue == null) {return inValue;}
+ final int len = inValue.length();
+ if (len <= 1) {return inValue;}
+ // get the first and last characters
+ final char firstChar = inValue.charAt(0);
+ final char lastChar = inValue.charAt(len-1);
+ if (firstChar == lastChar)
+ {
+ if (firstChar == '\"' || firstChar == '\'') {
+ return inValue.substring(1, len-1);
+ }
+ }
+ return inValue;
+ }
+
/**
* Get string for debug
* @see java.lang.Object#toString()