@@ -24,6 +24,7 @@ import androidx.core.view.isNotEmpty
24
24
import androidx.core.view.isVisible
25
25
import com.google.android.material.card.MaterialCardView
26
26
import org.lineageos.twelve.R
27
+ import org.lineageos.twelve.ext.use
27
28
28
29
/* *
29
30
* A poor man's Material Design 3 ListItem implementation.
@@ -140,31 +141,27 @@ class ListItem @JvmOverloads constructor(
140
141
)
141
142
}
142
143
143
- context.obtainStyledAttributes(attrs, R .styleable.ListItem , 0 , 0 ).apply {
144
- try {
145
- leadingIconImage = getDrawable(R .styleable.ListItem_leadingIconImage )
146
- leadingText = getString(R .styleable.ListItem_leadingText )
147
- getResourceId(R .styleable.ListItem_leadingViewLayout , 0 ).takeUnless {
148
- it == 0
149
- }?.let {
150
- setLeadingView(it)
144
+ context.obtainStyledAttributes(attrs, R .styleable.ListItem , 0 , 0 ).use {
145
+ leadingIconImage = it.getDrawable(R .styleable.ListItem_leadingIconImage )
146
+ leadingText = it.getString(R .styleable.ListItem_leadingText )
147
+ it.getResourceId(R .styleable.ListItem_leadingViewLayout , 0 ).let { leadingViewLayout ->
148
+ if (leadingViewLayout != 0 ) {
149
+ setLeadingView(leadingViewLayout)
151
150
}
152
- leadingViewIsVisible = getBoolean( R .styleable. ListItem_leadingViewIsVisible , true )
153
- headlineText = getString (R .styleable.ListItem_headlineText )
154
- supportingText = getString(R .styleable.ListItem_supportingText )
155
- trailingIconImage = getDrawable (R .styleable.ListItem_trailingIconImage )
156
- trailingSupportingText = getString (R .styleable.ListItem_trailingSupportingText )
157
- getResourceId (R .styleable.ListItem_trailingViewLayout , 0 ). takeUnless {
158
- it == 0
159
- }?. let {
160
- setTrailingView(it )
151
+ }
152
+ leadingViewIsVisible = it.getBoolean (R .styleable.ListItem_leadingViewIsVisible , true )
153
+ headlineText = it. getString(R .styleable.ListItem_headlineText )
154
+ supportingText = it.getString (R .styleable.ListItem_supportingText )
155
+ trailingIconImage = it.getDrawable (R .styleable.ListItem_trailingIconImage )
156
+ trailingSupportingText = it.getString (R .styleable.ListItem_trailingSupportingText )
157
+ it.getResourceId( R .styleable. ListItem_trailingViewLayout , 0 ). let { trailingViewLayout ->
158
+ if (trailingViewLayout != 0 ) {
159
+ setTrailingView(trailingViewLayout )
161
160
}
162
- trailingViewIsVisible = getBoolean(R .styleable.ListItem_trailingViewIsVisible , true )
163
- isDimmed = getBoolean(R .styleable.ListItem_isDimmed , false )
164
- hasRoundedCorners = getBoolean(R .styleable.ListItem_hasRoundedCorners , false )
165
- } finally {
166
- recycle()
167
161
}
162
+ trailingViewIsVisible = it.getBoolean(R .styleable.ListItem_trailingViewIsVisible , true )
163
+ isDimmed = it.getBoolean(R .styleable.ListItem_isDimmed , false )
164
+ hasRoundedCorners = it.getBoolean(R .styleable.ListItem_hasRoundedCorners , false )
168
165
}
169
166
}
170
167
0 commit comments