[android] Made that all altitudes values will be in lower units, meters or feets

This commit is contained in:
Александр Зацепин 2020-03-26 19:54:35 +03:00 committed by Vladimir Byko-Ianko
parent 1d138719f5
commit a2155f8e3f
4 changed files with 20 additions and 18 deletions

View file

@ -25,7 +25,6 @@ import com.mapswithme.maps.bookmarks.data.ElevationInfo;
import com.mapswithme.maps.widget.placepage.AxisValueFormatter;
import com.mapswithme.maps.widget.placepage.CurrentLocationMarkerView;
import com.mapswithme.maps.widget.placepage.FloatingMarkerView;
import com.mapswithme.util.StringUtils;
import com.mapswithme.util.ThemeUtils;
import com.mapswithme.util.Utils;
@ -178,8 +177,8 @@ public class ChartController implements OnChartValueSelectedListener, Initializa
mChart.setData(data);
mChart.animateX(CHART_ANIMATION_DURATION);
mMinAltitude.setText(StringUtils.nativeFormatDistance(info.getMinAltitude()));
mMaxAltitude.setText(StringUtils.nativeFormatDistance(info.getMaxAltitude()));
mMinAltitude.setText(Framework.nativeFormatAltitude(info.getMinAltitude()));
mMaxAltitude.setText(Framework.nativeFormatAltitude(info.getMaxAltitude()));
highlightActivePointManually();
}

View file

@ -3,13 +3,13 @@ package com.mapswithme.maps.widget.placepage;
import androidx.annotation.NonNull;
import com.github.mikephil.charting.charts.BarLineChartBase;
import com.github.mikephil.charting.formatter.DefaultValueFormatter;
import com.mapswithme.maps.Framework;
import com.mapswithme.util.StringUtils;
public class AxisValueFormatter extends DefaultValueFormatter
{
private static final String DEF_DIMEN = "m";
private static final int DEF_DIGITS = 1;
private static final int DISTANCE_FOR_METER_FORMAT = 1000;
private static final int ONE_KM = 1000;
@NonNull
private final BarLineChartBase mChart;
@ -22,9 +22,9 @@ public class AxisValueFormatter extends DefaultValueFormatter
@Override
public String getFormattedValue(float value)
{
if (mChart.getVisibleXRange() > DISTANCE_FOR_METER_FORMAT)
return StringUtils.nativeFormatDistance(value);
if (mChart.getVisibleXRange() <= ONE_KM)
return Framework.nativeFormatAltitude(value);
return (int) value + " " + DEF_DIMEN;
return StringUtils.nativeFormatDistance(value);
}
}

View file

@ -1,7 +1,5 @@
package com.mapswithme.maps.widget.placepage;
import android.annotation.SuppressLint;
import android.content.res.Resources;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
@ -9,6 +7,7 @@ import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.mapswithme.maps.ChartController;
import com.mapswithme.maps.Framework;
import com.mapswithme.maps.R;
import com.mapswithme.maps.bookmarks.data.ElevationInfo;
import com.mapswithme.maps.routing.RoutingController;
@ -57,26 +56,29 @@ public class ElevationProfileViewRenderer implements PlacePageViewRenderer<Place
@NonNull
private View mMediumDivider;
@SuppressLint("SetTextI18n")
@Override
public void render(@NonNull PlacePageData data)
{
mElevationInfo = (ElevationInfo) data;
mChartController.setData(mElevationInfo);
Resources resources = mTitle.getResources();
String meters = " " + resources.getString(R.string.elevation_profile_m);
mTitle.setText(mElevationInfo.getName());
setDifficulty(mElevationInfo.getDifficulty());
mAscent.setText(mElevationInfo.getAscent() + meters);
mDescent.setText(mElevationInfo.getDescent() + meters);
mMaxAltitude.setText(mElevationInfo.getMaxAltitude() + meters);
mMinAltitude.setText(mElevationInfo.getMinAltitude() + meters);
mAscent.setText(formatDistance(mElevationInfo.getAscent()));
mDescent.setText(formatDistance(mElevationInfo.getDescent()));
mMaxAltitude.setText(formatDistance(mElevationInfo.getMaxAltitude()));
mMinAltitude.setText(formatDistance(mElevationInfo.getMinAltitude()));
UiUtils.hideIf(mElevationInfo.getDuration() == 0, mTimeContainer);
mTime.setText(RoutingController.formatRoutingTime(mTitle.getContext(),
(int) mElevationInfo.getDuration(),
R.dimen.text_size_body_2));
}
@NonNull
private static String formatDistance(int distance)
{
return Framework.nativeFormatAltitude(distance);
}
@Override
public void initialize(@Nullable View view)
{

View file

@ -12,6 +12,7 @@ import com.github.mikephil.charting.components.MarkerView;
import com.github.mikephil.charting.data.Entry;
import com.github.mikephil.charting.highlight.Highlight;
import com.github.mikephil.charting.utils.MPPointF;
import com.mapswithme.maps.Framework;
import com.mapswithme.maps.R;
import com.mapswithme.util.StringUtils;
@ -135,7 +136,7 @@ public class FloatingMarkerView extends MarkerView
{
mDistanceTextView.setText(R.string.elevation_profile_distance);
mDistanceValueView.setText(StringUtils.nativeFormatDistance(entry.getX()));
mAltitudeView.setText(StringUtils.nativeFormatDistance(entry.getY()));
mAltitudeView.setText(Framework.nativeFormatAltitude(entry.getY()));
}
private void updateHorizontal(@NonNull Highlight highlight)