[android] Allow remove last category from catalog

This commit is contained in:
Dmitry Donskoy 2018-06-21 20:12:10 +03:00 committed by Aleksandr Zatsepin
parent 4e7061e40f
commit aa5b7c192d
2 changed files with 15 additions and 3 deletions

View file

@ -159,7 +159,7 @@ public abstract class BaseBookmarkCategoriesFragment extends BaseMwmRecyclerFrag
.setIcon(item.isVisible() ? R.drawable.ic_hide : R.drawable.ic_show)
.setTitle(item.isVisible() ? R.string.hide : R.string.show);
final boolean deleteIsPossible = getAdapter().getBookmarkCategories().size() > 1;
final boolean deleteIsPossible = getAdapter().getBookmarkCategories().size() > 1 || mSelectedCategory.isFromCatalog();
bs.getItemById(getDeleteMenuItemResId())
.setVisible(deleteIsPossible)
.setEnabled(deleteIsPossible);
@ -267,6 +267,12 @@ public abstract class BaseBookmarkCategoriesFragment extends BaseMwmRecyclerFrag
SharingHelper.INSTANCE.prepareBookmarkCategoryForSharing(getActivity(), category.getId());
}
protected void onDeleteActionSelected(@NonNull BookmarkCategory category)
{
BookmarkManager.INSTANCE.deleteCategory(category.getId());
getAdapter().notifyDataSetChanged();
}
@Override
public void onItemLongClick(View v, BookmarkCategory category)
{
@ -398,8 +404,7 @@ public abstract class BaseBookmarkCategoriesFragment extends BaseMwmRecyclerFrag
public void process(@NonNull BaseBookmarkCategoriesFragment frag,
@NonNull BookmarkCategory category)
{
BookmarkManager.INSTANCE.deleteCategory(category.getId());
frag.getAdapter().notifyDataSetChanged();
frag.onDeleteActionSelected(category);
}
}

View file

@ -74,6 +74,13 @@ public class CachedBookmarkCategoriesFragment extends BaseBookmarkCategoriesFrag
startActivity(Intent.createChooser(intent, getString(R.string.share)));
}
@Override
protected void onDeleteActionSelected(@NonNull BookmarkCategory category)
{
super.onDeleteActionSelected(category);
updateLoadingPlaceholder();
}
@Override
protected int getDeleteMenuItemResId()
{