Google Auto Factory / Dagger integration: depending on the entered code

Dagger doesn't seem to explain at all how to deal with the provision / management of auto-generated code like the one generated by Google Auto Factory. Also, the people at Google Auto don't really explain how to integrate with the dagger to cause pain for people like me without knowing how both libraries work.

The problem I see is that when you don't provide fully qualified names to factories created by Google Auto Factory, Dagger won't pick them up at all. However, providing the full name Factory will allow the dagger to fit everything together correctly.

My question is, is this a more general / undocumented problem when using a dagger that you might run into, or a bug that should be fixed in any library?

Works:

@Module(
        library = true,
        complete = false
    )
public class FactoryModule {

    @Provides
    MembersAdapterFactory provideMembersAdapterFactory(
        me.magneto.groups.adapters.MembersAdapterFactoryImpl membersAdapterFactory) {
        return membersAdapterFactory;
    }

}

      

It fails:

import me.magneto.groups.adapters.MembersAdapterFactoryImpl;

@Module(
          library = true,
          complete = false
       )
public class FactoryModule {

    @Provides
    MembersAdapterFactory provideMembersAdapterFactory(
        MembersAdapterFactoryImpl membersAdapterFactory) {
        return membersAdapterFactory;
    } 
}

      

Factory of:

public interface MembersAdapterFactory {

    public MembersAdapter make(
                       Context context, int resource, List<Member> members);

}



@AutoFactory(
    className = "MembersAdapterFactoryImpl",
    implementing = { MembersAdapterFactory.class }
)
public class MembersAdapter extends ArrayAdapter<Member> {


    private MembersAdapterHelper mMembersAdapterHelper;


    MembersAdapter(@Provided MembersAdapterHelper membersAdapterHelper,
                   Context context,
                   int resource,
                   List<Member> members) {
        super(context, resource, members);
        mMembersAdapterHelper = membersAdapterHelper;
    }
}

      

+3
java android guice dagger


source to share


No one has answered this question yet

See similar questions:

3
Square dagger bug: class is exclusively members that enter / cannot be scoped

or similar:

81
How to set up DAGGER dependency injection from scratch in Android project?
18
Look for an example for dagger injection
17
How to make Jersey work with dagger addiction injection?
4
Architecture Components ViewModels inject dagger with parameters that come from Activity / Fragment
3
How to transfer missing input from module with full = false from dagger 1 to dagger 2
2
Complex Dagger Reorganization Guide
2
Dagger for inserting a modified service into the tape Task
1
How can I query dagger driven instances only with @Inject annotation in all classes?
0
Dagger 1.2.2 will downgrade to Dagger 1.2.0 for Google Auto Factory
0
Dependency Object Factory Injection



All Articles
Loading...
X
Show
Funny
Dev
Pics