Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2e919378 authored by Moez Bhatti's avatar Moez Bhatti
Browse files

Dismiss keyboard when drawer is opened

parent 9c672a3e
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -18,9 +18,11 @@
 */
package common.util.extensions

import android.app.Activity
import android.content.Context
import android.support.annotation.StringRes
import android.support.v4.content.ContextCompat
import android.view.inputmethod.InputMethodManager
import android.widget.Toast

fun Context.getColorCompat(colorRes: Int): Int {
@@ -34,3 +36,12 @@ fun Context.makeToast(@StringRes res: Int, duration: Int = Toast.LENGTH_SHORT) {
fun Context.makeToast(text: String, duration: Int = Toast.LENGTH_SHORT) {
    Toast.makeText(this, text, duration).show()
}

fun Activity.dismissKeyboard() {
    window.currentFocus?.let { focus ->
        val imm = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
        imm.hideSoftInputFromWindow(focus.windowToken, 0)

        focus.clearFocus()
    }
}
 No newline at end of file
+7 −1
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@ import common.MenuItemAdapter
import common.Navigator
import common.base.QkThemedActivity
import common.util.extensions.autoScrollToStart
import common.util.extensions.dismissKeyboard
import common.util.extensions.dpToPx
import common.util.extensions.setBackgroundTint
import common.util.extensions.setTint
@@ -68,7 +69,11 @@ class MainActivity : QkThemedActivity<MainViewModel>(), MainView {
    override val queryChangedIntent by lazy { toolbarSearch.textChanges() }
    override val queryCancelledIntent: PublishSubject<Unit> = PublishSubject.create()
    override val composeIntent by lazy { compose.clicks() }
    override val drawerOpenIntent by lazy { drawerLayout.drawerOpen(Gravity.START) }
    override val drawerOpenIntent: Observable<Boolean> by lazy {
        drawerLayout
                .drawerOpen(Gravity.START)
                .doOnNext { dismissKeyboard() }
    }
    override val drawerItemIntent: Observable<DrawerItem> by lazy {
        Observable.merge(listOf(
                inbox.clicks().map { DrawerItem.INBOX },
@@ -253,6 +258,7 @@ class MainActivity : QkThemedActivity<MainViewModel>(), MainView {
    }

    override fun clearSearch() {
        dismissKeyboard()
        toolbarSearch.text = null
    }