diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/base/controller/BaseController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/base/controller/BaseController.kt index f8cc74a30..9f55cd033 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/base/controller/BaseController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/base/controller/BaseController.kt @@ -1,8 +1,10 @@ package eu.kanade.tachiyomi.ui.base.controller import android.os.Bundle +import android.support.v4.view.MenuItemCompat import android.support.v7.app.AppCompatActivity import android.view.LayoutInflater +import android.view.MenuItem import android.view.View import android.view.ViewGroup import com.bluelinelabs.conductor.ControllerChangeHandler @@ -44,4 +46,23 @@ abstract class BaseController(bundle: Bundle? = null) : RestoreViewOnCreateContr (activity as? AppCompatActivity)?.supportActionBar?.title = getTitle() } + /** + * Workaround for disappearing menu items when collapsing an expandable item like a SearchView. + * This method should be removed when fixed upstream. + * Issue link: https://issuetracker.google.com/issues/37657375 + */ + fun MenuItem.fixExpand() { + val expandListener = object : MenuItemCompat.OnActionExpandListener { + override fun onMenuItemActionExpand(item: MenuItem): Boolean { + return true + } + + override fun onMenuItemActionCollapse(item: MenuItem): Boolean { + activity?.invalidateOptionsMenu() + return true + } + } + MenuItemCompat.setOnActionExpandListener(this, expandListener) + } + } \ No newline at end of file diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt index a04eea87f..34b190d2d 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryController.kt @@ -346,6 +346,8 @@ class LibraryController( query = it.toString() searchRelay.call(query) } + + searchItem.fixExpand() } override fun onPrepareOptionsMenu(menu: Menu) {