show scroll down button instantly when scrolling up

Daniel Gultsch created

Change summary

gradle.properties                                                 |  3 
src/main/java/eu/siacs/conversations/ui/ConversationFragment.java | 15 
2 files changed, 8 insertions(+), 10 deletions(-)

Detailed changes

gradle.properties 🔗

@@ -12,7 +12,4 @@
 # This option should only be used with decoupled projects. More details, visit
 # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
 # org.gradle.parallel=true
-#Sat Feb 17 18:50:27 CST 2018
-systemProp.http.proxyHost=127.0.0.1
 org.gradle.jvmargs=-Xmx2048M
-systemProp.http.proxyPort=1080

src/main/java/eu/siacs/conversations/ui/ConversationFragment.java 🔗

@@ -187,11 +187,15 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke
 	};
 
 	private void toggleScrollDownButton() {
-		toggleScrollDownButton(binding.messagesView, binding.messagesView.getCount());
+		toggleScrollDownButton(binding.messagesView);
 	}
 
-	private void toggleScrollDownButton(AbsListView listView, int count) {
-		if (listView.getLastVisiblePosition() < count - 5) {
+	private void toggleScrollDownButton(AbsListView listView) {
+		if (scrolledToBottom(listView)) {
+			lastMessageUuid = null;
+			hideUnreadMessagesCount();
+
+		} else {
 			binding.scrollToBottomButton.setEnabled(true);
 			binding.scrollToBottomButton.setVisibility(View.VISIBLE);
 			if (lastMessageUuid == null) {
@@ -200,9 +204,6 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke
 			if (conversation.getReceivedMessagesCountSinceUuid(lastMessageUuid) > 0) {
 				binding.unreadCountCustomView.setVisibility(View.VISIBLE);
 			}
-		} else if (scrolledToBottom(listView)){
-			lastMessageUuid = null;
-			hideUnreadMessagesCount();
 		}
 	}
 
@@ -215,7 +216,7 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke
 
 		@Override
 		public void onScroll(final AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
-			toggleScrollDownButton(view, totalItemCount);
+			toggleScrollDownButton(view);
 			synchronized (ConversationFragment.this.messageList) {
 				if (firstVisibleItem < 5 && conversation != null && conversation.messagesLoaded.compareAndSet(true, false) && messageList.size() > 0) {
 					long timestamp;