From 61bf77b695b973d25afa700055332ad6bbc4aad9 Mon Sep 17 00:00:00 2001 From: misaochan Date: Fri, 29 Jul 2016 19:47:09 +1200 Subject: [PATCH] Add dialog to categories save button --- .../category/CategorizationFragment.java | 33 +++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/category/CategorizationFragment.java b/app/src/main/java/fr/free/nrw/commons/category/CategorizationFragment.java index 02378e661..31cd3cd45 100644 --- a/app/src/main/java/fr/free/nrw/commons/category/CategorizationFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/category/CategorizationFragment.java @@ -510,17 +510,46 @@ public class CategorizationFragment extends Fragment { switch(menuItem.getItemId()) { case R.id.menu_save_categories: ArrayList selectedCategories = new ArrayList(); + int numberSelected = 0; + for(CategoryItem item: categoriesAdapter.getItems()) { if(item.selected) { selectedCategories.add(item.name); + numberSelected++; } } - onCategoriesSaveHandler.onCategoriesSave(selectedCategories); - return true; + + //If no categories selected, display warning to user + if (numberSelected == 0) { + AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); + + builder.setMessage("Are you sure you want to proceed without selecting categories? Images without categories are rarely usable.") + .setTitle("No Categories Selected"); + builder.setPositiveButton("No", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + //Exit menuItem + return; + } + }); + builder.setNegativeButton("Yes", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + //Proceed + } + }); + + AlertDialog dialog = builder.create(); + dialog.show(); + } else { + + onCategoriesSaveHandler.onCategoriesSave(selectedCategories); + return true; + } } return super.onOptionsItemSelected(menuItem); } + + @Override public void onAttach(Activity activity) { super.onAttach(activity);