Compare commits

..

1 Commits

Author SHA1 Message Date
Jean-Baptiste
59b2f813c7 [android] Add a new alert dialog when we remove the last list
Signed-off-by: Jean-Baptiste <jeanbaptiste.charron@outlook.fr>
2025-12-29 18:05:48 +01:00
21 changed files with 33 additions and 35 deletions

View File

@@ -197,10 +197,8 @@ public class BookmarkCategoriesFragment extends BaseMwmRecyclerFragment<Bookmark
() -> onShareActionSelected(mSelectedCategory, KmlFileType.Text)));
items.add(new MenuBottomSheetItem(R.string.export_file_gpx, R.drawable.ic_file_gpx,
() -> onShareActionSelected(mSelectedCategory, KmlFileType.Gpx)));
// Disallow deleting the last category
if (getAdapter().getBookmarkCategories().size() > 1)
items.add(new MenuBottomSheetItem(R.string.delete, R.drawable.ic_delete,
() -> onDeleteActionSelected(mSelectedCategory)));
items.add(new MenuBottomSheetItem(R.string.delete, R.drawable.ic_delete,
() -> onDeleteActionSelected(mSelectedCategory)));
}
return items;
}
@@ -297,8 +295,19 @@ public class BookmarkCategoriesFragment extends BaseMwmRecyclerFragment<Bookmark
private void onDeleteActionSelected(@NonNull BookmarkCategory category)
{
BookmarkManager.INSTANCE.deleteCategory(category.getId());
getAdapter().notifyDataSetChanged();
// Disallow deleting the last category
if ((getAdapter().getBookmarkCategories().size() > 1))
{
BookmarkManager.INSTANCE.deleteCategory(category.getId());
getAdapter().notifyDataSetChanged();
}
else
{
new MaterialAlertDialogBuilder(requireActivity())
.setMessage(R.string.unable_to_delete_list)
.setPositiveButton(android.R.string.ok, (dialog, which) -> dialog.dismiss())
.show();
}
}
private void onSettingsActionSelected(@NonNull BookmarkCategory category)

View File

@@ -6,10 +6,12 @@ import android.view.View;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.XmlRes;
import androidx.core.content.ContextCompat;
import androidx.core.view.ViewCompat;
import androidx.preference.Preference;
import androidx.preference.PreferenceFragmentCompat;
import androidx.recyclerview.widget.RecyclerView;
import app.organicmaps.R;
import app.organicmaps.util.Utils;
import app.organicmaps.util.WindowInsetUtils.ScrollableContentInsetsListener;
@@ -42,6 +44,7 @@ abstract class BaseXmlSettingsFragment extends PreferenceFragmentCompat
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState)
{
super.onViewCreated(view, savedInstanceState);
view.setBackgroundColor(ContextCompat.getColor(requireContext(), R.color.bg_cards));
RecyclerView recyclerView = getListView();
ViewCompat.setOnApplyWindowInsetsListener(recyclerView, new ScrollableContentInsetsListener(recyclerView));
}

View File

@@ -5,7 +5,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?appBackground"
android:background="?cardBackground"
android:clipToPadding="false"
android:fadeScrollbars="false"
android:fillViewport="true">

View File

@@ -13,7 +13,7 @@
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?appBackground"
android:background="?cardBackground"
android:fadeScrollbars="false"
android:fillViewport="true"
android:clipToPadding="false">

View File

@@ -3,8 +3,7 @@
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="?appBackground">
android:orientation="vertical">
<include
layout="@layout/toolbar_extended"/>
@@ -18,8 +17,7 @@
android:id="@+id/fragment_container"
style="@style/MwmWidget.FrameLayout.Elevation"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?appBackground"/>
android:layout_height="match_parent"/>
</com.google.android.material.card.MaterialCardView>
</FrameLayout>

View File

@@ -4,7 +4,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?appBackground"
android:background="?cardBackground"
android:clipToPadding="false"
android:fadeScrollbars="false"
android:fillViewport="true">

