diff --git a/app/src/main/java/org/koitharu/kotatsu/favourites/ui/categories/select/FavouriteCategoriesBottomSheet.kt b/app/src/main/java/org/koitharu/kotatsu/favourites/ui/categories/select/FavouriteCategoriesBottomSheet.kt index f8b0238fa..466b10402 100644 --- a/app/src/main/java/org/koitharu/kotatsu/favourites/ui/categories/select/FavouriteCategoriesBottomSheet.kt +++ b/app/src/main/java/org/koitharu/kotatsu/favourites/ui/categories/select/FavouriteCategoriesBottomSheet.kt @@ -2,17 +2,21 @@ package org.koitharu.kotatsu.favourites.ui.categories.select import android.os.Bundle import android.view.LayoutInflater +import android.view.MenuItem import android.view.View import android.view.ViewGroup import android.widget.Toast +import androidx.appcompat.widget.Toolbar import androidx.fragment.app.FragmentManager import org.koin.androidx.viewmodel.ext.android.viewModel import org.koin.core.parameter.parametersOf import org.koitharu.kotatsu.R import org.koitharu.kotatsu.base.ui.BaseBottomSheet import org.koitharu.kotatsu.base.ui.list.OnListItemClickListener +import org.koitharu.kotatsu.core.model.FavouriteCategory import org.koitharu.kotatsu.core.model.parcelable.ParcelableManga import org.koitharu.kotatsu.databinding.DialogFavoriteCategoriesBinding +import org.koitharu.kotatsu.favourites.ui.categories.CategoriesEditDelegate import org.koitharu.kotatsu.favourites.ui.categories.edit.FavouritesCategoryEditActivity import org.koitharu.kotatsu.favourites.ui.categories.select.adapter.MangaCategoriesAdapter import org.koitharu.kotatsu.favourites.ui.categories.select.model.MangaCategoryItem @@ -23,7 +27,9 @@ import org.koitharu.kotatsu.utils.ext.withArgs class FavouriteCategoriesBottomSheet : BaseBottomSheet(), OnListItemClickListener, - View.OnClickListener { + CategoriesEditDelegate.CategoriesEditCallback, + View.OnClickListener, + Toolbar.OnMenuItemClickListener { private val viewModel by viewModel { parametersOf(requireNotNull(arguments?.getParcelableArrayList(KEY_MANGA_LIST)).map { it.manga }) @@ -41,7 +47,7 @@ class FavouriteCategoriesBottomSheet : adapter = MangaCategoriesAdapter(this) binding.recyclerViewCategories.adapter = adapter binding.buttonDone.setOnClickListener(this) - binding.itemCreate.setOnClickListener(this) + binding.toolbar.setOnMenuItemClickListener(this) viewModel.content.observe(viewLifecycleOwner, this::onContentChanged) viewModel.onError.observe(viewLifecycleOwner, ::onError) @@ -54,15 +60,24 @@ class FavouriteCategoriesBottomSheet : override fun onClick(v: View) { when (v.id) { - R.id.item_create -> startActivity(FavouritesCategoryEditActivity.newIntent(requireContext())) R.id.button_done -> dismiss() } } + override fun onMenuItemClick(item: MenuItem): Boolean { + when (item.itemId) { + R.id.action_create -> startActivity(FavouritesCategoryEditActivity.newIntent(requireContext())) + else -> return false + } + return true + } + override fun onItemClick(item: MangaCategoryItem, view: View) { viewModel.setChecked(item.id, !item.isChecked) } + override fun onDeleteCategory(category: FavouriteCategory) = Unit + private fun onContentChanged(categories: List) { adapter?.items = categories } @@ -85,4 +100,4 @@ class FavouriteCategoriesBottomSheet : ) }.show(fm, TAG) } -} \ No newline at end of file +} diff --git a/app/src/main/res/drawable/ic_list_create.xml b/app/src/main/res/drawable/ic_list_create.xml new file mode 100644 index 000000000..dce66429c --- /dev/null +++ b/app/src/main/res/drawable/ic_list_create.xml @@ -0,0 +1,12 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_favorite_categories.xml b/app/src/main/res/layout/dialog_favorite_categories.xml index bd12b35ab..90265c5ff 100644 --- a/app/src/main/res/layout/dialog_favorite_categories.xml +++ b/app/src/main/res/layout/dialog_favorite_categories.xml @@ -12,6 +12,7 @@ android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" + app:menu="@menu/opt_categories" app:title="@string/add_to_favourites">