Merge branch 'dev' of https://github.com/h4h13/RetroMusicPlayer into dev
Conflicts: app/src/main/java/io/github/muntashirakon/music/Constants.kt app/src/main/java/io/github/muntashirakon/music/adapter/GenreAdapter.kt app/src/main/java/io/github/muntashirakon/music/adapter/HomeAdapter.kt app/src/main/java/io/github/muntashirakon/music/adapter/SearchAdapter.kt app/src/main/java/io/github/muntashirakon/music/fragments/LibraryViewModel.kt app/src/main/java/io/github/muntashirakon/music/fragments/base/AbsPlayerFragment.kt app/src/main/java/io/github/muntashirakon/music/fragments/base/AbsRecyclerViewFragment.kt app/src/main/java/io/github/muntashirakon/music/fragments/genres/GenreDetailsFragment.kt app/src/main/java/io/github/muntashirakon/music/fragments/genres/GenresFragment.kt app/src/main/java/io/github/muntashirakon/music/fragments/home/HomeFragment.kt app/src/main/java/io/github/muntashirakon/music/fragments/search/SearchFragment.kt app/src/main/java/io/github/muntashirakon/music/interfaces/IGenreClickListener.kt app/src/main/java/io/github/muntashirakon/music/interfaces/IHomeClickListener.kt app/src/main/java/io/github/muntashirakon/music/preferences/AlbumCoverStylePreferenceDialog.kt app/src/main/java/io/github/muntashirakon/music/preferences/NowPlayingScreenPreferenceDialog.kt app/src/main/java/io/github/muntashirakon/music/service/notification/PlayingNotificationImpl.kt app/src/main/java/io/github/muntashirakon/music/util/MusicUtil.kt app/src/main/java/io/github/muntashirakon/music/util/PreferenceUtil.kt app/src/main/res/layout/activity_donation.xml app/src/main/res/layout/activity_pro_version.xml app/src/main/res/layout/card_other.xml app/src/main/res/layout/fragment_settings.xml app/src/main/res/layout/fragment_synced.xml app/src/main/res/layout/image.xml app/src/main/res/transition/change_bounds.xml appthemehelper/src/main/res/layout/ate_preference_custom.xml
This commit is contained in:
commit
2dea5c31ca
192 changed files with 10165 additions and 8185 deletions
|
@ -14,9 +14,12 @@
|
|||
package io.github.muntashirakon.music.extensions
|
||||
|
||||
import android.animation.ObjectAnimator
|
||||
import android.content.Context
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.view.ViewTreeObserver
|
||||
import android.view.inputmethod.InputMethodManager
|
||||
import android.widget.EditText
|
||||
import androidx.annotation.LayoutRes
|
||||
import androidx.core.animation.doOnEnd
|
||||
|
@ -74,3 +77,39 @@ fun BottomSheetBehavior<*>.peekHeightAnimate(value: Int) {
|
|||
start()
|
||||
}
|
||||
}
|
||||
|
||||
fun View.focusAndShowKeyboard() {
|
||||
/**
|
||||
* This is to be called when the window already has focus.
|
||||
*/
|
||||
fun View.showTheKeyboardNow() {
|
||||
if (isFocused) {
|
||||
post {
|
||||
// We still post the call, just in case we are being notified of the windows focus
|
||||
// but InputMethodManager didn't get properly setup yet.
|
||||
val imm =
|
||||
context.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
|
||||
imm.showSoftInput(this, InputMethodManager.SHOW_IMPLICIT)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
requestFocus()
|
||||
if (hasWindowFocus()) {
|
||||
// No need to wait for the window to get focus.
|
||||
showTheKeyboardNow()
|
||||
} else {
|
||||
// We need to wait until the window gets focus.
|
||||
viewTreeObserver.addOnWindowFocusChangeListener(
|
||||
object : ViewTreeObserver.OnWindowFocusChangeListener {
|
||||
override fun onWindowFocusChanged(hasFocus: Boolean) {
|
||||
// This notification will arrive just before the InputMethodManager gets set up.
|
||||
if (hasFocus) {
|
||||
this@focusAndShowKeyboard.showTheKeyboardNow()
|
||||
// It’s very important to remove this listener once we are done.
|
||||
viewTreeObserver.removeOnWindowFocusChangeListener(this)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue