forked from upstream-mirrors/OpenTracks
Revert "Allow adding newly developed UI Components to existing custom layouts."
This reverts commit daa4689f44.
This commit is contained in:
@@ -52,7 +52,6 @@ import de.dennisguse.opentracks.io.file.TrackFileFormat;
|
|||||||
import de.dennisguse.opentracks.io.file.TrackFilenameGenerator;
|
import de.dennisguse.opentracks.io.file.TrackFilenameGenerator;
|
||||||
import de.dennisguse.opentracks.sensors.SensorType;
|
import de.dennisguse.opentracks.sensors.SensorType;
|
||||||
import de.dennisguse.opentracks.ui.customRecordingLayout.CsvLayoutUtils;
|
import de.dennisguse.opentracks.ui.customRecordingLayout.CsvLayoutUtils;
|
||||||
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.RecordingLayoutIO;
|
import de.dennisguse.opentracks.ui.customRecordingLayout.RecordingLayoutIO;
|
||||||
|
|
||||||
@@ -851,20 +850,6 @@ public class PreferencesUtils {
|
|||||||
return resources.getString(R.string.stats_custom_layout_default_layout);
|
return resources.getString(R.string.stats_custom_layout_default_layout);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @return List of all available field keys with their default visibility settings
|
|
||||||
*/
|
|
||||||
@SuppressLint("ResourceType")
|
|
||||||
public static List<DataField> getAllAvailableFields() {
|
|
||||||
List<TypedArray> fieldsArrays = getLayoutDataFields();
|
|
||||||
return fieldsArrays.stream()
|
|
||||||
.map(i -> {
|
|
||||||
String fieldKey = i.getString(0);
|
|
||||||
return new DataField(fieldKey, false, false, fieldKey.equals(resources.getString(R.string.stats_custom_layout_coordinates_key)));
|
|
||||||
})
|
|
||||||
.toList();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return custom layout selected or the first one if any has been selected or the one selected is not exists anymore.
|
* @return custom layout selected or the first one if any has been selected or the one selected is not exists anymore.
|
||||||
*/
|
*/
|
||||||
|
|||||||
-26
@@ -6,7 +6,6 @@ import android.util.Log;
|
|||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import de.dennisguse.opentracks.R;
|
import de.dennisguse.opentracks.R;
|
||||||
@@ -35,34 +34,9 @@ public class RecordingLayoutIO {
|
|||||||
}
|
}
|
||||||
recordingLayout.addField(fromCSV(fieldParts, resources));
|
recordingLayout.addField(fromCSV(fieldParts, resources));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add any new fields that have been added to the codebase since this layout was saved
|
|
||||||
addAllInvisibleDataFields(recordingLayout, resources);
|
|
||||||
|
|
||||||
return recordingLayout;
|
return recordingLayout;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds any missing fields to the layout as hidden fields.
|
|
||||||
* This ensures that new fields added to the codebase appear in existing layouts.
|
|
||||||
*/
|
|
||||||
private static void addAllInvisibleDataFields(@NonNull RecordingLayout recordingLayout, @NonNull Resources resources) {
|
|
||||||
// Get all field keys currently in the layout
|
|
||||||
Set<String> existingFieldKeys = recordingLayout.getFields().stream()
|
|
||||||
.map(DataField::getKey)
|
|
||||||
.collect(Collectors.toSet());
|
|
||||||
|
|
||||||
// Get all available fields from the codebase
|
|
||||||
List<DataField> allAvailableFields = PreferencesUtils.getAllAvailableFields();
|
|
||||||
|
|
||||||
// Add any missing fields as hidden
|
|
||||||
for (DataField dataField : allAvailableFields) {
|
|
||||||
if (!existingFieldKeys.contains(dataField.getKey())) {
|
|
||||||
recordingLayout.addField(dataField);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String toCSV(List<RecordingLayout> recordingLayouts) {
|
public static String toCSV(List<RecordingLayout> recordingLayouts) {
|
||||||
return recordingLayouts.stream().map(RecordingLayout::toCsv).collect(Collectors.joining(CsvLayoutUtils.LINE_SEPARATOR));
|
return recordingLayouts.stream().map(RecordingLayout::toCsv).collect(Collectors.joining(CsvLayoutUtils.LINE_SEPARATOR));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user