forked from organicmaps/organicmaps
[android] Made that all altitudes values will be in lower units, meters or feets
This commit is contained in:
parent
1d138719f5
commit
a2155f8e3f
4 changed files with 20 additions and 18 deletions
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Add table
Reference in a new issue