Minor UI improvements

This commit is contained in:
2026-09-13 16:25:39 +02:00
parent 85734fa98d
commit abb6713798
7 changed files with 122 additions and 112 deletions
@@ -15,6 +15,7 @@ import eu.konggdev.strikemaps.app.AppController;
import eu.konggdev.strikemaps.app.util.JsonPatcher;
import eu.konggdev.strikemaps.map.MapComponent;
import eu.konggdev.strikemaps.map.style.MapStyle;
import eu.konggdev.strikemaps.map.style.management.StyleManagementMetadata;
import eu.konggdev.strikemaps.map.style.options.StyleOptions;
import eu.konggdev.strikemaps.ui.UIComponent;
import eu.konggdev.strikemaps.ui.element.item.PreviewItem;
@@ -24,9 +25,36 @@ import org.maplibre.geojson.Feature;
import java.util.List;
import java.util.function.Consumer;
//FIXME: Cleaner architecture would be having a class for each AlertDialog type
public final class AlertDialogFactory {
public static AlertDialog styleManagementOptions(
AppController app,
StyleManagementMetadata metadata
) {
String[] options = {
"Update style",
"Update automatically"
};
boolean[] checked = {
metadata.doUpdates,
metadata.autoUpdate
};
return new AlertDialog.Builder(app.getActivity())
.setTitle("Built-in Style")
.setMultiChoiceItems(options, checked, (dialog, which, isChecked) -> {
if (which == 0) {
metadata.doUpdates = isChecked;
} else if (which == 1) {
metadata.autoUpdate = isChecked;
}
})
.setNegativeButton("Cancel", null)
.setPositiveButton("OK", null)
.create();
}
public static AlertDialog copyBuiltInStyle(AppController app, MapComponent map, UIComponent ui, FragmentMapChangePopup mapChangePopup) {
//TODO: Use an UI element that's supposed to be vertical, instead of GenericItem
@@ -44,7 +72,6 @@ public final class AlertDialogFactory {
return dialog;
}
public static AlertDialog createStyle(AppController app, String baseStyleContents, FragmentMapChangePopup mapChangePopup) {
final EditText nameInput = new EditText(app.getActivity());
nameInput.setHint("Name");
@@ -11,15 +11,17 @@ import androidx.fragment.app.Fragment;
import eu.konggdev.strikemaps.R;
import eu.konggdev.strikemaps.helper.UserPrefsHelper;
import eu.konggdev.strikemaps.app.AppController;
import eu.konggdev.strikemaps.ui.UIComponent;
import eu.konggdev.strikemaps.ui.factory.AlertDialogFactory;
public class FragmentLayoutContentSettings extends Fragment implements MainContentLayout {
@NonNull AppController app;
@NonNull UIComponent ui;
public FragmentLayoutContentSettings(AppController app) {
super(R.layout.fragment_settings);
this.app = app;
this.ui = app.getUi();
}
@Override
@@ -49,7 +51,7 @@ public class FragmentLayoutContentSettings extends Fragment implements MainConte
}
UserPrefsHelper.mapRenderer(app.getPrefs(), position);
app.getUi().alert(AlertDialogFactory.restartDialog(app));
ui.alert(AlertDialogFactory.restartDialog(app));
}
@Override