Skip to content

Commit

Permalink
show keyboard update
Browse files Browse the repository at this point in the history
(cherry picked from commit bc414d3)
  • Loading branch information
crackededed committed Feb 21, 2024
1 parent 85293af commit 2c7a6e8
Show file tree
Hide file tree
Showing 7 changed files with 13 additions and 35 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ import com.github.andreyasadchy.xtra.util.chat.Command
import com.github.andreyasadchy.xtra.util.chat.PointsEarned
import com.github.andreyasadchy.xtra.util.chat.Raid
import com.github.andreyasadchy.xtra.util.chat.RoomState
import com.github.andreyasadchy.xtra.util.hideKeyboard
import com.github.andreyasadchy.xtra.util.prefs
import com.github.andreyasadchy.xtra.util.visible
import dagger.hilt.android.AndroidEntryPoint
Expand Down Expand Up @@ -263,11 +262,6 @@ class ChatFragment : BaseNetworkFragment(), LifecycleListener, MessageClickedDia
}
}

fun hideKeyboard() {
binding.chatView.hideKeyboard()
binding.chatView.clearFocus()
}

fun emoteMenuIsVisible() = binding.chatView.emoteMenuIsVisible()

fun toggleEmoteMenu(enable: Boolean) = binding.chatView.toggleEmoteMenu(enable)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -448,6 +448,8 @@ abstract class BasePlayerFragment : BaseNetworkFragment(), LifecycleListener, Sl
}

override fun onMinimize() {
chatLayout.hideKeyboard()
chatLayout.clearFocus()
if (this@BasePlayerFragment is StreamPlayerFragment && emoteMenuIsVisible()) {
toggleBackPressedCallback(false)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -496,11 +496,6 @@ class StreamPlayerFragment : BasePlayerFragment() {

fun toggleBackPressedCallback(enable: Boolean) = chatFragment.toggleBackPressedCallback(enable)

override fun onMinimize() {
super.onMinimize()
chatFragment.hideKeyboard()
}

// override fun play(obj: Parcelable) {
// val stream = obj as Stream
// if (viewModel.stream != stream) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ import com.github.andreyasadchy.xtra.util.getAlertDialogBuilder
import com.github.andreyasadchy.xtra.util.gone
import com.github.andreyasadchy.xtra.util.prefs
import com.github.andreyasadchy.xtra.util.reduceDragSensitivity
import com.github.andreyasadchy.xtra.util.showKeyboard
import com.google.android.material.tabs.TabLayoutMediator
import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.Job
Expand Down Expand Up @@ -155,7 +154,9 @@ class SearchPagerFragment : BaseNetworkFragment(), FragmentHost {
else -> false
}
}
searchView.showKeyboard()
searchView.post {
searchView.isIconified = false
}
ViewCompat.setOnApplyWindowInsetsListener(view) { _, windowInsets ->
val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
toolbar.updateLayoutParams<ViewGroup.MarginLayoutParams> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ import com.github.andreyasadchy.xtra.ui.main.IntegrityDialog
import com.github.andreyasadchy.xtra.util.C
import com.github.andreyasadchy.xtra.util.TwitchApiHelper
import com.github.andreyasadchy.xtra.util.prefs
import com.github.andreyasadchy.xtra.util.showKeyboard
import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.Job
import kotlinx.coroutines.delay
Expand Down Expand Up @@ -55,7 +54,9 @@ class TagSearchFragment : PagedListFragment() {
val navController = findNavController()
val appBarConfiguration = AppBarConfiguration(setOf(R.id.rootGamesFragment, R.id.rootTopFragment, R.id.followPagerFragment, R.id.followMediaFragment, R.id.savedPagerFragment, R.id.savedMediaFragment))
toolbar.setupWithNavController(navController, appBarConfiguration)
searchView.showKeyboard()
searchView.post {
searchView.isIconified = false
}
ViewCompat.setOnApplyWindowInsetsListener(view) { _, windowInsets ->
val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
toolbar.updateLayoutParams<ViewGroup.MarginLayoutParams> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ import android.widget.TextView
import androidx.activity.OnBackPressedCallback
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.core.content.res.use
import androidx.core.view.WindowCompat
import androidx.core.view.WindowInsetsCompat
import androidx.core.view.isGone
import androidx.core.view.isVisible
import androidx.core.widget.TextViewCompat
Expand Down Expand Up @@ -337,7 +339,8 @@ class ChatView : ConstraintLayout {
binding.editText.apply {
setText(text)
setSelection(text.length)
showKeyboard()
requestFocus()
WindowCompat.getInsetsController(fragment.requireActivity().window, this).show(WindowInsetsCompat.Type.ime())
}
}

Expand Down Expand Up @@ -543,7 +546,7 @@ class ChatView : ConstraintLayout {
override fun publishResults(constraint: CharSequence?, results: FilterResults) {
val objectsField = ArrayAdapter::class.java.getDeclaredField("mObjects")
objectsField.isAccessible = true
objectsField.set(this@AutoCompleteAdapter, results.values as? List<*> ?: emptyList<Any>())
objectsField.set(this@AutoCompleteAdapter, results.values as? List<*> ?: mutableListOf<Any>())
if (results.count > 0) {
notifyDataSetChanged()
} else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,9 @@ import android.os.Build
import android.util.AttributeSet
import android.view.View
import android.view.inputmethod.InputMethodManager
import android.widget.EditText
import android.widget.ImageView
import androidx.annotation.ColorRes
import androidx.appcompat.widget.AppCompatTextView
import androidx.appcompat.widget.SearchView
import androidx.core.content.ContextCompat
import androidx.core.graphics.drawable.DrawableCompat
import androidx.core.view.isVisible
Expand Down Expand Up @@ -78,22 +76,6 @@ fun ImageView.loadBitmap(url: String) {
}
}

fun EditText.showKeyboard() {
requestFocus()
val imm: InputMethodManager? = context.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager?
this.postDelayed({
imm?.showSoftInput(this, 0)
}, 100)
}

fun SearchView.showKeyboard() {
val imm: InputMethodManager? = context.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager?
this.postDelayed({
this.isIconified = false
imm?.showSoftInput(this, 0)
}, 100)
}

fun View.hideKeyboard() {
(context.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager).hideSoftInputFromWindow(windowToken, 0)
}
Expand Down

0 comments on commit 2c7a6e8

Please sign in to comment.