Спасибо, я смог свести свои модули только к привязке для текущей деятельности, Отличная обратная связь.

екте, над которым я работаю, есть ряд служебных классов, для которых требуется контекст активности.

Я не хочу объявлять новый метод @Provides для каждого действия, которое использует зависимость. то есть я не хочу этого:

@Provides
static Navigator providesNavigator(ActivityOne activity) {
    returns new Navigator(activity);
}

// ...and in another module

@Provides
static Navigator providesNavigator(ActivityTwo activity) {
   returns new Navigator(activity);
}

Поэтому вместо этого я объявляю эти утилиты в едином модуле ActivityUtilitiesModule и передаю нашу базовую активность, которую расширяют все остальные действия. Теперь мне не нужно объявлять мою зависимость от Navigator x раз.

@Provides
static Navigator(BaseActivity activity) {
    return new Navigator(activity);
}

Тем не менее, Dagger не знает, как удовлетворить зависимость для BaseActivity. Это означает, что для каждого действия мне нужно создать метод предоставляет, который будет удовлетворять зависимости BaseActivity с конкретным используемым действием. например.:

@Provides
static BaseActivity providesBaseActivity(ActivityOne activity) {
    return activity;
}

Это лучше - мне нужно только повторять этого одного провайдера для каждого действия, а не повторять провайдера для каждого класса утилит для каждого действия, но это все еще выглядит как нежелательный дополнительный шаг в настройке Dagger, и еще одна вещь, которая делает код труднее понять.

Есть ли шаблон, который позволяет мне избежать необходимости предоставлять этого поставщика BaseActivity для каждого вида деятельности?