Modify StringUtils.java to return null if a value is invalid

This commit is contained in:
Jimmy Shih
2013-05-03 11:34:24 -07:00
parent 3303d70c1c
commit f7c5b7f1cc
2 changed files with 20 additions and 5 deletions
@@ -151,7 +151,8 @@ public class StringUtils {
/** /**
* Gets the distance in an array of two strings. The first string is the * Gets the distance in an array of two strings. The first string is the
* distance. The second string is the unit. * distance. The second string is the unit. The first string is null if the
* distance is invalid.
* *
* @param context the context * @param context the context
* @param distance the distance * @param distance the distance
@@ -160,7 +161,7 @@ public class StringUtils {
public static String[] getDistanceParts(Context context, double distance, boolean metricUnits) { public static String[] getDistanceParts(Context context, double distance, boolean metricUnits) {
String[] result = new String[2]; String[] result = new String[2];
if (Double.isNaN(distance) || Double.isInfinite(distance)) { if (Double.isNaN(distance) || Double.isInfinite(distance)) {
result[0] = context.getString(R.string.value_unknown); result[0] = null;
result[1] = context.getString(metricUnits ? R.string.unit_meter : R.string.unit_feet); result[1] = context.getString(metricUnits ? R.string.unit_meter : R.string.unit_feet);
return result; return result;
} }
@@ -222,8 +223,9 @@ public class StringUtils {
} }
/** /**
* Gets the speed in an array of two strings. The first string is the * Gets the speed in an array of two strings. The first string is the speed.
* speed. The second string is the unit. * The second string is the unit. The first string is null if speed is
* invalid.
* *
* @param context the context * @param context the context
* @param speed the speed * @param speed the speed
@@ -241,7 +243,7 @@ public class StringUtils {
} }
result[1] = context.getString(unitId); result[1] = context.getString(unitId);
if (Double.isNaN(speed) || Double.isInfinite(speed)) { if (Double.isNaN(speed) || Double.isInfinite(speed)) {
result[0] = context.getString(R.string.value_unknown); result[0] = null;
return result; return result;
} }
speed *= UnitConversions.MS_TO_KMH; speed *= UnitConversions.MS_TO_KMH;
@@ -314,6 +314,9 @@ public class TrackWidgetProvider extends AppWidgetProvider {
TripStatistics tripStatistics, boolean metricUnits) { TripStatistics tripStatistics, boolean metricUnits) {
double totalDistance = tripStatistics == null ? Double.NaN : tripStatistics.getTotalDistance(); double totalDistance = tripStatistics == null ? Double.NaN : tripStatistics.getTotalDistance();
String[] totalDistanceParts = StringUtils.getDistanceParts(context, totalDistance, metricUnits); String[] totalDistanceParts = StringUtils.getDistanceParts(context, totalDistance, metricUnits);
if (totalDistanceParts[0] == null) {
totalDistanceParts[0] = context.getString(R.string.value_unknown);
}
remoteViews.setTextViewText(ids[0], context.getString(R.string.stats_distance)); remoteViews.setTextViewText(ids[0], context.getString(R.string.stats_distance));
remoteViews.setTextViewText(ids[1], totalDistanceParts[0]); remoteViews.setTextViewText(ids[1], totalDistanceParts[0]);
remoteViews.setTextViewText(ids[2], totalDistanceParts[1]); remoteViews.setTextViewText(ids[2], totalDistanceParts[1]);
@@ -367,6 +370,11 @@ public class TrackWidgetProvider extends AppWidgetProvider {
Double speed = tripStatistics == null ? Double.NaN : tripStatistics.getAverageSpeed(); Double speed = tripStatistics == null ? Double.NaN : tripStatistics.getAverageSpeed();
String[] speedParts = StringUtils.getSpeedParts(context, speed, metricUnits, reportSpeed); String[] speedParts = StringUtils.getSpeedParts(context, speed, metricUnits, reportSpeed);
if (speedParts[0] == null) {
speedParts[0] = context.getString(R.string.value_unknown);
}
remoteViews.setTextViewText(ids[1], speedParts[0]); remoteViews.setTextViewText(ids[1], speedParts[0]);
remoteViews.setTextViewText(ids[2], speedParts[1]); remoteViews.setTextViewText(ids[2], speedParts[1]);
} }
@@ -406,6 +414,11 @@ public class TrackWidgetProvider extends AppWidgetProvider {
Double speed = tripStatistics == null ? Double.NaN : tripStatistics.getAverageMovingSpeed(); Double speed = tripStatistics == null ? Double.NaN : tripStatistics.getAverageMovingSpeed();
String[] speedParts = StringUtils.getSpeedParts(context, speed, metricUnits, reportSpeed); String[] speedParts = StringUtils.getSpeedParts(context, speed, metricUnits, reportSpeed);
if (speedParts[0] == null) {
speedParts[0] = context.getString(R.string.value_unknown);
}
remoteViews.setTextViewText(ids[1], speedParts[0]); remoteViews.setTextViewText(ids[1], speedParts[0]);
remoteViews.setTextViewText(ids[2], speedParts[1]); remoteViews.setTextViewText(ids[2], speedParts[1]);
} }