From dd0d23359b65bc423e4f97bd1a9fb5072c22790a Mon Sep 17 00:00:00 2001
From: Torsten Grote <t@grobox.de>
Date: Wed, 3 Aug 2016 19:12:53 -0300
Subject: [PATCH] Prevent empty state messages from showing briefly

When we clear a list in onPause(), the proper behavior is that the empty state
message is shown, because the list is indeed empty.

However, we will reload the list content again in onResume(),
so the fix chosen in this commit is to force showing the progress bar
right after clearing the list.

Closes #576
---
 .../src/org/briarproject/android/blogs/MyBlogsFragment.java | 1 +
 .../briarproject/android/contact/ContactListFragment.java   | 3 ++-
 .../org/briarproject/android/forum/ForumListFragment.java   | 1 +
 .../android/introduction/ContactChooserFragment.java        | 1 +
 .../briarproject/android/sharing/InvitationsActivity.java   | 6 ++++--
 5 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/briar-android/src/org/briarproject/android/blogs/MyBlogsFragment.java b/briar-android/src/org/briarproject/android/blogs/MyBlogsFragment.java
index 1cc4ee8ace..97f33ebf4b 100644
--- a/briar-android/src/org/briarproject/android/blogs/MyBlogsFragment.java
+++ b/briar-android/src/org/briarproject/android/blogs/MyBlogsFragment.java
@@ -82,6 +82,7 @@ public class MyBlogsFragment extends BaseFragment {
 	public void onResume() {
 		super.onResume();
 		adapter.clear();
+		list.showProgressBar();
 		loadBlogs();
 	}
 
diff --git a/briar-android/src/org/briarproject/android/contact/ContactListFragment.java b/briar-android/src/org/briarproject/android/contact/ContactListFragment.java
index 2f7dd90681..afda3f0cf9 100644
--- a/briar-android/src/org/briarproject/android/contact/ContactListFragment.java
+++ b/briar-android/src/org/briarproject/android/contact/ContactListFragment.java
@@ -192,8 +192,9 @@ public class ContactListFragment extends BaseFragment implements EventListener {
 	@Override
 	public void onPause() {
 		super.onPause();
-		adapter.clear();
 		eventBus.removeListener(this);
+		adapter.clear();
+		list.showProgressBar();
 		list.stopPeriodicUpdate();
 	}
 
diff --git a/briar-android/src/org/briarproject/android/forum/ForumListFragment.java b/briar-android/src/org/briarproject/android/forum/ForumListFragment.java
index 93fece1089..ec83d6a978 100644
--- a/briar-android/src/org/briarproject/android/forum/ForumListFragment.java
+++ b/briar-android/src/org/briarproject/android/forum/ForumListFragment.java
@@ -119,6 +119,7 @@ public class ForumListFragment extends BaseEventFragment implements
 		super.onPause();
 
 		adapter.clear();
+		list.showProgressBar();
 		list.stopPeriodicUpdate();
 	}
 
diff --git a/briar-android/src/org/briarproject/android/introduction/ContactChooserFragment.java b/briar-android/src/org/briarproject/android/introduction/ContactChooserFragment.java
index 8bf810454f..bbbb14e460 100644
--- a/briar-android/src/org/briarproject/android/introduction/ContactChooserFragment.java
+++ b/briar-android/src/org/briarproject/android/introduction/ContactChooserFragment.java
@@ -140,6 +140,7 @@ public class ContactChooserFragment extends BaseFragment {
 	public void onPause() {
 		super.onPause();
 		adapter.clear();
+		list.showProgressBar();
 	}
 
 	@Override
diff --git a/briar-android/src/org/briarproject/android/sharing/InvitationsActivity.java b/briar-android/src/org/briarproject/android/sharing/InvitationsActivity.java
index 985b73bdd2..ec7ab1f161 100644
--- a/briar-android/src/org/briarproject/android/sharing/InvitationsActivity.java
+++ b/briar-android/src/org/briarproject/android/sharing/InvitationsActivity.java
@@ -28,6 +28,7 @@ abstract class InvitationsActivity extends BriarActivity
 			Logger.getLogger(InvitationsActivity.class.getName());
 
 	private InvitationAdapter adapter;
+	private BriarRecyclerView list;
 
 	@Inject
 	protected EventBus eventBus;
@@ -40,8 +41,8 @@ abstract class InvitationsActivity extends BriarActivity
 
 		adapter = getAdapter(this, this);
 
-		BriarRecyclerView list =
-				(BriarRecyclerView) findViewById(R.id.invitationsView);
+
+		list = (BriarRecyclerView) findViewById(R.id.invitationsView);
 		if (list != null) {
 			list.setLayoutManager(new LinearLayoutManager(this));
 			list.setAdapter(adapter);
@@ -60,6 +61,7 @@ abstract class InvitationsActivity extends BriarActivity
 		super.onPause();
 		eventBus.removeListener(this);
 		adapter.clear();
+		list.showProgressBar();
 	}
 
 	@Override
-- 
GitLab