Фабрики, созданные с помощью автоматического завода, не могут импортировать API

Я использую авто-фабрику и скользящий сгенерированный API. Классы, сгенерированные авто-фабрикой, используют GlideRequests класс, который генерируется GlideModule, но когда сборка завершена, GlideRequests не импортируется в сгенерированный класс фабрики.

Как будто Glide генерирует свои классы после того, как авто-фабрика делает свое дело.

Есть идеи, как это можно решить? Может быть, изменить порядок сборки / генерации?

Спасибо.

1 ответ

Решение

Исправление заключается в использовании полного имени класса в конструкторе SomeClass. Так что вместо

@AutoFactory
public class SomeClass {

  SomeClass(@Provided AnotherClassFactory anotherClassFactory,
            @Provided SomeDependency someDependency,
            int someValue) {
    ...
  }
}

использование

@AutoFactory
public class SomeClass {

  SomeClass(@Provided com.fully.qualifiedpath.AnotherClassFactory anotherClassFactory,
            @Provided SomeDependency someDependency,
            int someValue) {
    ...
  }
}

подробнее здесь: https://github.com/google/auto/issues/124

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