Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 727273bd authored by Steve Elliott's avatar Steve Elliott
Browse files

Open Conversation settings when tapping assoc header

Bug: 168860405
Test: manual, atest
Change-Id: I0919d06979fec3732146cc3286363eed443bb33d
parent 34741dba
Loading
Loading
Loading
Loading
+12 −2
Original line number Diff line number Diff line
@@ -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
+6 −16
Original line number Diff line number Diff line
@@ -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)