address issues with new BriarRecyclerView found in review

This commit is contained in:
Torsten Grote
2015-12-30 10:44:14 -02:00
parent f309cb36d4
commit 970560c21e
2 changed files with 17 additions and 5 deletions

View File

@@ -133,7 +133,12 @@ public class ContactListActivity extends BriarActivity
private void displayContacts(final List<ContactListItem> contacts) {
runOnUiThread(new Runnable() {
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();
}
}
});
}

View File

@@ -49,9 +49,7 @@ public class BriarRecyclerView extends FrameLayout {
emptyView = (TextView) v.findViewById(R.id.emptyView);
progressBar = (ProgressBar) v.findViewById(R.id.progressBar);
recyclerView.setVisibility(View.INVISIBLE);
emptyView.setVisibility(View.INVISIBLE);
progressBar.setVisibility(View.VISIBLE);
showProgressBar();
emptyObserver = new RecyclerView.AdapterDataObserver() {
@Override
@@ -72,6 +70,11 @@ public class BriarRecyclerView extends FrameLayout {
}
public void setAdapter(RecyclerView.Adapter adapter) {
RecyclerView.Adapter oldAdapter = recyclerView.getAdapter();
if (oldAdapter != null) {
oldAdapter.unregisterAdapterDataObserver(emptyObserver);
}
recyclerView.setAdapter(adapter);
if (adapter != null) {
@@ -95,7 +98,7 @@ public class BriarRecyclerView extends FrameLayout {
progressBar.setVisibility(View.VISIBLE);
}
private void showData() {
public void showData() {
RecyclerView.Adapter<?> adapter = recyclerView.getAdapter();
if (adapter != null) {
if (adapter.getItemCount() == 0) {
@@ -109,4 +112,8 @@ public class BriarRecyclerView extends FrameLayout {
}
}
public RecyclerView getRecyclerView() {
return recyclerView;
}
}