diff --git a/src/com/android/settings/notification/AppBubbleListPreferenceController.java b/src/com/android/settings/notification/AppBubbleListPreferenceController.java index 33842b6d75b..31f185b6b52 100644 --- a/src/com/android/settings/notification/AppBubbleListPreferenceController.java +++ b/src/com/android/settings/notification/AppBubbleListPreferenceController.java @@ -32,6 +32,7 @@ import android.view.View; import android.widget.ImageView; import androidx.preference.Preference; +import androidx.preference.PreferenceCategory; import androidx.preference.PreferenceViewHolder; import com.android.settings.R; @@ -54,6 +55,13 @@ public class AppBubbleListPreferenceController extends AppConversationListPrefer super(context, backend); } + @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, @@ -134,6 +142,15 @@ public class AppBubbleListPreferenceController extends AppConversationListPrefer 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 20b16d7d2a1..2054a16df26 100644 --- a/src/com/android/settings/notification/app/AppConversationListPreferenceController.java +++ b/src/com/android/settings/notification/app/AppConversationListPreferenceController.java @@ -116,7 +116,7 @@ public class AppConversationListPreferenceController extends NotificationPrefere return R.string.conversations_category_title; } - private void populateList() { + protected void populateList() { if (mPreference == null) { return; }