У меня есть ServiceBinderModule
в моем приложении Android, которое отвечает за добавление всех моих Service
s в граф DI, например:
@ContributesAndroidInjector
@ServiceScope
internal abstract fun myAutofillService(): MyAutofillService
Моя проблема в том, что у меня есть Сервис это расширяет android.service.autofill.AutofillService
, который доступен только от Android O
. На устройствах ниже этого уровня API у меня есть другое решение, но поскольку у меня уже есть MyAutofillService
на графике, приложение аварийно завершает работу при запуске (MyAutofillService
уже находится в DaggerAppComponent
, но AutofillService
не присутствует в Android Framework).
Я видел эту тему об этой топи c: https://github.com/google/dagger/issues/1064
Он предлагает использовать dagger.android.experimentalUseStringKeys
и @RequiresApi
, но у него есть предупреждение: Keep in mind that enabling this also breaks incremental annotation processor support on Dagger 5.+
, который я считаю нарушителем. Мне также неудобно помещать experimental...
вещи в производственное приложение.
Любой совет, что я мог бы сделать? Я хотел бы поставить MyAutofillService
на графике на основе уровня API устройства.