Skip to content

Instantly share code, notes, and snippets.

@babedev
Created May 21, 2017 15:36
Show Gist options
  • Save babedev/120c1cf1260f978c234f82d31ccab7ff to your computer and use it in GitHub Desktop.
Save babedev/120c1cf1260f978c234f82d31ccab7ff to your computer and use it in GitHub Desktop.
private fun generateActivity() {
val onCreate = FunSpec.builder("onCreate")
.addModifiers(KModifier.OVERRIDE, KModifier.PUBLIC)
.addParameter("savedInstanceState", Bundle::class)
.addStatement("super.onCreate(savedInstanceState)")
.addComment("TODO setContentView()")
.addStatement("mPresenter = %T()", presenterType)
.addStatement("mPresenter.attachView(this)")
.build()
val mvpActivity = TypeSpec.classBuilder(featureName + "Activity")
.superclass(TypeName.get(Activity::class.java))
.addSuperinterface(viewType)
.addProperty(PropertySpec
.varBuilder("mPresenter", presenterType, KModifier.LATEINIT)
.build())
.addFun(onCreate)
.build()
KotlinFile.builder(packageName + "." + featureName.toLowerCase(), featureName + "Activity")
.addType(mvpActivity)
.build()
.writeTo(File(rootPath))
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment