Почему Android Studio Lint сообщает "Вызов новых методов в более старых версиях" для функций Date даже после добавления десугарирования для поддержки Java 8?

У меня установлена ​​последняя версия AS 4.01 и последняя зависимость, настроенная для поддержки Java 8 с помощью coreLibraryDesugaring (1.0.10) и соответствующих параметров compileOptions в моем файле build.gradle. Следующий код компилируется и запускается без ошибок на устройстве, использующем API 23:

TemporalAccessor ta = null;
Instant i;
Date date = null;
try {
    int loc = 0;
    if ((loc = publishedDate.indexOf("+")) > 0) {
        // Offset time given
        publishedDate = adjustTimeFormat(publishedDate, loc);
        ta = DateTimeFormatter.ISO_OFFSET_DATE_TIME.parse(publishedDate);
        i = Instant.from(ta);
    } else if ((loc = publishedDate.indexOf("-")) > 0) {
        publishedDate = adjustTimeFormat(publishedDate, loc);
        ta = DateTimeFormatter.ISO_OFFSET_DATE_TIME.parse(publishedDate);
        i = Instant.from(ta);
    } else if (publishedDate.contains("Z")) {
        i = Instant.parse(publishedDate);
    } else {
        //
        ta = DateTimeFormatter.ISO_DATE.parse(publishedDate);
        i = Instant.from(ta);
    }
    date = Date.from(i);
} catch (Exception e) {
    ta = null;
}
if (ta == null) {
    date = new Date();
}
return date;

Однако lint помечает многие из этих строк как "требуется уровень API 26 (текущий минимум 21)".

Я подумал, что с включенным обессахариванием, это должно позволить это? Это ошибка ворса?

0 ответов

Другие вопросы по тегам