From 182787ab1ec508376db76b7e74d4bfd31600b6dd Mon Sep 17 00:00:00 2001 From: Ben Lin Date: Fri, 21 Jan 2022 18:51:59 -0800 Subject: [PATCH] Notification pipeline: allow header visibility customization. This introduces new configs so that some devices that never use section headers can disable them permanently. Bug: None Test: Push to a device with the flag true locally, headers don't show up Change-Id: Id7cf3866ed191bbfef2e31bbce67da1d23b70e16 --- packages/SystemUI/res/values/config.xml | 3 +++ .../notification/SectionHeaderVisibilityProvider.kt | 10 ++++++++-- .../collection/coordinator/KeyguardCoordinator.java | 6 ++++-- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml index fc2756ecc8e55..bbfd3d0ef100e 100644 --- a/packages/SystemUI/res/values/config.xml +++ b/packages/SystemUI/res/values/config.xml @@ -581,6 +581,9 @@ false + + false + M25.5,16.3283C28.47,14.8433 31.9167,14 35.5834,14C39.2501,14 42.6968,14.8433 45.6668,16.3283 diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/SectionHeaderVisibilityProvider.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/SectionHeaderVisibilityProvider.kt index 03b978e7784ca..68bdd18c98818 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/SectionHeaderVisibilityProvider.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/SectionHeaderVisibilityProvider.kt @@ -16,7 +16,9 @@ package com.android.systemui.statusbar.notification +import android.content.Context import com.android.systemui.dagger.SysUISingleton +import com.android.systemui.R import javax.inject.Inject /** @@ -29,6 +31,10 @@ import javax.inject.Inject * visibility when it invalidates, and we just store that state here.) */ @SysUISingleton -class SectionHeaderVisibilityProvider @Inject constructor() { +class SectionHeaderVisibilityProvider @Inject constructor( + context: Context +) { + var neverShowSectionHeaders = context.resources.getBoolean(R.bool.config_notification_never_show_section_headers) + private set var sectionHeadersVisible = true -} \ No newline at end of file +} diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/KeyguardCoordinator.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/KeyguardCoordinator.java index 733be9c1ca2ce..0ce07cb99d52f 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/KeyguardCoordinator.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/coordinator/KeyguardCoordinator.java @@ -220,8 +220,10 @@ public class KeyguardCoordinator implements Coordinator { } private void invalidateListFromFilter(String reason) { - mSectionHeaderVisibilityProvider.setSectionHeadersVisible( - mStatusBarStateController.getState() != StatusBarState.KEYGUARD); + boolean onKeyguard = mStatusBarStateController.getState() == StatusBarState.KEYGUARD; + boolean neverShowSections = mSectionHeaderVisibilityProvider.getNeverShowSectionHeaders(); + boolean showSections = !onKeyguard && !neverShowSections; + mSectionHeaderVisibilityProvider.setSectionHeadersVisible(showSections); mNotifFilter.invalidateList(); }