mirror of
https://github.com/nextcloud/talk-android
synced 2025-06-20 12:09:45 +01:00
Merge pull request #895 from dan0xii/826-chat-scroll-c
ChatView scrolling fix
This commit is contained in:
commit
c0bfb10e14
@ -29,7 +29,6 @@ import android.content.Intent
|
|||||||
import android.content.res.Resources
|
import android.content.res.Resources
|
||||||
import android.graphics.PorterDuff
|
import android.graphics.PorterDuff
|
||||||
import android.graphics.drawable.ColorDrawable
|
import android.graphics.drawable.ColorDrawable
|
||||||
import android.graphics.drawable.Drawable
|
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.text.Editable
|
import android.text.Editable
|
||||||
@ -49,7 +48,6 @@ import androidx.recyclerview.widget.RecyclerView
|
|||||||
import coil.ImageLoader
|
import coil.ImageLoader
|
||||||
import coil.api.load
|
import coil.api.load
|
||||||
import coil.api.loadAny
|
import coil.api.loadAny
|
||||||
import coil.target.Target
|
|
||||||
import coil.transform.CircleCropTransformation
|
import coil.transform.CircleCropTransformation
|
||||||
import com.bluelinelabs.conductor.RouterTransaction
|
import com.bluelinelabs.conductor.RouterTransaction
|
||||||
import com.bluelinelabs.conductor.archlifecycle.ControllerLifecycleOwner
|
import com.bluelinelabs.conductor.archlifecycle.ControllerLifecycleOwner
|
||||||
@ -71,13 +69,14 @@ import com.nextcloud.talk.newarch.local.models.getMaxMessageLength
|
|||||||
import com.nextcloud.talk.newarch.local.models.toUserEntity
|
import com.nextcloud.talk.newarch.local.models.toUserEntity
|
||||||
import com.nextcloud.talk.newarch.mvvm.BaseView
|
import com.nextcloud.talk.newarch.mvvm.BaseView
|
||||||
import com.nextcloud.talk.newarch.mvvm.ext.initRecyclerView
|
import com.nextcloud.talk.newarch.mvvm.ext.initRecyclerView
|
||||||
import com.nextcloud.talk.newarch.utils.swipe.ChatMessageSwipeCallback
|
|
||||||
import com.nextcloud.talk.newarch.utils.Images
|
|
||||||
import com.nextcloud.talk.newarch.utils.NetworkComponents
|
import com.nextcloud.talk.newarch.utils.NetworkComponents
|
||||||
|
import com.nextcloud.talk.newarch.utils.swipe.ChatMessageSwipeCallback
|
||||||
import com.nextcloud.talk.newarch.utils.swipe.ChatMessageSwipeInterface
|
import com.nextcloud.talk.newarch.utils.swipe.ChatMessageSwipeInterface
|
||||||
import com.nextcloud.talk.presenters.MentionAutocompletePresenter
|
import com.nextcloud.talk.presenters.MentionAutocompletePresenter
|
||||||
import com.nextcloud.talk.utils.*
|
|
||||||
import com.nextcloud.talk.utils.AccountUtils.canWeOpenFilesApp
|
import com.nextcloud.talk.utils.AccountUtils.canWeOpenFilesApp
|
||||||
|
import com.nextcloud.talk.utils.DateUtils
|
||||||
|
import com.nextcloud.talk.utils.DrawableUtils
|
||||||
|
import com.nextcloud.talk.utils.MagicCharPolicy
|
||||||
import com.nextcloud.talk.utils.bundle.BundleKeys
|
import com.nextcloud.talk.utils.bundle.BundleKeys
|
||||||
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_ACCOUNT
|
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_ACCOUNT
|
||||||
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_BROWSER_TYPE
|
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_BROWSER_TYPE
|
||||||
@ -153,6 +152,10 @@ class ChatView(private val bundle: Bundle) : BaseView(), ImageLoaderInterface {
|
|||||||
super.onItemRangeInserted(positionStart, itemCount)
|
super.onItemRangeInserted(positionStart, itemCount)
|
||||||
val layoutManager = view.messagesRecyclerView.layoutManager as LinearLayoutManager
|
val layoutManager = view.messagesRecyclerView.layoutManager as LinearLayoutManager
|
||||||
|
|
||||||
|
if (layoutManager.findLastVisibleItemPosition() == RecyclerView.NO_POSITION) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
if (layoutManager.findLastVisibleItemPosition() == positionStart - 1) {
|
if (layoutManager.findLastVisibleItemPosition() == positionStart - 1) {
|
||||||
view.messagesRecyclerView.post {
|
view.messagesRecyclerView.post {
|
||||||
view.messagesRecyclerView.smoothScrollToPosition(positionStart + 1)
|
view.messagesRecyclerView.smoothScrollToPosition(positionStart + 1)
|
||||||
|
Loading…
Reference in New Issue
Block a user