โif requestedโ means โif manually enteredโ, i.e. an object is created by you or some structure (I think Android and Activities objects), and then you call 'DaggerMyComponent.inject (myObject);'.
On the other hand, when you provide the annotated @Inject constructor, Dagger will be able to create objects of this class, so your class may be in the middle of the dependency graph, and the object will be automatically created for you by a dagger.
Typically, in Android, you manually enter only those objects that were created / destroyed for you using android (i.e. you do not control their life cycle), for example, Application, Activities, Services, etc.
Also, you donโt need to worry if you accidentally missed the @Inject annotation in the constructor of any class. If your class is the middle of the graph, the Dagger will catch that there are dependencies that are not satisfied and will not compile the compilation with the corresponding error.
Ognyan
source share