Skip to content

Instantly share code, notes, and snippets.

@jutikorn
Created January 5, 2021 04:07
Show Gist options
  • Save jutikorn/a992dbd44d705c690f1eb3485e32262b to your computer and use it in GitHub Desktop.
Save jutikorn/a992dbd44d705c690f1eb3485e32262b to your computer and use it in GitHub Desktop.
3 Activities, 3 AndroidEntryPointes, using ActivityRetainedScoped
@AndroidEntryPoint
class MainActivity : AppCompatActivity() {
@Inject
lateinit var emailSender: EmailSender
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.main_activity)
println("From $this EmailSender is $emailSender")
startActivity(Intent(this, SecondActivity::class.java))
}
}
@AndroidEntryPoint
class SecondActivity : AppCompatActivity() {
@Inject
lateinit var emailSender: EmailSender
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.main_activity)
println("From $this EmailSender is $emailSender")
startActivity(Intent(this, ThirdActivity::class.java))
}
}
@AndroidEntryPoint
class ThirdActivity : AppCompatActivity() {
@Inject
lateinit var emailSender: EmailSender
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.main_activity)
println("From $this EmailSender is $emailSender")
}
}
private MainActivity injectMainActivity2(MainActivity instance) {
MainActivity_MembersInjector.injectEmailSender(instance, ActivityRetainedCImpl.this.getEmailSender());
return instance;
}
private SecondActivity injectSecondActivity2(SecondActivity instance) {
SecondActivity_MembersInjector.injectEmailSender(instance, ActivityRetainedCImpl.this.getEmailSender());
return instance;
}
private ThirdActivity injectThirdActivity2(ThirdActivity instance) {
ThirdActivity_MembersInjector.injectEmailSender(instance, ActivityRetainedCImpl.this.getEmailSender());
return instance;
}
@ActivityRetainedScoped
class EmailSender @Inject constructor() {
fun send(msg: String){
println(msg)
}
}
2021-01-05 11:04:11.546 13617-13617/? I/System.out: From MainActivity@f7cddaa EmailSender is EmailSender@3ade714
2021-01-05 11:04:12.041 13617-13617/? I/System.out: From SecondActivity@8403e57 EmailSender is EmailSender@5776b47
2021-01-05 11:04:12.664 13617-13617/? I/System.out: From ThirdActivity@7433d36 EmailSender is EmailSender@8b35fe6
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment