mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-18 13:49:53 +01:00
address issues with new BriarRecyclerView found in review
This commit is contained in:
@@ -133,7 +133,12 @@ public class ContactListActivity extends BriarActivity
|
|||||||
private void displayContacts(final List<ContactListItem> contacts) {
|
private void displayContacts(final List<ContactListItem> contacts) {
|
||||||
runOnUiThread(new Runnable() {
|
runOnUiThread(new Runnable() {
|
||||||
public void run() {
|
public void run() {
|
||||||
adapter.addAll(contacts);
|
if (contacts.size() > 0) {
|
||||||
|
adapter.addAll(contacts);
|
||||||
|
} else {
|
||||||
|
// no contacts to display, make sure progress bar is hidden
|
||||||
|
list.showData();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -49,9 +49,7 @@ public class BriarRecyclerView extends FrameLayout {
|
|||||||
emptyView = (TextView) v.findViewById(R.id.emptyView);
|
emptyView = (TextView) v.findViewById(R.id.emptyView);
|
||||||
progressBar = (ProgressBar) v.findViewById(R.id.progressBar);
|
progressBar = (ProgressBar) v.findViewById(R.id.progressBar);
|
||||||
|
|
||||||
recyclerView.setVisibility(View.INVISIBLE);
|
showProgressBar();
|
||||||
emptyView.setVisibility(View.INVISIBLE);
|
|
||||||
progressBar.setVisibility(View.VISIBLE);
|
|
||||||
|
|
||||||
emptyObserver = new RecyclerView.AdapterDataObserver() {
|
emptyObserver = new RecyclerView.AdapterDataObserver() {
|
||||||
@Override
|
@Override
|
||||||
@@ -72,6 +70,11 @@ public class BriarRecyclerView extends FrameLayout {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void setAdapter(RecyclerView.Adapter adapter) {
|
public void setAdapter(RecyclerView.Adapter adapter) {
|
||||||
|
RecyclerView.Adapter oldAdapter = recyclerView.getAdapter();
|
||||||
|
if (oldAdapter != null) {
|
||||||
|
oldAdapter.unregisterAdapterDataObserver(emptyObserver);
|
||||||
|
}
|
||||||
|
|
||||||
recyclerView.setAdapter(adapter);
|
recyclerView.setAdapter(adapter);
|
||||||
|
|
||||||
if (adapter != null) {
|
if (adapter != null) {
|
||||||
@@ -95,7 +98,7 @@ public class BriarRecyclerView extends FrameLayout {
|
|||||||
progressBar.setVisibility(View.VISIBLE);
|
progressBar.setVisibility(View.VISIBLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void showData() {
|
public void showData() {
|
||||||
RecyclerView.Adapter<?> adapter = recyclerView.getAdapter();
|
RecyclerView.Adapter<?> adapter = recyclerView.getAdapter();
|
||||||
if (adapter != null) {
|
if (adapter != null) {
|
||||||
if (adapter.getItemCount() == 0) {
|
if (adapter.getItemCount() == 0) {
|
||||||
@@ -109,4 +112,8 @@ public class BriarRecyclerView extends FrameLayout {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public RecyclerView getRecyclerView() {
|
||||||
|
return recyclerView;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user