View File

@@ -5,7 +5,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?appBackground">
android:background="?cardBackground">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"

View File

@@ -4,7 +4,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="?appBackground"
android:background="?cardBackground"
android:gravity="center"
android:orientation="vertical">

View File

@@ -3,7 +3,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?appBackground"
android:background="?cardBackground"
android:gravity="center"
android:orientation="vertical">

View File

@@ -3,8 +3,7 @@
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="?appBackground">
android:orientation="vertical">
<include
layout="@layout/toolbar_default"/>

View File

@@ -2,7 +2,7 @@
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="?appBackground"
android:background="?cardBackground"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">

View File

@@ -13,7 +13,7 @@
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?appBackground"
android:background="?cardBackground"
android:fadeScrollbars="false"
android:fillViewport="true"
android:clipToPadding="false">

View File

@@ -6,7 +6,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="?appBackground">
android:background="?cardBackground">
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar"
style="@style/MwmWidget.ToolbarStyle"

View File

@@ -5,7 +5,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="?appBackground">
android:background="?cardBackground">
<com.google.android.material.textview.MaterialTextView
android:id="@+id/header"

View File

@@ -9,7 +9,7 @@ android:layout_marginHorizontal="@dimen/margin_base"
android:layout_marginTop="@dimen/margin_half"
app:strokeWidth="1dp"
app:strokeColor="@color/base_accent"
app:cardBackgroundColor="?cardBackground">
app:cardBackgroundColor="@color/bg_cards">
<LinearLayout
android:layout_width="match_parent"

View File

@@ -150,8 +150,6 @@
<item name="colorSurfaceContainer">@color/md_theme_surfaceContainer</item>
<item name="colorSurfaceContainerHigh">@color/md_theme_surfaceContainerHigh</item>
<item name="colorSurfaceContainerHighest">@color/md_theme_surfaceContainerHighest</item>
<item name="appBackground">?android:attr/colorBackground</item>
</style>
<style name="MwmTheme" parent="MwmTheme.Base"/>

View File

@@ -64,7 +64,6 @@
<color name="bg_cards">@android:color/white</color>
<color name="bg_panel">@color/bg_window</color>
<color name="bg_primary_dark">#37653F</color> <!-- secondary dark -->
<color name="bg_app">@android:color/white</color>
<color name="bg_dialog_translucent">#BB000000</color>
<color name="bg_text_translucent">#99FFFFFF</color>

View File

@@ -974,4 +974,5 @@
<string name="download_resources_custom_url_hint">https://cdn-fi-1.comaps.app/</string>
<string name="download_resources_custom_url_summary_none">Not set</string>
<string name="download_resources_custom_url_error_scheme">Please enter a full URL starting with https:// and ending with /</string>
<string name="unable_to_delete_list">The last list cannot be deleted. Create a new list to remove it</string>
</resources>

View File

@@ -6,7 +6,6 @@
<attr name="textDialogTheme" format="reference" />
<attr name="windowBackgroundForced" format="reference|color" />
<attr name="cardBackground" format="reference" />
<attr name="appBackground" format="reference|color" />
<attr name="clickableBackground" format="reference" />
<attr name="statusBar" format="color" />
<attr name="secondary" format="color" />

View File

@@ -158,8 +158,6 @@
<item name="colorSurfaceContainerHigh">@color/md_theme_surfaceContainerHigh</item>
<item name="colorSurfaceContainerHighest">@color/md_theme_surfaceContainerHighest</item>
<item name="appBackground">@color/bg_app</item>
</style>
<style name="MwmTheme" parent="MwmTheme.Base"/>

View File

@@ -1,10 +1,4 @@
{
"World": {
"languages": ["int_name", "en", "default"]
},
"WorldCoasts": {
"languages": ["int_name", "en", "default"]
},
"Abkhazia": {
"languages": ["ab", "ru"]
},