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

Commit b4942094 authored by Yining Liu's avatar Yining Liu
Browse files

Add content description to toggles in ChannelEditorListView

Add content description to toggles in ChannelEditorListView for talkback
accessibility.

Fix: 379585979
Flag: EXEMPT bugfix
Test: manual
Change-Id: I052acf9b93f21ff58857afc235d388404254c1e9
parent 9db19deb
Loading
Loading
Loading
Loading
+11 −5
Original line number Diff line number Diff line
@@ -25,7 +25,7 @@ import android.app.NotificationManager.IMPORTANCE_NONE
import android.app.NotificationManager.IMPORTANCE_UNSPECIFIED
import android.content.Context
import android.graphics.drawable.Drawable
import android.text.TextUtils
import android.text.TextUtils.isEmpty
import android.transition.AutoTransition
import android.transition.Transition
import android.transition.TransitionManager
@@ -37,7 +37,6 @@ import android.widget.LinearLayout
import android.widget.Switch
import android.widget.TextView
import com.android.settingslib.Utils

import com.android.systemui.res.R
import com.android.systemui.util.Assert

@@ -126,8 +125,9 @@ class ChannelEditorListView(c: Context, attrs: AttributeSet) : LinearLayout(c, a

    private fun updateAppControlRow(enabled: Boolean) {
        appControlRow.iconView.setImageDrawable(appIcon)
        appControlRow.channelName.text = context.resources
                .getString(R.string.notification_channel_dialog_title, appName)
        val title = context.resources.getString(R.string.notification_channel_dialog_title, appName)
        appControlRow.channelName.text = title
        appControlRow.switch.contentDescription = title
        appControlRow.switch.isChecked = enabled
        appControlRow.switch.setOnCheckedChangeListener { _, b ->
            controller.proposeSetAppNotificationsEnabled(b)
@@ -208,13 +208,19 @@ class ChannelRow(c: Context, attrs: AttributeSet) : LinearLayout(c, attrs) {

        nc.group?.let { groupId -> channelDescription.text = controller.groupNameForId(groupId) }

        if (nc.group == null || TextUtils.isEmpty(channelDescription.text)) {
        if (nc.group == null || isEmpty(channelDescription.text)) {
            channelDescription.visibility = View.GONE
        } else {
            channelDescription.visibility = View.VISIBLE
        }

        switch.isChecked = nc.importance != IMPORTANCE_NONE
        switch.contentDescription =
            if (isEmpty(channelDescription.text)) {
                channelName.text
            } else {
                "${channelName.text} ${channelDescription.text}"
            }
    }

    private fun updateImportance() {