Revert "Allow adding newly developed UI Components to existing custom layouts."

This reverts commit daa4689f44.
This commit is contained in:
Dennis Guse
2025-10-29 22:14:12 +01:00
parent cabf5d238e
commit 4b59660ea1
2 changed files with 0 additions and 41 deletions
@@ -6,7 +6,6 @@ import android.util.Log;
import androidx.annotation.NonNull;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
import de.dennisguse.opentracks.R;
@@ -35,34 +34,9 @@ public class RecordingLayoutIO {
}
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;
}
/**
* 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) {
return recordingLayouts.stream().map(RecordingLayout::toCsv).collect(Collectors.joining(CsvLayoutUtils.LINE_SEPARATOR));
}