forked from upstream-mirrors/OpenTracks
@@ -52,8 +52,8 @@ public class StatisticsUtilsTest extends TestCase {
|
|||||||
recordingLayout.addField(new DataField("key5", true, true, false));
|
recordingLayout.addField(new DataField("key5", true, true, false));
|
||||||
|
|
||||||
// when
|
// when
|
||||||
RecordingLayout resultTrue = StatisticsUtils.filterVisible(recordingLayout, true);
|
RecordingLayout resultTrue = recordingLayout.toRecordingLayout(true);
|
||||||
RecordingLayout resultFalse = StatisticsUtils.filterVisible(recordingLayout, false);
|
RecordingLayout resultFalse = recordingLayout.toRecordingLayout(false);
|
||||||
|
|
||||||
// then
|
// then
|
||||||
assertEquals(resultTrue.getFields().size(), 3);
|
assertEquals(resultTrue.getFields().size(), 3);
|
||||||
|
|||||||
@@ -131,8 +131,7 @@ public class StatisticsRecordingFragment extends Fragment {
|
|||||||
|
|
||||||
int rowIndex = 0;
|
int rowIndex = 0;
|
||||||
int columnIndex = 0;
|
int columnIndex = 0;
|
||||||
for (int i = 0; i < recordingLayout.getFields().size(); i++) {
|
for (DataField dataField : recordingLayout.toRecordingLayout(true).getFields()) {
|
||||||
DataField dataField = recordingLayout.getFields().get(i);
|
|
||||||
GridLayout.LayoutParams param = new GridLayout.LayoutParams();
|
GridLayout.LayoutParams param = new GridLayout.LayoutParams();
|
||||||
param.setGravity(Gravity.FILL_HORIZONTAL);
|
param.setGravity(Gravity.FILL_HORIZONTAL);
|
||||||
param.width = 0;
|
param.width = 0;
|
||||||
|
|||||||
+2
-3
@@ -20,7 +20,6 @@ import de.dennisguse.opentracks.ui.customRecordingLayout.DataField;
|
|||||||
import de.dennisguse.opentracks.ui.customRecordingLayout.RecordingLayout;
|
import de.dennisguse.opentracks.ui.customRecordingLayout.RecordingLayout;
|
||||||
import de.dennisguse.opentracks.ui.customRecordingLayout.SettingsCustomLayoutEditAdapter;
|
import de.dennisguse.opentracks.ui.customRecordingLayout.SettingsCustomLayoutEditAdapter;
|
||||||
import de.dennisguse.opentracks.ui.util.ArrayAdapterFilterDisabled;
|
import de.dennisguse.opentracks.ui.util.ArrayAdapterFilterDisabled;
|
||||||
import de.dennisguse.opentracks.util.StatisticsUtils;
|
|
||||||
|
|
||||||
public class SettingsCustomLayoutEditActivity extends AbstractActivity implements SettingsCustomLayoutEditAdapter.SettingsCustomLayoutItemClickListener {
|
public class SettingsCustomLayoutEditActivity extends AbstractActivity implements SettingsCustomLayoutEditAdapter.SettingsCustomLayoutItemClickListener {
|
||||||
|
|
||||||
@@ -41,7 +40,7 @@ public class SettingsCustomLayoutEditActivity extends AbstractActivity implement
|
|||||||
// Recycler view with visible stats.
|
// Recycler view with visible stats.
|
||||||
RecordingLayout recordingLayout = getIntent().getParcelableExtra(EXTRA_LAYOUT);
|
RecordingLayout recordingLayout = getIntent().getParcelableExtra(EXTRA_LAYOUT);
|
||||||
profile = recordingLayout.getName();
|
profile = recordingLayout.getName();
|
||||||
recordingLayoutFieldsVisible = StatisticsUtils.filterVisible(recordingLayout, true);
|
recordingLayoutFieldsVisible = recordingLayout.toRecordingLayout(true);
|
||||||
adapterFieldsVisible = new SettingsCustomLayoutEditAdapter(this, this, recordingLayoutFieldsVisible);
|
adapterFieldsVisible = new SettingsCustomLayoutEditAdapter(this, this, recordingLayoutFieldsVisible);
|
||||||
|
|
||||||
numColumns = recordingLayout.getColumnsPerRow();
|
numColumns = recordingLayout.getColumnsPerRow();
|
||||||
@@ -90,7 +89,7 @@ public class SettingsCustomLayoutEditActivity extends AbstractActivity implement
|
|||||||
viewBinding.rowsOptions.setText(rowsOptionAdapter.getItem(numColumns - 1).toString(), false);
|
viewBinding.rowsOptions.setText(rowsOptionAdapter.getItem(numColumns - 1).toString(), false);
|
||||||
|
|
||||||
// Recycler view with not visible stats.
|
// Recycler view with not visible stats.
|
||||||
recordingLayoutFieldsHidden = StatisticsUtils.filterVisible(recordingLayout, false);
|
recordingLayoutFieldsHidden = recordingLayout.toRecordingLayout(false);
|
||||||
adapterFieldsHidden = new SettingsCustomLayoutEditAdapter(this, this, recordingLayoutFieldsHidden);
|
adapterFieldsHidden = new SettingsCustomLayoutEditAdapter(this, this, recordingLayoutFieldsHidden);
|
||||||
RecyclerView recyclerViewNotVisible = viewBinding.recyclerViewNotVisible;
|
RecyclerView recyclerViewNotVisible = viewBinding.recyclerViewNotVisible;
|
||||||
recyclerViewNotVisible.setLayoutManager(new LinearLayoutManager(this));
|
recyclerViewNotVisible.setLayoutManager(new LinearLayoutManager(this));
|
||||||
|
|||||||
@@ -66,6 +66,12 @@ public class RecordingLayout implements Parcelable {
|
|||||||
return new ArrayList<>(dataFields);
|
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) {
|
public void moveField(int from, int to) {
|
||||||
DataField dataFieldToMove = dataFields.remove(from);
|
DataField dataFieldToMove = dataFields.remove(from);
|
||||||
dataFields.add(to, dataFieldToMove);
|
dataFields.add(to, dataFieldToMove);
|
||||||
|
|||||||
@@ -4,11 +4,8 @@ import android.content.Context;
|
|||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
|
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
import de.dennisguse.opentracks.R;
|
import de.dennisguse.opentracks.R;
|
||||||
import de.dennisguse.opentracks.settings.PreferencesUtils;
|
import de.dennisguse.opentracks.settings.PreferencesUtils;
|
||||||
import de.dennisguse.opentracks.ui.customRecordingLayout.RecordingLayout;
|
|
||||||
|
|
||||||
public class StatisticsUtils {
|
public class StatisticsUtils {
|
||||||
|
|
||||||
@@ -24,11 +21,4 @@ public class StatisticsUtils {
|
|||||||
return context.getString(R.string.stats_empty_value_integer);
|
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;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user