Recibo esta nota en la compilación cada vez que hago una inyección en una clase de kotlin (por cierto, tengo un proyecto mixto de Android con kotlin y java).
Por ejemplo, después de esta tarea gradle: compileStagingDebugJavaWithJavac
(StagingDebug es mi variante de compilación), recibo este mensaje:
"Nota: Generando un MembersInjector o Factory para com.packageNameXXX.CourseDiscoveryMapFragment. En su lugar, prefiera ejecutar el procesador de dagas sobre esa clase".
Mi código de CourseDiscoveryMapFragment se puede ver aquí:
class CourseDiscoveryMapFragment : Fragment(){
@Inject
lateinit var presenter: CourseDiscoveryMapPresenter
lateinit var mapView: MapView
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
val view = inflater.inflate(R.layout.fragment_discovery_map, container, false)
MapsInitializer.initialize(activity)
mapView = view.mapView
mapView.onCreate(savedInstanceState?.getBundle(BUNDLE_KEY_MAP_STATE))
(activity as BaseActivity)
.activityComponent.inject(this)
}
Y mi Componente de actividad es:
@ActivityScope
@Subcomponent(modules = ActivityModule.class)
public interface ActivityComponent {
void inject(BaseActivity baseActivity);
void inject(CourseDiscoveryMapFragment fragment);
//Exposed to sub-graphs.
Activity activity();
}
Entonces, tengo componentes y módulos de dagas escritos en Java, mientras tengo inyecciones de dagas en Kotlin.
¿Es esto algo de lo que debería preocuparme?
Gracias.