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..c50d436b4 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,9 +2,11 @@ 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 @@ -23,7 +25,8 @@ import org.koitharu.kotatsu.utils.ext.withArgs class FavouriteCategoriesBottomSheet : BaseBottomSheet(), OnListItemClickListener, - View.OnClickListener { + View.OnClickListener, + Toolbar.OnMenuItemClickListener { private val viewModel by viewModel { parametersOf(requireNotNull(arguments?.getParcelableArrayList(KEY_MANGA_LIST)).map { it.manga }) @@ -41,7 +44,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,11 +57,18 @@ 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) } @@ -81,8 +91,8 @@ class FavouriteCategoriesBottomSheet : fun show(fm: FragmentManager, manga: Collection) = FavouriteCategoriesBottomSheet().withArgs(1) { putParcelableArrayList( KEY_MANGA_LIST, - manga.mapTo(ArrayList(manga.size)) { ParcelableManga(it, withChapters = false) } + manga.mapTo(ArrayList(manga.size)) { ParcelableManga(it, withChapters = false) }, ) }.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..7718eb661 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_bs" app:title="@string/add_to_favourites">