diff --git a/src/androidTest/java/de/dennisguse/opentracks/util/StatisticsUtilsTest.java b/src/androidTest/java/de/dennisguse/opentracks/util/StatisticsUtilsTest.java index b1ad77d4b..fd6bf0a2e 100644 --- a/src/androidTest/java/de/dennisguse/opentracks/util/StatisticsUtilsTest.java +++ b/src/androidTest/java/de/dennisguse/opentracks/util/StatisticsUtilsTest.java @@ -52,8 +52,8 @@ public class StatisticsUtilsTest extends TestCase { recordingLayout.addField(new DataField("key5", true, true, false)); // when - RecordingLayout resultTrue = StatisticsUtils.filterVisible(recordingLayout, true); - RecordingLayout resultFalse = StatisticsUtils.filterVisible(recordingLayout, false); + RecordingLayout resultTrue = recordingLayout.toRecordingLayout(true); + RecordingLayout resultFalse = recordingLayout.toRecordingLayout(false); // then assertEquals(resultTrue.getFields().size(), 3); diff --git a/src/main/java/de/dennisguse/opentracks/fragments/StatisticsRecordingFragment.java b/src/main/java/de/dennisguse/opentracks/fragments/StatisticsRecordingFragment.java index d6998cf40..18e7166dd 100644 --- a/src/main/java/de/dennisguse/opentracks/fragments/StatisticsRecordingFragment.java +++ b/src/main/java/de/dennisguse/opentracks/fragments/StatisticsRecordingFragment.java @@ -131,8 +131,7 @@ public class StatisticsRecordingFragment extends Fragment { int rowIndex = 0; int columnIndex = 0; - for (int i = 0; i < recordingLayout.getFields().size(); i++) { - DataField dataField = recordingLayout.getFields().get(i); + for (DataField dataField : recordingLayout.toRecordingLayout(true).getFields()) { GridLayout.LayoutParams param = new GridLayout.LayoutParams(); param.setGravity(Gravity.FILL_HORIZONTAL); param.width = 0; diff --git a/src/main/java/de/dennisguse/opentracks/settings/SettingsCustomLayoutEditActivity.java b/src/main/java/de/dennisguse/opentracks/settings/SettingsCustomLayoutEditActivity.java index b16d07485..a62fe35cb 100644 --- a/src/main/java/de/dennisguse/opentracks/settings/SettingsCustomLayoutEditActivity.java +++ b/src/main/java/de/dennisguse/opentracks/settings/SettingsCustomLayoutEditActivity.java @@ -20,7 +20,6 @@ import de.dennisguse.opentracks.ui.customRecordingLayout.DataField; import de.dennisguse.opentracks.ui.customRecordingLayout.RecordingLayout; import de.dennisguse.opentracks.ui.customRecordingLayout.SettingsCustomLayoutEditAdapter; import de.dennisguse.opentracks.ui.util.ArrayAdapterFilterDisabled; -import de.dennisguse.opentracks.util.StatisticsUtils; public class SettingsCustomLayoutEditActivity extends AbstractActivity implements SettingsCustomLayoutEditAdapter.SettingsCustomLayoutItemClickListener { @@ -41,7 +40,7 @@ public class SettingsCustomLayoutEditActivity extends AbstractActivity implement // Recycler view with visible stats. RecordingLayout recordingLayout = getIntent().getParcelableExtra(EXTRA_LAYOUT); profile = recordingLayout.getName(); - recordingLayoutFieldsVisible = StatisticsUtils.filterVisible(recordingLayout, true); + recordingLayoutFieldsVisible = recordingLayout.toRecordingLayout(true); adapterFieldsVisible = new SettingsCustomLayoutEditAdapter(this, this, recordingLayoutFieldsVisible); numColumns = recordingLayout.getColumnsPerRow(); @@ -90,7 +89,7 @@ public class SettingsCustomLayoutEditActivity extends AbstractActivity implement viewBinding.rowsOptions.setText(rowsOptionAdapter.getItem(numColumns - 1).toString(), false); // Recycler view with not visible stats. - recordingLayoutFieldsHidden = StatisticsUtils.filterVisible(recordingLayout, false); + recordingLayoutFieldsHidden = recordingLayout.toRecordingLayout(false); adapterFieldsHidden = new SettingsCustomLayoutEditAdapter(this, this, recordingLayoutFieldsHidden); RecyclerView recyclerViewNotVisible = viewBinding.recyclerViewNotVisible; recyclerViewNotVisible.setLayoutManager(new LinearLayoutManager(this)); diff --git a/src/main/java/de/dennisguse/opentracks/ui/customRecordingLayout/RecordingLayout.java b/src/main/java/de/dennisguse/opentracks/ui/customRecordingLayout/RecordingLayout.java index 9bda6c556..bc05ffd10 100644 --- a/src/main/java/de/dennisguse/opentracks/ui/customRecordingLayout/RecordingLayout.java +++ b/src/main/java/de/dennisguse/opentracks/ui/customRecordingLayout/RecordingLayout.java @@ -66,6 +66,12 @@ public class RecordingLayout implements Parcelable { return new ArrayList<>(dataFields); } + public RecordingLayout toRecordingLayout(boolean visibility) { + RecordingLayout result = new RecordingLayout(this.getName()); + result.addFields(dataFields.stream().filter(f -> f.isVisible() == visibility).collect(Collectors.toList())); + return result; + } + public void moveField(int from, int to) { DataField dataFieldToMove = dataFields.remove(from); dataFields.add(to, dataFieldToMove); diff --git a/src/main/java/de/dennisguse/opentracks/util/StatisticsUtils.java b/src/main/java/de/dennisguse/opentracks/util/StatisticsUtils.java index 3d3910c24..7508c228b 100644 --- a/src/main/java/de/dennisguse/opentracks/util/StatisticsUtils.java +++ b/src/main/java/de/dennisguse/opentracks/util/StatisticsUtils.java @@ -4,11 +4,8 @@ import android.content.Context; import androidx.annotation.NonNull; -import java.util.stream.Collectors; - import de.dennisguse.opentracks.R; import de.dennisguse.opentracks.settings.PreferencesUtils; -import de.dennisguse.opentracks.ui.customRecordingLayout.RecordingLayout; public class StatisticsUtils { @@ -24,11 +21,4 @@ public class StatisticsUtils { return context.getString(R.string.stats_empty_value_integer); } } - - @Deprecated //Add to Layout? - public static RecordingLayout filterVisible(RecordingLayout recordingLayout, boolean visible) { - RecordingLayout result = new RecordingLayout(recordingLayout.getName()); - result.addFields(recordingLayout.getFields().stream().filter(f -> f.isVisible() == visible).collect(Collectors.toList())); - return result; - } }