Saya mendapatkan catatan ini di build setiap kali saya melakukan injeksi ke kelas kotlin (btw, saya memiliki proyek android campuran dengan kotlin dan java).
Misalnya, setelah tugas gradle ini: compileStagingDebugJavaWithJavac
(StagingDebug adalah varian build saya), saya mendapatkan pesan ini:
"Catatan: Membuat MembersInjector atau Pabrik untuk com.packageNameXXX.CourseDiscoveryMapFragment. Lebih suka menjalankan dagger processor di atas kelas itu."
Kode CourseDiscoveryMapFragment saya dapat dilihat di sini:
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)
}
Dan ActivityComponent saya adalah:
@ActivityScope
@Subcomponent(modules = ActivityModule.class)
public interface ActivityComponent {
void inject(BaseActivity baseActivity);
void inject(CourseDiscoveryMapFragment fragment);
//Exposed to sub-graphs.
Activity activity();
}
Jadi, saya memiliki komponen dagger dan modul yang ditulis di Java, sementara injeksi dagger di Kotlin.
Apakah ini sesuatu yang harus saya khawatirkan?
Terima kasih.