aboutsummaryrefslogtreecommitdiff
path: root/searchview/src/main/kotlin/ca/allanwang/kau/searchview/SearchViewHolder.kt
blob: 3f81dd06d0835ca6159854a8d70f0e3866b58525 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package ca.allanwang.kau.searchview

import android.view.MenuItem

/**
 * Created by Allan Wang on 2017-11-12.
 *
 * Interface to help facilitate searchview binding and actions
 */
interface SearchViewHolder {

    var searchView: SearchView?

    fun searchViewBindIfNull(binder: () -> SearchView) {
        if (searchView == null) searchView = binder()
    }

    fun searchViewOnBackPress() = searchView?.onBackPressed() ?: false

    fun searchViewUnBind(replacementMenuItemClickListener: ((item: MenuItem) -> Boolean)? = null) {
        searchView?.unBind(replacementMenuItemClickListener)
        searchView = null
    }

}