Перемещение моего комментария к ответу:
Если у вас есть конструктор с аргументами по умолчанию, Kotlin фактически генерирует дополнительные конструкторы. В вашем случае у вас есть конструктор с 3 аргументами, где все являются необязательными, что генерирует всего 4 конструктора. Kotlin, очевидно, связывает любые аннотации первичного конструктора со всеми сгенерированными, что означает, что вы получили 4 конструктора.
У вас есть два варианта:
Во-первых, как вы упомянули сами, удалите все значения по умолчанию. Если значения по умолчанию отсутствуют, создается только один конструктор с аннотацией.
Кроме того, вы также можете создавать дополнительные конструкторы самостоятельно и указывать их на основной. Это также позволит вам вручную указать только один, чтобы иметь аннотацию @Inject
, в то время как другие не имеют.