(p!!.company?.industries?.size ?: 0) > 0
даст вам 0, если size
(или, скорее, другой элемент цепочки) равен null
, поэтому сравнение равно 0 > 0
, что неверно.
Но в качестве примечания: почему все обнуляемо? И почему у вас такая случайная смесь ?.
и !!
?
Все члены поля могут иметь значение NULL, поскольку эти данные импортируются из Интернета, и нет никаких гарантий, что какое-либо из полей будет присутствовать.
Даже тогда вы можете хотя бы сделать
val industries = p?.company?.industries
if (industries != null && industries.size > 0) {
job.industryName = industries[0]
}
или
p?.company?.industries?.let {
if (it.size > 0) { job.industryName = it[0] }
}
если вы не хотите создавать переменную для него.