Contacts recyclerview is now hidden when we don't have contacts permission.

Bug: 71867982
Test: ContactsFragmentTest
PiperOrigin-RevId: 182977635
Change-Id: Ibdefc49c76dd607c5f1316ae46da5e38f74c0e85
diff --git a/java/com/android/dialer/contactsfragment/ContactsFragment.java b/java/com/android/dialer/contactsfragment/ContactsFragment.java
index 7147393..ae2bd74 100644
--- a/java/com/android/dialer/contactsfragment/ContactsFragment.java
+++ b/java/com/android/dialer/contactsfragment/ContactsFragment.java
@@ -46,7 +46,6 @@
 import com.android.dialer.common.Assert;
 import com.android.dialer.common.FragmentUtils;
 import com.android.dialer.common.LogUtil;
-import com.android.dialer.contactsfragment.ContactsFragment.OnContactSelectedListener;
 import com.android.dialer.performancereport.PerformanceReport;
 import com.android.dialer.util.DialerUtils;
 import com.android.dialer.util.IntentUtil;
@@ -86,7 +85,7 @@
       new BroadcastReceiver() {
         @Override
         public void onReceive(Context context, Intent intent) {
-          getLoaderManager().initLoader(0, null, ContactsFragment.this);
+          loadContacts();
         }
       };
 
@@ -208,11 +207,12 @@
     emptyContentView.setActionClickedListener(this);
 
     if (PermissionsUtil.hasContactsReadPermissions(getContext())) {
-      getLoaderManager().initLoader(0, null, this);
+      loadContacts();
     } else {
       emptyContentView.setDescription(R.string.permission_no_contacts);
       emptyContentView.setActionLabel(R.string.permission_single_turn_on);
       emptyContentView.setVisibility(View.VISIBLE);
+      recyclerView.setVisibility(View.GONE);
     }
 
     return view;
@@ -349,12 +349,17 @@
     if (requestCode == READ_CONTACTS_PERMISSION_REQUEST_CODE) {
       if (grantResults.length >= 1 && PackageManager.PERMISSION_GRANTED == grantResults[0]) {
         // Force a refresh of the data since we were missing the permission before this.
-        emptyContentView.setVisibility(View.GONE);
-        getLoaderManager().initLoader(0, null, this);
+        PermissionsUtil.notifyPermissionGranted(getContext(), permissions[0]);
       }
     }
   }
 
+  private void loadContacts() {
+    getLoaderManager().initLoader(0, null, this);
+    recyclerView.setVisibility(View.VISIBLE);
+    emptyContentView.setVisibility(View.GONE);
+  }
+
   /** Listener for contacts list scroll state. */
   public interface OnContactsListScrolledListener {
     void onContactsListScrolled(boolean isDragging);