From abb671379877aa8aefd2a27f4b401fe76d124173 Mon Sep 17 00:00:00 2001 From: konggdev Date: Thu, 10 Sep 2026 03:34:32 +0200 Subject: [PATCH] Minor UI improvements --- .../ui/factory/AlertDialogFactory.java | 31 +++- .../main/FragmentLayoutContentSettings.java | 6 +- app/src/main/res/THIRD_PARTY_NOTICES.md | 4 +- app/src/main/res/drawable/ic_copy.xml | 15 +- app/src/main/res/drawable/ic_help.xml | 10 -- app/src/main/res/layout/dialog_new_style.xml | 4 +- .../main/res/layout/dialog_style_details.xml | 164 +++++++++--------- 7 files changed, 122 insertions(+), 112 deletions(-) delete mode 100644 app/src/main/res/drawable/ic_help.xml diff --git a/app/src/main/java/eu/konggdev/strikemaps/ui/factory/AlertDialogFactory.java b/app/src/main/java/eu/konggdev/strikemaps/ui/factory/AlertDialogFactory.java index f6a9741..92be643 100644 --- a/app/src/main/java/eu/konggdev/strikemaps/ui/factory/AlertDialogFactory.java +++ b/app/src/main/java/eu/konggdev/strikemaps/ui/factory/AlertDialogFactory.java @@ -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"); diff --git a/app/src/main/java/eu/konggdev/strikemaps/ui/fragment/layout/content/main/FragmentLayoutContentSettings.java b/app/src/main/java/eu/konggdev/strikemaps/ui/fragment/layout/content/main/FragmentLayoutContentSettings.java index 236b8a9..8e30444 100644 --- a/app/src/main/java/eu/konggdev/strikemaps/ui/fragment/layout/content/main/FragmentLayoutContentSettings.java +++ b/app/src/main/java/eu/konggdev/strikemaps/ui/fragment/layout/content/main/FragmentLayoutContentSettings.java @@ -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 diff --git a/app/src/main/res/THIRD_PARTY_NOTICES.md b/app/src/main/res/THIRD_PARTY_NOTICES.md index ba5c52d..a7b90cc 100644 --- a/app/src/main/res/THIRD_PARTY_NOTICES.md +++ b/app/src/main/res/THIRD_PARTY_NOTICES.md @@ -4,13 +4,11 @@ The following files included inside the /res/drawable folder are derived from Go * `ic_bubble.xml` * `ic_stack.xml` * `ic_clarify.xml` -* -The following files included inside the /res/drawable folder are copies of Google Material Icons and are subject to the Apache License, Version 2.0: - * `ic_file.xml` * `ic_offline.xml` * `ic_arrow_forward.xml` * `ic_hide.bmp` * `ic_dropdown.xml` + Unless otherwise noted in this file, all other files included in the `res` folder are subject to the standard license of this project \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_copy.xml b/app/src/main/res/drawable/ic_copy.xml index 349c6ff..79e77b2 100644 --- a/app/src/main/res/drawable/ic_copy.xml +++ b/app/src/main/res/drawable/ic_copy.xml @@ -1,10 +1,5 @@ - - - \ No newline at end of file + + + + + diff --git a/app/src/main/res/drawable/ic_help.xml b/app/src/main/res/drawable/ic_help.xml deleted file mode 100644 index 834c1bc..0000000 --- a/app/src/main/res/drawable/ic_help.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_new_style.xml b/app/src/main/res/layout/dialog_new_style.xml index d46da31..8273055 100644 --- a/app/src/main/res/layout/dialog_new_style.xml +++ b/app/src/main/res/layout/dialog_new_style.xml @@ -97,7 +97,7 @@ android:layout_height="30dp" android:layout_marginStart="16dp" android:src="@drawable/ic_file" - app:tint="#A4A3A3" + app:tint="#6d6c6c" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" /> @@ -148,7 +148,7 @@ android:layout_height="30dp" android:layout_marginStart="16dp" android:src="@drawable/ic_create" - app:tint="#A4A3A3" + app:tint="#6d6c6c" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" /> diff --git a/app/src/main/res/layout/dialog_style_details.xml b/app/src/main/res/layout/dialog_style_details.xml index b7259a4..1168631 100644 --- a/app/src/main/res/layout/dialog_style_details.xml +++ b/app/src/main/res/layout/dialog_style_details.xml @@ -20,42 +20,42 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> - - - + app:layout_constraintEnd_toEndOf="parent"> + + + + + + + + + + + + + + + + + @@ -130,7 +179,7 @@ android:layout_height="30dp" android:layout_marginStart="16dp" android:src="@drawable/ic_copy" - app:tint="#A4A3A3" + app:tint="#6d6c6c" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" /> @@ -251,55 +300,4 @@ - - - - - - - - - - - - - \ No newline at end of file