Hide header if no items present

Test: atest
Fixes: 157093918
Change-Id: If4f86ff71fc5e961e36e5485186d247546355174
diff --git a/src/com/android/settings/notification/AppBubbleListPreferenceController.java b/src/com/android/settings/notification/AppBubbleListPreferenceController.java
index 33842b6..31f185b 100644
--- a/src/com/android/settings/notification/AppBubbleListPreferenceController.java
+++ b/src/com/android/settings/notification/AppBubbleListPreferenceController.java
@@ -32,6 +32,7 @@
 import android.widget.ImageView;
 
 import androidx.preference.Preference;
+import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceViewHolder;
 
 import com.android.settings.R;
@@ -55,6 +56,13 @@
     }
 
     @Override
+    public void updateState(Preference preference) {
+        // loading convos is async; hide header until we know we have conversations to show
+        preference.setVisible(false);
+        super.updateState(preference);
+    }
+
+    @Override
     public void onResume(NotificationBackend.AppRow appRow,
             @Nullable NotificationChannel channel, @Nullable NotificationChannelGroup group,
             Drawable conversationDrawable,
@@ -134,6 +142,15 @@
         return pref;
     }
 
+    @Override
+    protected void populateList() {
+        super.populateList();
+        if (mPreference == null) {
+            return;
+        }
+        mPreference.setVisible(mPreference.getPreferenceCount() > 0);
+    }
+
     /** Simple preference with a 'x' button at the end. */
     @VisibleForTesting
     public static class ConversationPreference extends Preference implements View.OnClickListener {
diff --git a/src/com/android/settings/notification/app/AppConversationListPreferenceController.java b/src/com/android/settings/notification/app/AppConversationListPreferenceController.java
index 20b16d7..2054a16 100644
--- a/src/com/android/settings/notification/app/AppConversationListPreferenceController.java
+++ b/src/com/android/settings/notification/app/AppConversationListPreferenceController.java
@@ -116,7 +116,7 @@
         return R.string.conversations_category_title;
     }
 
-    private void populateList() {
+    protected void populateList() {
         if (mPreference == null) {
             return;
         }