Использование свойства NewApi по-прежнему вызывает предупреждения lint

Я создал свою собственную функцию расширения, которая проверяет, является ли sdk по крайней мере леденец

inline val buildIsLollipopAndUp: Boolean get() = Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP 

Однако, если я использую это, инструменты lint не могут понять, что я проверил свой уровень api и все еще дает мне новые предупреждения api. Есть ли все-таки, чтобы эти предупреждения исчезли, и инструменты для ворса распознают мой чек?

Простой пример:

 if (buildIsLollipopAndUp) ripple() else fade() 

Там, где ripple вызывает круговую анимацию, доступную только для леденца и вверх, а fade – это анимация по умолчанию.

Мой полный пример :

 @SuppressLint("NewApi") @KauUtils fun View.circularReveal(x: Int = 0, y: Int = 0, offset: Long = 0L, radius: Float = -1.0f, duration: Long = 500L, onStart: (() -> Unit)? = null, onFinish: (() -> Unit)? = null) { if (!isAttachedToWindow) { onStart?.invoke() visible() onFinish?.invoke() return } if (!buildIsLollipopAndUp) return fadeIn(offset, duration, onStart, onFinish) val r = if (radius >= 0) radius else Math.max(Math.hypot(x.toDouble(), y.toDouble()), Math.hypot((width - x.toDouble()), (height - y.toDouble()))).toFloat() val anim = ViewAnimationUtils.createCircularReveal(this, x, y, 0f, r).setDuration(duration) anim.startDelay = offset anim.addListener(object : AnimatorListenerAdapter() { override fun onAnimationStart(animation: Animator?) { visible() onStart?.invoke() } override fun onAnimationEnd(animation: Animator?) = onFinish?.invoke() ?: Unit override fun onAnimationCancel(animation: Animator?) = onFinish?.invoke() ?: Unit }) anim.start() } 

Обратите внимание, что мне нужен супрессор для линта, чтобы избежать предупреждений линта

    Похоже, что lint не знает, как расширить встроенную переменную Kotlin на месте. Я не проверял, расширяет ли он Java. Сделаю это позже.

    Также отмечено …

      if(!(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)) return val anim = ViewAnimationUtils.createCircularReveal(this, x, y, 0f, r).setDuration(duration) 

    … не будет подавлять линт. Но…

      if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) val anim = ViewAnimationUtils.createCircularReveal(this, x, y, 0f, r).setDuration(duration) 

    …будем. Опять же, я не проверял, верно ли то же самое для Java.

    Поэтому я сомневаюсь, что это проблема Kotlin / Java. Я думаю, что это проблема с ворсом.