diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/extensions/Activity-Extension.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/extensions/Activity-Extension.kt new file mode 100644 index 000000000..30f595876 --- /dev/null +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/extensions/Activity-Extension.kt @@ -0,0 +1,10 @@ +package com.habitrpg.android.habitica.extensions + +import android.app.Activity +import android.content.Context +import android.view.inputmethod.InputMethodManager + +fun Activity.hideKeyboard() { + val imm = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager + imm.hideSoftInputFromWindow(window.decorView.windowToken, 0) +} diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.kt index fa7428d14..fac789fc8 100755 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.kt @@ -223,6 +223,7 @@ open class MainActivity : BaseActivity(), TutorialView.OnTutorialReaction { } override fun onDrawerOpened(drawerView: View) { + hideKeyboard() val modernHeaderStyle = sharedPreferences.getBoolean("modern_header_style", true) if (!isUsingNightModeResources() && modernHeaderStyle) { window.updateStatusBarColor(getThemeColor(R.attr.colorPrimaryDark), false) @@ -250,6 +251,7 @@ open class MainActivity : BaseActivity(), TutorialView.OnTutorialReaction { val navigationController = findNavController(R.id.nav_host_fragment) navigationController.addOnDestinationChangedListener { _, destination, arguments -> + hideKeyboard() updateToolbarTitle(destination, arguments) } setupNotifications() @@ -296,6 +298,7 @@ open class MainActivity : BaseActivity(), TutorialView.OnTutorialReaction { } override fun onSupportNavigateUp(): Boolean { + hideKeyboard() onBackPressed() return true } @@ -906,4 +909,4 @@ open class MainActivity : BaseActivity(), TutorialView.OnTutorialReaction { const val NOTIFICATION_ACCEPT = 223 const val NOTIFICATION_REJECT = 224 } -} \ No newline at end of file +}