forked from upstream-mirrors/OpenTracks
Enable calorie in AggregatedStats and MarkerDetail page
This commit is contained in:
@@ -19,6 +19,7 @@ package com.google.android.apps.mytracks;
|
|||||||
import com.google.android.apps.mytracks.content.MyTracksProviderUtils;
|
import com.google.android.apps.mytracks.content.MyTracksProviderUtils;
|
||||||
import com.google.android.apps.mytracks.content.Track;
|
import com.google.android.apps.mytracks.content.Track;
|
||||||
import com.google.android.apps.mytracks.stats.TripStatistics;
|
import com.google.android.apps.mytracks.stats.TripStatistics;
|
||||||
|
import com.google.android.apps.mytracks.util.CalorieUtils.ActivityType;
|
||||||
import com.google.android.apps.mytracks.util.StatsUtils;
|
import com.google.android.apps.mytracks.util.StatsUtils;
|
||||||
import com.google.android.maps.mytracks.R;
|
import com.google.android.maps.mytracks.R;
|
||||||
|
|
||||||
@@ -36,7 +37,8 @@ public class AggregatedStatsActivity extends AbstractMyTracksActivity {
|
|||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
StatsUtils.setTripStatisticsValues(this, this, null, getTripStatistics(), null);
|
StatsUtils.setTripStatisticsValues(
|
||||||
|
this, this, null, getTripStatistics(), ActivityType.WALKING, null);
|
||||||
StatsUtils.setLocationValues(this, this, null, null, false);
|
StatsUtils.setLocationValues(this, this, null, null, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -22,6 +22,8 @@ import com.google.android.apps.mytracks.content.MyTracksProviderUtils;
|
|||||||
import com.google.android.apps.mytracks.content.Track;
|
import com.google.android.apps.mytracks.content.Track;
|
||||||
import com.google.android.apps.mytracks.content.Waypoint;
|
import com.google.android.apps.mytracks.content.Waypoint;
|
||||||
import com.google.android.apps.mytracks.content.Waypoint.WaypointType;
|
import com.google.android.apps.mytracks.content.Waypoint.WaypointType;
|
||||||
|
import com.google.android.apps.mytracks.util.CalorieUtils;
|
||||||
|
import com.google.android.apps.mytracks.util.CalorieUtils.ActivityType;
|
||||||
import com.google.android.apps.mytracks.util.IntentUtils;
|
import com.google.android.apps.mytracks.util.IntentUtils;
|
||||||
import com.google.android.apps.mytracks.util.PhotoUtils;
|
import com.google.android.apps.mytracks.util.PhotoUtils;
|
||||||
import com.google.android.apps.mytracks.util.StatsUtils;
|
import com.google.android.apps.mytracks.util.StatsUtils;
|
||||||
@@ -279,8 +281,12 @@ public class MarkerDetailFragment extends Fragment {
|
|||||||
TextView name = (TextView) getView().findViewById(R.id.marker_detail_statistics_name);
|
TextView name = (TextView) getView().findViewById(R.id.marker_detail_statistics_name);
|
||||||
setTextView(name, waypoint.getName());
|
setTextView(name, waypoint.getName());
|
||||||
|
|
||||||
|
Track track = myTracksProviderUtils.getTrack(waypoint.getTrackId());
|
||||||
|
ActivityType activityType = track != null ? CalorieUtils.getActivityType(
|
||||||
|
getActivity(), track.getCategory())
|
||||||
|
: ActivityType.INVALID;
|
||||||
StatsUtils.setTripStatisticsValues(
|
StatsUtils.setTripStatisticsValues(
|
||||||
getActivity(), null, getView(), waypoint.getTripStatistics(), null);
|
getActivity(), null, getView(), waypoint.getTripStatistics(), activityType, null);
|
||||||
StatsUtils.setLocationValues(getActivity(), null, getView(), waypoint.getLocation(), false);
|
StatsUtils.setLocationValues(getActivity(), null, getView(), waypoint.getLocation(), false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,6 +23,8 @@ import com.google.android.apps.mytracks.content.TrackDataListener;
|
|||||||
import com.google.android.apps.mytracks.content.TrackDataType;
|
import com.google.android.apps.mytracks.content.TrackDataType;
|
||||||
import com.google.android.apps.mytracks.content.Waypoint;
|
import com.google.android.apps.mytracks.content.Waypoint;
|
||||||
import com.google.android.apps.mytracks.stats.TripStatistics;
|
import com.google.android.apps.mytracks.stats.TripStatistics;
|
||||||
|
import com.google.android.apps.mytracks.util.CalorieUtils;
|
||||||
|
import com.google.android.apps.mytracks.util.CalorieUtils.ActivityType;
|
||||||
import com.google.android.apps.mytracks.util.LocationUtils;
|
import com.google.android.apps.mytracks.util.LocationUtils;
|
||||||
import com.google.android.apps.mytracks.util.PreferencesUtils;
|
import com.google.android.apps.mytracks.util.PreferencesUtils;
|
||||||
import com.google.android.apps.mytracks.util.StatsUtils;
|
import com.google.android.apps.mytracks.util.StatsUtils;
|
||||||
@@ -289,7 +291,10 @@ public class StatsFragment extends Fragment implements TrackDataListener {
|
|||||||
* Updates the UI.
|
* Updates the UI.
|
||||||
*/
|
*/
|
||||||
private void updateUi(FragmentActivity activity) {
|
private void updateUi(FragmentActivity activity) {
|
||||||
StatsUtils.setTripStatisticsValues(activity, activity, null, lastTripStatistics, category);
|
ActivityType activityType = CalorieUtils.getActivityType(activity, category);
|
||||||
|
String trackIconValue = TrackIconUtils.getIconValue(activity, category);
|
||||||
|
StatsUtils.setTripStatisticsValues(
|
||||||
|
activity, activity, null, lastTripStatistics, activityType, trackIconValue);
|
||||||
StatsUtils.setLocationValues(
|
StatsUtils.setLocationValues(
|
||||||
activity, activity, null, lastLocation, isSelectedTrackRecording());
|
activity, activity, null, lastLocation, isSelectedTrackRecording());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -126,9 +126,12 @@ public class StatsUtils {
|
|||||||
* @param view the containing view for finding views. If null, the activity
|
* @param view the containing view for finding views. If null, the activity
|
||||||
* cannot be null
|
* cannot be null
|
||||||
* @param tripStatistics the trip statistics
|
* @param tripStatistics the trip statistics
|
||||||
|
* @param activityType the activity type
|
||||||
|
* @param trackIconValue the track icon value or null to hide the track icon
|
||||||
|
* spinner
|
||||||
*/
|
*/
|
||||||
public static void setTripStatisticsValues(
|
public static void setTripStatisticsValues(Context context, Activity activity, View view,
|
||||||
Context context, Activity activity, View view, TripStatistics tripStatistics, String category) {
|
TripStatistics tripStatistics, ActivityType activityType, String trackIconValue) {
|
||||||
boolean metricUnits = PreferencesUtils.isMetricUnits(context);
|
boolean metricUnits = PreferencesUtils.isMetricUnits(context);
|
||||||
boolean reportSpeed = PreferencesUtils.isReportSpeed(context);
|
boolean reportSpeed = PreferencesUtils.isReportSpeed(context);
|
||||||
|
|
||||||
@@ -138,15 +141,14 @@ public class StatsUtils {
|
|||||||
context, getView(activity, view, R.id.stats_distance), totalDistance, metricUnits);
|
context, getView(activity, view, R.id.stats_distance), totalDistance, metricUnits);
|
||||||
|
|
||||||
// Set calorie
|
// Set calorie
|
||||||
ActivityType activityType = CalorieUtils.getActivityType(context, category);
|
|
||||||
double calorie = tripStatistics == null || activityType == ActivityType.INVALID ? Double.NaN
|
double calorie = tripStatistics == null || activityType == ActivityType.INVALID ? Double.NaN
|
||||||
: tripStatistics.getCalorie();
|
: tripStatistics.getCalorie();
|
||||||
setCalorie(context, getView(activity, view, R.id.stats_calorie), calorie);
|
setCalorie(context, getView(activity, view, R.id.stats_calorie), calorie);
|
||||||
|
|
||||||
Spinner spinner = (Spinner) getView(activity, view, R.id.stats_activity_type_icon);
|
Spinner spinner = (Spinner) getView(activity, view, R.id.stats_activity_type_icon);
|
||||||
spinner.setVisibility(category != null ? View.VISIBLE : View.GONE);
|
spinner.setVisibility(trackIconValue != null ? View.VISIBLE : View.GONE);
|
||||||
if (category != null) {
|
if (trackIconValue != null) {
|
||||||
TrackIconUtils.setIconSpinner(spinner, TrackIconUtils.getIconValue(context, category));
|
TrackIconUtils.setIconSpinner(spinner, trackIconValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set total time
|
// Set total time
|
||||||
|
|||||||
@@ -142,6 +142,9 @@ public class TrackIconUtils {
|
|||||||
* @param activityType the activity type
|
* @param activityType the activity type
|
||||||
*/
|
*/
|
||||||
public static String getIconValue(Context context, String activityType) {
|
public static String getIconValue(Context context, String activityType) {
|
||||||
|
if (activityType == null || activityType.equals("")) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
if (inList(context, activityType, airplane)) {
|
if (inList(context, activityType, airplane)) {
|
||||||
return AIRPLANE;
|
return AIRPLANE;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user