forked from upstream-mirrors/OpenTracks
Interval statistics: retain interval value after change orientation and recreation.
This commit is contained in:
@@ -141,6 +141,14 @@ public class StatisticsRecordedFragment extends Fragment implements IntervalList
|
|||||||
speedMovingLabel = view.findViewById(R.id.stats_moving_speed_label);
|
speedMovingLabel = view.findViewById(R.id.stats_moving_speed_label);
|
||||||
speedMovingValue = view.findViewById(R.id.stats_moving_speed_value);
|
speedMovingValue = view.findViewById(R.id.stats_moving_speed_value);
|
||||||
speedMovingUnit = view.findViewById(R.id.stats_moving_speed_unit);
|
speedMovingUnit = view.findViewById(R.id.stats_moving_speed_unit);
|
||||||
|
|
||||||
|
intervalListView = new IntervalListView(getActivity(), this);
|
||||||
|
intervalListView.setId(View.generateViewId());
|
||||||
|
LinearLayout linearLayoutExtra = rootView.findViewById(R.id.linear_layout_extra);
|
||||||
|
linearLayoutExtra.removeAllViews();
|
||||||
|
linearLayoutExtra.addView(intervalListView);
|
||||||
|
|
||||||
|
viewModel = new ViewModelProvider(this).get(IntervalStatisticsModel.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -164,13 +172,6 @@ public class StatisticsRecordedFragment extends Fragment implements IntervalList
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void addIntervals() {
|
private void addIntervals() {
|
||||||
intervalListView = new IntervalListView(getActivity(), this);
|
|
||||||
intervalListView.setId(View.generateViewId());
|
|
||||||
LinearLayout linearLayoutExtra = rootView.findViewById(R.id.linear_layout_extra);
|
|
||||||
linearLayoutExtra.removeAllViews();
|
|
||||||
linearLayoutExtra.addView(intervalListView);
|
|
||||||
|
|
||||||
viewModel = new ViewModelProvider(this).get(IntervalStatisticsModel.class);
|
|
||||||
viewModel.getIntervalStats(track.getId()).observe(getActivity(), intervalStatistics -> {
|
viewModel.getIntervalStats(track.getId()).observe(getActivity(), intervalStatistics -> {
|
||||||
if (intervalStatistics != null) {
|
if (intervalStatistics != null) {
|
||||||
intervalListView.display(intervalStatistics.getIntervalList());
|
intervalListView.display(intervalStatistics.getIntervalList());
|
||||||
@@ -302,7 +303,6 @@ public class StatisticsRecordedFragment extends Fragment implements IntervalList
|
|||||||
@Override
|
@Override
|
||||||
public void intervalChanged(IntervalStatisticsModel.IntervalOption interval) {
|
public void intervalChanged(IntervalStatisticsModel.IntervalOption interval) {
|
||||||
if (viewModel != null && intervalListView != null) {
|
if (viewModel != null && intervalListView != null) {
|
||||||
viewModel = new ViewModelProvider(this).get(IntervalStatisticsModel.class);
|
|
||||||
viewModel.getIntervalStats(track.getId(), interval).observe(getActivity(), intervalStatistics -> {
|
viewModel.getIntervalStats(track.getId(), interval).observe(getActivity(), intervalStatistics -> {
|
||||||
if (intervalStatistics != null) {
|
if (intervalStatistics != null) {
|
||||||
intervalListView.display(intervalStatistics.getIntervalList());
|
intervalListView.display(intervalStatistics.getIntervalList());
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ public class IntervalStatisticsModel extends AndroidViewModel {
|
|||||||
|
|
||||||
public IntervalStatisticsModel(@NonNull Application application) {
|
public IntervalStatisticsModel(@NonNull Application application) {
|
||||||
super(application);
|
super(application);
|
||||||
|
interval = IntervalOption.OPTION_1;
|
||||||
}
|
}
|
||||||
|
|
||||||
public LiveData<IntervalStatistics> getIntervalStats(long trackId, IntervalOption interval) {
|
public LiveData<IntervalStatistics> getIntervalStats(long trackId, IntervalOption interval) {
|
||||||
@@ -34,7 +35,7 @@ public class IntervalStatisticsModel extends AndroidViewModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public LiveData<IntervalStatistics> getIntervalStats(long trackId) {
|
public LiveData<IntervalStatistics> getIntervalStats(long trackId) {
|
||||||
return getIntervalStats(trackId, IntervalOption.OPTION_1);
|
return getIntervalStats(trackId, interval);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void loadIntervalStats(long trackId) {
|
private void loadIntervalStats(long trackId) {
|
||||||
|
|||||||
Reference in New Issue
Block a user