Open Conversation settings when tapping assoc header

Bug: 168860405
Test: manual, atest
Change-Id: I0919d06979fec3732146cc3286363eed443bb33d
This commit is contained in:
Steve Elliott
2020-09-24 11:29:21 -04:00
parent 34741dbaab
commit 727273bda4
2 changed files with 18 additions and 18 deletions

View File

@@ -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 @@ internal class SectionHeaderNodeControllerImpl @Inject constructor(
@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

View File

@@ -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
@@ -38,18 +35,6 @@ import javax.inject.Scope
@Module(subcomponents = [SectionHeaderControllerSubcomponent::class])
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
@@ -58,6 +43,7 @@ object NotificationSectionHeadersModule {
) = builder.get()
.nodeLabel("incoming header")
.headerText(R.string.notification_section_header_incoming)
.clickIntentAction(Settings.ACTION_NOTIFICATION_SETTINGS)
.build()
@Provides
@@ -68,6 +54,7 @@ object NotificationSectionHeadersModule {
) = builder.get()
.nodeLabel("alerting header")
.headerText(R.string.notification_section_header_alerting)
.clickIntentAction(Settings.ACTION_NOTIFICATION_SETTINGS)
.build()
@Provides
@@ -78,6 +65,7 @@ object NotificationSectionHeadersModule {
) = builder.get()
.nodeLabel("people header")
.headerText(R.string.notification_section_header_conversations)
.clickIntentAction(Settings.ACTION_CONVERSATION_SETTINGS)
.build()
@Provides
@@ -88,6 +76,7 @@ object NotificationSectionHeadersModule {
) = builder.get()
.nodeLabel("silent header")
.headerText(R.string.notification_section_header_gentle)
.clickIntentAction(Settings.ACTION_NOTIFICATION_SETTINGS)
.build()
@Provides
@@ -151,6 +140,7 @@ interface SectionHeaderControllerSubcomponent {
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 @@ annotation class NodeLabel
@Qualifier
@Retention(AnnotationRetention.BINARY)
annotation class HeaderClick
annotation class HeaderClickAction
@Scope
@Retention(AnnotationRetention.BINARY)