Open Conversation settings when tapping assoc header
Bug: 168860405
Test: manual, atest
Change-Id: I0919d06979fec3732146cc3286363eed443bb33d
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/SectionHeaderController.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/SectionHeaderController.kt
index 498b8e8..1311e3e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/SectionHeaderController.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/render/SectionHeaderController.kt
@@ -17,11 +17,13 @@
package com.android.systemui.statusbar.notification.collection.render
import android.annotation.StringRes
+import android.content.Intent
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import com.android.systemui.R
-import com.android.systemui.statusbar.notification.dagger.HeaderClick
+import com.android.systemui.plugins.ActivityStarter
+import com.android.systemui.statusbar.notification.dagger.HeaderClickAction
import com.android.systemui.statusbar.notification.dagger.HeaderText
import com.android.systemui.statusbar.notification.dagger.NodeLabel
import com.android.systemui.statusbar.notification.dagger.SectionHeaderScope
@@ -39,11 +41,19 @@
@NodeLabel override val nodeLabel: String,
private val layoutInflater: LayoutInflater,
@HeaderText @StringRes private val headerTextResId: Int,
- @HeaderClick private val onHeaderClickListener: View.OnClickListener
+ private val activityStarter: ActivityStarter,
+ @HeaderClickAction private val clickIntentAction: String
) : NodeController, SectionHeaderController {
private var _view: SectionHeaderView? = null
private var clearAllClickListener: View.OnClickListener? = null
+ private val onHeaderClickListener = View.OnClickListener {
+ activityStarter.startActivity(
+ Intent(clickIntentAction),
+ true /* onlyProvisioned */,
+ true /* dismissShade */,
+ Intent.FLAG_ACTIVITY_SINGLE_TOP)
+ }
override fun reinflateView(parent: ViewGroup) {
var oldPos = -1
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/dagger/NotificationSectionHeadersModule.kt b/packages/SystemUI/src/com/android/systemui/statusbar/notification/dagger/NotificationSectionHeadersModule.kt
index 179d49c..2a9cfd0 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/dagger/NotificationSectionHeadersModule.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/dagger/NotificationSectionHeadersModule.kt
@@ -17,12 +17,9 @@
package com.android.systemui.statusbar.notification.dagger
import android.annotation.StringRes
-import android.content.Intent
import android.provider.Settings
-import android.view.View
import com.android.systemui.R
import com.android.systemui.dagger.SysUISingleton
-import com.android.systemui.plugins.ActivityStarter
import com.android.systemui.statusbar.notification.collection.render.NodeController
import com.android.systemui.statusbar.notification.collection.render.SectionHeaderController
import com.android.systemui.statusbar.notification.collection.render.SectionHeaderNodeControllerImpl
@@ -39,18 +36,6 @@
object NotificationSectionHeadersModule {
@Provides
- @HeaderClick
- @JvmStatic fun providesOnHeaderClickListener(
- activityStarter: ActivityStarter
- ) = View.OnClickListener {
- activityStarter.startActivity(
- Intent(Settings.ACTION_NOTIFICATION_SETTINGS),
- true /* onlyProvisioned */,
- true /* dismissShade */,
- Intent.FLAG_ACTIVITY_SINGLE_TOP)
- }
-
- @Provides
@IncomingHeader
@SysUISingleton
@JvmStatic fun providesIncomingHeaderSubcomponent(
@@ -58,6 +43,7 @@
) = builder.get()
.nodeLabel("incoming header")
.headerText(R.string.notification_section_header_incoming)
+ .clickIntentAction(Settings.ACTION_NOTIFICATION_SETTINGS)
.build()
@Provides
@@ -68,6 +54,7 @@
) = builder.get()
.nodeLabel("alerting header")
.headerText(R.string.notification_section_header_alerting)
+ .clickIntentAction(Settings.ACTION_NOTIFICATION_SETTINGS)
.build()
@Provides
@@ -78,6 +65,7 @@
) = builder.get()
.nodeLabel("people header")
.headerText(R.string.notification_section_header_conversations)
+ .clickIntentAction(Settings.ACTION_CONVERSATION_SETTINGS)
.build()
@Provides
@@ -88,6 +76,7 @@
) = builder.get()
.nodeLabel("silent header")
.headerText(R.string.notification_section_header_gentle)
+ .clickIntentAction(Settings.ACTION_NOTIFICATION_SETTINGS)
.build()
@Provides
@@ -151,6 +140,7 @@
fun build(): SectionHeaderControllerSubcomponent
@BindsInstance fun nodeLabel(@NodeLabel nodeLabel: String): Builder
@BindsInstance fun headerText(@HeaderText @StringRes headerText: Int): Builder
+ @BindsInstance fun clickIntentAction(@HeaderClickAction clickIntentAction: String): Builder
}
}
@@ -188,7 +178,7 @@
@Qualifier
@Retention(AnnotationRetention.BINARY)
-annotation class HeaderClick
+annotation class HeaderClickAction
@Scope
@Retention(AnnotationRetention.BINARY)