Merge pull request #5385 from Isira-Seneviratne/SoftwareKeyboardControllerCompat

refactor: Use SoftwareKeyboardControllerCompat
This commit is contained in:
Isira Seneviratne 2023-12-24 16:15:02 +05:30 committed by GitHub
commit ab6fe462e4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 8 additions and 18 deletions

View File

@ -1,10 +0,0 @@
package com.github.libretube.extensions
import android.content.Context
import android.view.View
import android.view.inputmethod.InputMethodManager
import androidx.core.content.getSystemService
fun Context.hideKeyboard(view: View) {
getSystemService<InputMethodManager>()!!.hideSoftInputFromWindow(view.windowToken, 0)
}

View File

@ -27,6 +27,7 @@ import androidx.core.graphics.drawable.toDrawable
import androidx.core.net.toUri
import androidx.core.os.bundleOf
import androidx.core.os.postDelayed
import androidx.core.view.SoftwareKeyboardControllerCompat
import androidx.core.view.WindowCompat
import androidx.core.view.isGone
import androidx.core.view.isInvisible
@ -67,7 +68,6 @@ import com.github.libretube.db.obj.WatchPosition
import com.github.libretube.enums.PlayerEvent
import com.github.libretube.enums.ShareObjectType
import com.github.libretube.extensions.formatShort
import com.github.libretube.extensions.hideKeyboard
import com.github.libretube.extensions.parcelable
import com.github.libretube.extensions.seekBy
import com.github.libretube.extensions.serializableExtra
@ -114,16 +114,16 @@ import com.github.libretube.util.TextUtils
import com.github.libretube.util.TextUtils.toTimeInSeconds
import com.github.libretube.util.YoutubeHlsPlaylistParser
import com.github.libretube.util.deArrow
import java.io.IOException
import java.util.*
import java.util.concurrent.Executors
import kotlin.math.abs
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import kotlinx.serialization.encodeToString
import retrofit2.HttpException
import java.io.IOException
import java.util.*
import java.util.concurrent.Executors
import kotlin.math.abs
@androidx.annotation.OptIn(androidx.media3.common.util.UnstableApi::class)
class PlayerFragment : Fragment(), OnlinePlayerOptions {
@ -386,7 +386,7 @@ class PlayerFragment : Fragment(), OnlinePlayerOptions {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
context?.hideKeyboard(view)
SoftwareKeyboardControllerCompat(view).hide()
// reset the callbacks of the playing queue
PlayingQueue.resetToDefaults()

View File

@ -5,6 +5,7 @@ import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.core.view.SoftwareKeyboardControllerCompat
import androidx.core.view.isGone
import androidx.core.view.isVisible
import androidx.lifecycle.lifecycleScope
@ -18,7 +19,6 @@ import com.github.libretube.db.DatabaseHelper
import com.github.libretube.db.obj.SearchHistoryItem
import com.github.libretube.extensions.TAG
import com.github.libretube.extensions.ceilHalf
import com.github.libretube.extensions.hideKeyboard
import com.github.libretube.extensions.toastFromMainDispatcher
import com.github.libretube.helpers.PreferenceHelper
import com.github.libretube.ui.activities.MainActivity
@ -115,7 +115,7 @@ class SearchResultFragment : DynamicLayoutManagerFragment() {
"${ShareDialog.YOUTUBE_FRONTEND_URL}/watch?v=$videoId"
} ?: query
view?.let { context?.hideKeyboard(it) }
view?.let { SoftwareKeyboardControllerCompat(it).hide() }
val response = try {
withContext(Dispatchers.IO) {
RetrofitInstance.api.getSearchResults(searchQuery, searchFilter).apply {