Почему 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)".
Я подумал, что с включенным обессахариванием, это должно позволить это? Это ошибка ворса?