mirror of
https://github.com/nextcloud/talk-android
synced 2025-06-22 13:09:46 +01:00
Remove magical scroll
Signed-off-by: Mario Danic <mario@lovelyhq.com>
This commit is contained in:
parent
1d020893ce
commit
077f0dc1b2
@ -167,9 +167,6 @@ public class ConversationsListController extends BaseController implements Searc
|
|||||||
|
|
||||||
private boolean isRefreshing;
|
private boolean isRefreshing;
|
||||||
|
|
||||||
private String lastClickedConversationToken;
|
|
||||||
private int scrollTo = 0;
|
|
||||||
|
|
||||||
private LovelySaveStateHandler saveStateHandler;
|
private LovelySaveStateHandler saveStateHandler;
|
||||||
|
|
||||||
private Bundle conversationMenuBundle = null;
|
private Bundle conversationMenuBundle = null;
|
||||||
@ -347,20 +344,13 @@ public class ConversationsListController extends BaseController implements Searc
|
|||||||
}
|
}
|
||||||
|
|
||||||
Conversation conversation;
|
Conversation conversation;
|
||||||
AbstractFlexibleItem itemToScrollTo = null;
|
|
||||||
for (int i = 0; i < roomsOverall.getOcs().getData().size(); i++) {
|
for (int i = 0; i < roomsOverall.getOcs().getData().size(); i++) {
|
||||||
conversation = roomsOverall.getOcs().getData().get(i);
|
conversation = roomsOverall.getOcs().getData().get(i);
|
||||||
if (shouldUseLastMessageLayout) {
|
if (shouldUseLastMessageLayout) {
|
||||||
ConversationItem conversationItem = new ConversationItem(conversation, currentUser);
|
ConversationItem conversationItem = new ConversationItem(conversation, currentUser);
|
||||||
if (!TextUtils.isEmpty(lastClickedConversationToken) && lastClickedConversationToken.equals(conversation.getToken())) {
|
|
||||||
itemToScrollTo = conversationItem;
|
|
||||||
}
|
|
||||||
callItems.add(conversationItem);
|
callItems.add(conversationItem);
|
||||||
} else {
|
} else {
|
||||||
CallItem callItem = new CallItem(conversation, currentUser);
|
CallItem callItem = new CallItem(conversation, currentUser);
|
||||||
if (!TextUtils.isEmpty(lastClickedConversationToken) && lastClickedConversationToken.equals(conversation.getToken())) {
|
|
||||||
itemToScrollTo = callItem;
|
|
||||||
}
|
|
||||||
callItems.add(callItem);
|
callItems.add(callItem);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -379,11 +369,6 @@ public class ConversationsListController extends BaseController implements Searc
|
|||||||
Long.compare(((CallItem) t1).getModel().getLastPing(),
|
Long.compare(((CallItem) t1).getModel().getLastPing(),
|
||||||
((CallItem) callItem).getModel().getLastPing()));
|
((CallItem) callItem).getModel().getLastPing()));
|
||||||
}
|
}
|
||||||
if (itemToScrollTo == null || callItems.indexOf(itemToScrollTo) == -1) {
|
|
||||||
scrollTo = 0;
|
|
||||||
} else {
|
|
||||||
scrollTo = callItems.indexOf(itemToScrollTo);
|
|
||||||
}
|
|
||||||
|
|
||||||
adapter.updateDataSet(callItems, true);
|
adapter.updateDataSet(callItems, true);
|
||||||
|
|
||||||
@ -464,34 +449,6 @@ public class ConversationsListController extends BaseController implements Searc
|
|||||||
|
|
||||||
fastScroller.addOnScrollStateChangeListener(this);
|
fastScroller.addOnScrollStateChangeListener(this);
|
||||||
adapter.setFastScroller(fastScroller);
|
adapter.setFastScroller(fastScroller);
|
||||||
adapter.registerAdapterDataObserver(new RecyclerView.AdapterDataObserver() {
|
|
||||||
@Override
|
|
||||||
public void onChanged() {
|
|
||||||
super.onChanged();
|
|
||||||
if (recyclerView != null) {
|
|
||||||
recyclerView.smoothScrollToPosition(scrollTo);
|
|
||||||
}
|
|
||||||
lastClickedConversationToken = "";
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onItemRangeChanged(int positionStart, int itemCount) {
|
|
||||||
super.onItemRangeChanged(positionStart, itemCount);
|
|
||||||
if (recyclerView != null) {
|
|
||||||
recyclerView.smoothScrollToPosition(scrollTo);
|
|
||||||
}
|
|
||||||
lastClickedConversationToken = "";
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onItemRangeChanged(int positionStart, int itemCount, @Nullable Object payload) {
|
|
||||||
super.onItemRangeChanged(positionStart, itemCount, payload);
|
|
||||||
if (recyclerView != null) {
|
|
||||||
recyclerView.smoothScrollToPosition(scrollTo);
|
|
||||||
}
|
|
||||||
lastClickedConversationToken = "";
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
fastScroller.setBubbleTextCreator(position -> {
|
fastScroller.setBubbleTextCreator(position -> {
|
||||||
String displayName;
|
String displayName;
|
||||||
@ -658,7 +615,6 @@ public class ConversationsListController extends BaseController implements Searc
|
|||||||
conversation = ((CallItem) clickedItem).getModel();
|
conversation = ((CallItem) clickedItem).getModel();
|
||||||
}
|
}
|
||||||
|
|
||||||
lastClickedConversationToken = conversation.getToken();
|
|
||||||
|
|
||||||
Bundle bundle = new Bundle();
|
Bundle bundle = new Bundle();
|
||||||
bundle.putParcelable(BundleKeys.KEY_USER_ENTITY, currentUser);
|
bundle.putParcelable(BundleKeys.KEY_USER_ENTITY, currentUser);
|
||||||
|
Loading…
Reference in New Issue
Block a user