Show empty view after load returns empty.

... instead of before. Mildly disorienting as a loading experience.

Bug: 19937778
Change-Id: Id1c7d48f3379350030aaed4f4a50320d22f970f6
diff --git a/src/com/android/dialer/list/AllContactsFragment.java b/src/com/android/dialer/list/AllContactsFragment.java
index eaa5cc8..20e88e2 100644
--- a/src/com/android/dialer/list/AllContactsFragment.java
+++ b/src/com/android/dialer/list/AllContactsFragment.java
@@ -16,6 +16,7 @@
 
 package com.android.dialer.list;
 
+import android.content.Loader;
 import android.database.Cursor;
 import android.net.Uri;
 import android.provider.ContactsContract.CommonDataKinds.Phone;
@@ -39,6 +40,8 @@
  */
 public class AllContactsFragment extends ContactEntryListFragment<ContactEntryListAdapter> {
 
+    private View mEmptyListView;
+
     public AllContactsFragment() {
         setQuickContactEnabled(false);
         setAdjustSelectionBoundsEnabled(true);
@@ -52,10 +55,11 @@
     public void onViewCreated(View view, android.os.Bundle savedInstanceState) {
         super.onViewCreated(view, savedInstanceState);
 
-        View emptyListView = view.findViewById(R.id.empty_list_view);
-        DialerUtils.configureEmptyListView(emptyListView, R.drawable.empty_contacts,
+        View mEmptyListView = view.findViewById(R.id.empty_list_view);
+        DialerUtils.configureEmptyListView(mEmptyListView, R.drawable.empty_contacts,
                 R.string.all_contacts_empty, getResources());
-        getListView().setEmptyView(emptyListView);
+        getListView().setEmptyView(mEmptyListView);
+        mEmptyListView.setVisibility(View.GONE);
 
         ViewUtil.addBottomPaddingToListViewForFab(getListView(), getResources());
     }
@@ -68,6 +72,15 @@
     }
 
     @Override
+    public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
+        super.onLoadFinished(loader, data);
+
+        if (data.getCount() == 0) {
+            mEmptyListView.setVisibility(View.VISIBLE);
+        }
+    }
+
+    @Override
     protected ContactEntryListAdapter createListAdapter() {
         if (!PermissionsUtil.hasContactsPermissions(getActivity())) {
             return new EmptyContactsListAdapter(getActivity());