private fun isVisibleView(view: View?): Boolean {
view?.let {
if (!it.isShown) {
return false
}
val actualPosition = Rect()
it.getGlobalVisibleRect(actualPosition)
val screen = Rect(
0,
0,
Resources.getSystem().displayMetrics.widthPixels,
Resources.getSystem().displayMetrics.heightPixels
)
return actualPosition.intersect(screen)
} ?: run {
return false
}
}