Implement ViewBindings for Fragments.

This commit is contained in:
Dennis Guse
2020-10-31 11:54:58 +01:00
parent 6ac0db7238
commit 9cebb1013c
7 changed files with 138 additions and 328 deletions
@@ -40,6 +40,7 @@ import de.dennisguse.opentracks.content.TrackDataListener;
import de.dennisguse.opentracks.content.data.Marker;
import de.dennisguse.opentracks.content.data.Track;
import de.dennisguse.opentracks.content.data.TrackPoint;
import de.dennisguse.opentracks.databinding.ChartBinding;
import de.dennisguse.opentracks.stats.TrackStatistics;
import de.dennisguse.opentracks.stats.TrackStatisticsUpdater;
import de.dennisguse.opentracks.util.LocationUtils;
@@ -73,6 +74,8 @@ public class ChartFragment extends Fragment implements TrackDataListener {
private TrackStatisticsUpdater trackStatisticsUpdater;
private long startTime;
private ChartBinding viewBinding;
//TODO Why is this needed?
private int recordingDistanceInterval;
private String category = "";
@@ -147,15 +150,16 @@ public class ChartFragment extends Fragment implements TrackDataListener {
@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.chart, container, false);
viewBinding = ChartBinding.inflate(inflater, container, false);
return viewBinding.getRoot();
}
@Override
public void onStart() {
super.onStart();
ViewGroup layout = getView().findViewById(R.id.chart_view_layout);
LayoutParams layoutParams = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
layout.addView(chartView, layoutParams);
viewBinding.chartViewLayout.addView(chartView, layoutParams);
}
@Override
@@ -183,6 +187,12 @@ public class ChartFragment extends Fragment implements TrackDataListener {
layout.removeView(chartView);
}
@Override
public void onDestroyView() {
super.onDestroyView();
viewBinding = null;
}
@Override
public void onTrackUpdated(Track track) {
if (isResumed()) {