Cleanup: interval statistics uses ViewBinding.

This commit is contained in:
Dennis Guse
2023-10-13 07:56:45 +02:00
parent 46c56b7de8
commit be0a7e2fac
@@ -2,19 +2,17 @@ package de.dennisguse.opentracks.ui.intervals;
import android.content.Context; import android.content.Context;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.TextView;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import java.util.List; import java.util.List;
import de.dennisguse.opentracks.R;
import de.dennisguse.opentracks.data.models.Distance; import de.dennisguse.opentracks.data.models.Distance;
import de.dennisguse.opentracks.data.models.DistanceFormatter; import de.dennisguse.opentracks.data.models.DistanceFormatter;
import de.dennisguse.opentracks.data.models.SpeedFormatter; import de.dennisguse.opentracks.data.models.SpeedFormatter;
import de.dennisguse.opentracks.databinding.IntervalStatsListItemBinding;
import de.dennisguse.opentracks.settings.UnitSystem; import de.dennisguse.opentracks.settings.UnitSystem;
import de.dennisguse.opentracks.util.StringUtils; import de.dennisguse.opentracks.util.StringUtils;
@@ -36,8 +34,7 @@ public class IntervalStatisticsAdapter extends RecyclerView.Adapter<RecyclerView
@NonNull @NonNull
@Override @Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.interval_stats_list_item, parent, false); return new IntervalStatisticsAdapter.ViewHolder(IntervalStatsListItemBinding.inflate(LayoutInflater.from(parent.getContext())));
return new IntervalStatisticsAdapter.ViewHolder(view);
} }
@Override @Override
@@ -57,16 +54,15 @@ public class IntervalStatisticsAdapter extends RecyclerView.Adapter<RecyclerView
} else { } else {
sumDistance = interval.getDistance().multipliedBy(nextPosition); sumDistance = interval.getDistance().multipliedBy(nextPosition);
} }
viewHolder.distance.setText(DistanceFormatter.Builder() viewHolder.viewBinding.intervalItemDistance.setText(DistanceFormatter.Builder()
.setUnit(unitSystem) .setUnit(unitSystem)
.build(context).formatDistance(sumDistance)); .build(context).formatDistance(sumDistance));
SpeedFormatter formatter = SpeedFormatter.Builder().setUnit(unitSystem).setReportSpeedOrPace(isReportSpeed).build(context); SpeedFormatter formatter = SpeedFormatter.Builder().setUnit(unitSystem).setReportSpeedOrPace(isReportSpeed).build(context);
viewHolder.rate.setText(formatter.formatSpeed(interval.getSpeed())); viewHolder.viewBinding.intervalItemRate.setText(formatter.formatSpeed(interval.getSpeed()));
viewHolder.gain.setText(StringUtils.formatAltitude(context, interval.getGain_m(), unitSystem));
viewHolder.loss.setText(StringUtils.formatAltitude(context, interval.getLoss_m(), unitSystem));
viewHolder.viewBinding.intervalItemGain.setText(StringUtils.formatAltitude(context, interval.getGain_m(), unitSystem));
viewHolder.viewBinding.intervalItemLoss.setText(StringUtils.formatAltitude(context, interval.getLoss_m(), unitSystem));
} }
@Override @Override
@@ -98,17 +94,11 @@ public class IntervalStatisticsAdapter extends RecyclerView.Adapter<RecyclerView
} }
private static class ViewHolder extends RecyclerView.ViewHolder { private static class ViewHolder extends RecyclerView.ViewHolder {
final TextView distance; final IntervalStatsListItemBinding viewBinding;
final TextView rate;
final TextView gain;
final TextView loss;
public ViewHolder(@NonNull View itemView) { public ViewHolder(@NonNull IntervalStatsListItemBinding viewBinding) {
super(itemView); super(viewBinding.getRoot());
distance = itemView.findViewById(R.id.interval_item_distance); this.viewBinding = viewBinding;
rate = itemView.findViewById(R.id.interval_item_rate);
gain = itemView.findViewById(R.id.interval_item_gain);
loss = itemView.findViewById(R.id.interval_item_loss);
} }
} }
} }