Move favourites order from menu to header
parent
2654de96ba
commit
b293fee742
@ -1,48 +0,0 @@
|
|||||||
package org.koitharu.kotatsu.favourites.ui.list
|
|
||||||
|
|
||||||
import android.view.Menu
|
|
||||||
import android.view.MenuInflater
|
|
||||||
import android.view.MenuItem
|
|
||||||
import androidx.core.view.MenuProvider
|
|
||||||
import androidx.core.view.iterator
|
|
||||||
import org.koitharu.kotatsu.R
|
|
||||||
import org.koitharu.kotatsu.core.ui.titleRes
|
|
||||||
import org.koitharu.kotatsu.favourites.ui.categories.FavouriteCategoriesActivity
|
|
||||||
|
|
||||||
class FavouritesListMenuProvider(
|
|
||||||
private val viewModel: FavouritesListViewModel,
|
|
||||||
) : MenuProvider {
|
|
||||||
|
|
||||||
override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
|
|
||||||
menuInflater.inflate(R.menu.opt_favourites_list, menu)
|
|
||||||
menu.findItem(R.id.action_order)?.subMenu?.let { submenu ->
|
|
||||||
for ((i, item) in FavouriteCategoriesActivity.SORT_ORDERS.withIndex()) {
|
|
||||||
val menuItem = submenu.add(R.id.group_order, Menu.NONE, i, item.titleRes)
|
|
||||||
menuItem.isCheckable = true
|
|
||||||
}
|
|
||||||
submenu.setGroupCheckable(R.id.group_order, true, true)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onPrepareMenu(menu: Menu) {
|
|
||||||
menu.findItem(R.id.action_order)?.subMenu?.let { submenu ->
|
|
||||||
val selectedOrder = viewModel.sortOrder.value
|
|
||||||
for (item in submenu) {
|
|
||||||
val order = FavouriteCategoriesActivity.SORT_ORDERS.getOrNull(item.order)
|
|
||||||
item.isChecked = order == selectedOrder
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
|
|
||||||
return when {
|
|
||||||
menuItem.itemId == R.id.action_order -> false
|
|
||||||
menuItem.groupId == R.id.group_order -> {
|
|
||||||
val order = FavouriteCategoriesActivity.SORT_ORDERS.getOrNull(menuItem.order) ?: return false
|
|
||||||
viewModel.setSortOrder(order)
|
|
||||||
true
|
|
||||||
}
|
|
||||||
else -> false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,19 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<menu
|
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
|
||||||
|
|
||||||
<item
|
|
||||||
android:id="@+id/action_order"
|
|
||||||
android:orderInCategory="30"
|
|
||||||
android:title="@string/sort_order">
|
|
||||||
|
|
||||||
<menu>
|
|
||||||
|
|
||||||
<group
|
|
||||||
android:id="@+id/group_order"
|
|
||||||
android:checkableBehavior="single" />
|
|
||||||
</menu>
|
|
||||||
|
|
||||||
</item>
|
|
||||||
|
|
||||||
</menu>
|
|
||||||
Loading…
Reference in New Issue