@@ -23,6 +23,7 @@ import android.widget.LinearLayout
2323import androidx.annotation.StyleRes
2424import uk.gov.hmrc.components.R
2525import uk.gov.hmrc.components.databinding.ComponentMultiColumnRowBinding
26+ import uk.gov.hmrc.components.extensions.setAccessibilityMessage
2627import uk.gov.hmrc.components.extensions.setAsAccessibilityHeading
2728import uk.gov.hmrc.components.extensions.setStyle
2829
@@ -50,17 +51,13 @@ class MultiColumnRowView @JvmOverloads constructor(
5051 val text1ContentDescription = typedArray.getString(R .styleable.MultiColumnRowView_text1ContentDescription )
5152 val text2ContentDescription = typedArray.getString(R .styleable.MultiColumnRowView_text2ContentDescription )
5253 val text3ContentDescription = typedArray.getString(R .styleable.MultiColumnRowView_text3ContentDescription )
53- val text1IsSelectable = typedArray.getBoolean(R .styleable.MultiColumnRowView_text1IsSelectable , false )
54- val text2IsSelectable = typedArray.getBoolean(R .styleable.MultiColumnRowView_text2IsSelectable , false )
55- val text3IsSelectable = typedArray.getBoolean(R .styleable.MultiColumnRowView_text3IsSelectable , false )
5654 val textStyle = typedArray.getResourceId(R .styleable.MultiColumnRowView_textStyle , R .style.Text_Body )
5755 val textStyle2 = typedArray.getResourceId(R .styleable.MultiColumnRowView_textStyle2 , textStyle)
5856 val textStyle3 = typedArray.getResourceId(R .styleable.MultiColumnRowView_textStyle3 , textStyle)
5957 val text1Heading = typedArray.getBoolean(R .styleable.MultiColumnRowView_text1Heading , false )
6058
6159 setText(text1, text2, text3)
62- setTextContentDesription(text1ContentDescription, text2ContentDescription, text3ContentDescription)
63- setTextIsSelectable(text1IsSelectable, text2IsSelectable, text3IsSelectable)
60+ setTextContentDescription(text1ContentDescription, text2ContentDescription, text3ContentDescription)
6461 setTextStyle(textStyle, textStyle2, textStyle3)
6562 setText1AsHeading(text1Heading)
6663
@@ -143,33 +140,42 @@ class MultiColumnRowView @JvmOverloads constructor(
143140 setText(binding.rowText1.text, binding.rowText2.text, text3)
144141 }
145142
146- fun setTextContentDesription (desc1 : CharSequence? , desc2 : CharSequence? , desc3 : CharSequence? ) {
143+ fun setTextContentDescription (desc1 : CharSequence? , desc2 : CharSequence? , desc3 : CharSequence? ) {
147144 desc1?.let { binding.rowText1.contentDescription = it }
148145 desc2?.let { binding.rowText2.contentDescription = it }
149146 desc3?.let { binding.rowText3.contentDescription = it }
150147 }
151148
152149 fun setText1ContentDescription (desc1 : CharSequence? ) {
153- setTextContentDesription (desc1, binding.rowText2.contentDescription, binding.rowText3.contentDescription)
150+ setTextContentDescription (desc1, binding.rowText2.contentDescription, binding.rowText3.contentDescription)
154151 }
155152
156153 fun setText2ContentDescription (desc2 : CharSequence? ) {
157- setTextContentDesription (binding.rowText1.contentDescription, desc2, binding.rowText3.contentDescription)
154+ setTextContentDescription (binding.rowText1.contentDescription, desc2, binding.rowText3.contentDescription)
158155 }
159156
160157 fun setText3ContentDescription (desc3 : CharSequence? ) {
161- setTextContentDesription (binding.rowText1.contentDescription, binding.rowText2.contentDescription, desc3)
158+ setTextContentDescription (binding.rowText1.contentDescription, binding.rowText2.contentDescription, desc3)
162159 }
163160
164- fun setTextIsSelectable (
165- text1IsSelectable : Boolean = binding.rowText1.isTextSelectable,
166- text2IsSelectable : Boolean = binding.rowText2.isTextSelectable,
167- text3IsSelectable : Boolean = binding.rowText3.isTextSelectable
168- ) {
169- binding.apply {
170- rowText1.setTextIsSelectable(text1IsSelectable)
171- rowText2.setTextIsSelectable(text2IsSelectable)
172- rowText3.setTextIsSelectable(text3IsSelectable)
161+ fun setText1ClickAction (clickDescription : CharSequence? = null, listener : OnClickListener ) {
162+ binding.rowText1.apply {
163+ setOnClickListener(listener)
164+ clickDescription?.let { setAccessibilityMessage(it) }
165+ }
166+ }
167+
168+ fun setText2ClickAction (clickDescription : CharSequence? = null, listener : OnClickListener ) {
169+ binding.rowText2.apply {
170+ setOnClickListener(listener)
171+ clickDescription?.let { setAccessibilityMessage(it) }
172+ }
173+ }
174+
175+ fun setText3ClickAction (clickDescription : CharSequence? = null, listener : OnClickListener ) {
176+ binding.rowText3.apply {
177+ setOnClickListener(listener)
178+ clickDescription?.let { setAccessibilityMessage(it) }
173179 }
174180 }
175181
0 commit comments