Open Conversation settings when tapping assoc header
Bug: 168860405 Test: manual, atest Change-Id: I0919d06979fec3732146cc3286363eed443bb33d
This commit is contained in:
@@ -17,11 +17,13 @@
|
|||||||
package com.android.systemui.statusbar.notification.collection.render
|
package com.android.systemui.statusbar.notification.collection.render
|
||||||
|
|
||||||
import android.annotation.StringRes
|
import android.annotation.StringRes
|
||||||
|
import android.content.Intent
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import com.android.systemui.R
|
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.HeaderText
|
||||||
import com.android.systemui.statusbar.notification.dagger.NodeLabel
|
import com.android.systemui.statusbar.notification.dagger.NodeLabel
|
||||||
import com.android.systemui.statusbar.notification.dagger.SectionHeaderScope
|
import com.android.systemui.statusbar.notification.dagger.SectionHeaderScope
|
||||||
@@ -39,11 +41,19 @@ internal class SectionHeaderNodeControllerImpl @Inject constructor(
|
|||||||
@NodeLabel override val nodeLabel: String,
|
@NodeLabel override val nodeLabel: String,
|
||||||
private val layoutInflater: LayoutInflater,
|
private val layoutInflater: LayoutInflater,
|
||||||
@HeaderText @StringRes private val headerTextResId: Int,
|
@HeaderText @StringRes private val headerTextResId: Int,
|
||||||
@HeaderClick private val onHeaderClickListener: View.OnClickListener
|
private val activityStarter: ActivityStarter,
|
||||||
|
@HeaderClickAction private val clickIntentAction: String
|
||||||
) : NodeController, SectionHeaderController {
|
) : NodeController, SectionHeaderController {
|
||||||
|
|
||||||
private var _view: SectionHeaderView? = null
|
private var _view: SectionHeaderView? = null
|
||||||
private var clearAllClickListener: View.OnClickListener? = 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) {
|
override fun reinflateView(parent: ViewGroup) {
|
||||||
var oldPos = -1
|
var oldPos = -1
|
||||||
|
|||||||
@@ -17,12 +17,9 @@
|
|||||||
package com.android.systemui.statusbar.notification.dagger
|
package com.android.systemui.statusbar.notification.dagger
|
||||||
|
|
||||||
import android.annotation.StringRes
|
import android.annotation.StringRes
|
||||||
import android.content.Intent
|
|
||||||
import android.provider.Settings
|
import android.provider.Settings
|
||||||
import android.view.View
|
|
||||||
import com.android.systemui.R
|
import com.android.systemui.R
|
||||||
import com.android.systemui.dagger.SysUISingleton
|
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.NodeController
|
||||||
import com.android.systemui.statusbar.notification.collection.render.SectionHeaderController
|
import com.android.systemui.statusbar.notification.collection.render.SectionHeaderController
|
||||||
import com.android.systemui.statusbar.notification.collection.render.SectionHeaderNodeControllerImpl
|
import com.android.systemui.statusbar.notification.collection.render.SectionHeaderNodeControllerImpl
|
||||||
@@ -38,18 +35,6 @@ import javax.inject.Scope
|
|||||||
@Module(subcomponents = [SectionHeaderControllerSubcomponent::class])
|
@Module(subcomponents = [SectionHeaderControllerSubcomponent::class])
|
||||||
object NotificationSectionHeadersModule {
|
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
|
@Provides
|
||||||
@IncomingHeader
|
@IncomingHeader
|
||||||
@SysUISingleton
|
@SysUISingleton
|
||||||
@@ -58,6 +43,7 @@ object NotificationSectionHeadersModule {
|
|||||||
) = builder.get()
|
) = builder.get()
|
||||||
.nodeLabel("incoming header")
|
.nodeLabel("incoming header")
|
||||||
.headerText(R.string.notification_section_header_incoming)
|
.headerText(R.string.notification_section_header_incoming)
|
||||||
|
.clickIntentAction(Settings.ACTION_NOTIFICATION_SETTINGS)
|
||||||
.build()
|
.build()
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@@ -68,6 +54,7 @@ object NotificationSectionHeadersModule {
|
|||||||
) = builder.get()
|
) = builder.get()
|
||||||
.nodeLabel("alerting header")
|
.nodeLabel("alerting header")
|
||||||
.headerText(R.string.notification_section_header_alerting)
|
.headerText(R.string.notification_section_header_alerting)
|
||||||
|
.clickIntentAction(Settings.ACTION_NOTIFICATION_SETTINGS)
|
||||||
.build()
|
.build()
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@@ -78,6 +65,7 @@ object NotificationSectionHeadersModule {
|
|||||||
) = builder.get()
|
) = builder.get()
|
||||||
.nodeLabel("people header")
|
.nodeLabel("people header")
|
||||||
.headerText(R.string.notification_section_header_conversations)
|
.headerText(R.string.notification_section_header_conversations)
|
||||||
|
.clickIntentAction(Settings.ACTION_CONVERSATION_SETTINGS)
|
||||||
.build()
|
.build()
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@@ -88,6 +76,7 @@ object NotificationSectionHeadersModule {
|
|||||||
) = builder.get()
|
) = builder.get()
|
||||||
.nodeLabel("silent header")
|
.nodeLabel("silent header")
|
||||||
.headerText(R.string.notification_section_header_gentle)
|
.headerText(R.string.notification_section_header_gentle)
|
||||||
|
.clickIntentAction(Settings.ACTION_NOTIFICATION_SETTINGS)
|
||||||
.build()
|
.build()
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@@ -151,6 +140,7 @@ interface SectionHeaderControllerSubcomponent {
|
|||||||
fun build(): SectionHeaderControllerSubcomponent
|
fun build(): SectionHeaderControllerSubcomponent
|
||||||
@BindsInstance fun nodeLabel(@NodeLabel nodeLabel: String): Builder
|
@BindsInstance fun nodeLabel(@NodeLabel nodeLabel: String): Builder
|
||||||
@BindsInstance fun headerText(@HeaderText @StringRes headerText: Int): Builder
|
@BindsInstance fun headerText(@HeaderText @StringRes headerText: Int): Builder
|
||||||
|
@BindsInstance fun clickIntentAction(@HeaderClickAction clickIntentAction: String): Builder
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -188,7 +178,7 @@ annotation class NodeLabel
|
|||||||
|
|
||||||
@Qualifier
|
@Qualifier
|
||||||
@Retention(AnnotationRetention.BINARY)
|
@Retention(AnnotationRetention.BINARY)
|
||||||
annotation class HeaderClick
|
annotation class HeaderClickAction
|
||||||
|
|
||||||
@Scope
|
@Scope
|
||||||
@Retention(AnnotationRetention.BINARY)
|
@Retention(AnnotationRetention.BINARY)
|
||||||
|
|||||||
Reference in New Issue
Block a user