Skip to content

Commit f4037c4

Browse files
Merge pull request #1 from rishabh115/master
Use dagger-android's DaggerApplication and DaggerAppCompatActivity class
2 parents 816985f + 1e7e481 commit f4037c4

File tree

4 files changed

+9
-31
lines changed

4 files changed

+9
-31
lines changed

app/src/main/java/com/example/githubfirebaseissue/GithubApplication.kt

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,15 @@ import android.app.Activity
44
import android.app.Application
55
import com.example.githubfirebaseissue.di.component.DaggerApplicationComponent
66
import dagger.android.AndroidInjector
7+
import dagger.android.DaggerApplication
78
import dagger.android.DispatchingAndroidInjector
89
import dagger.android.HasActivityInjector
910
import javax.inject.Inject
1011

1112

12-
class GithubApplication : Application(), HasActivityInjector {
13+
class GithubApplication : DaggerApplication() {
1314

14-
@Inject
15-
lateinit var activityInjector: DispatchingAndroidInjector<Activity>
16-
17-
override fun activityInjector(): AndroidInjector<Activity> = activityInjector
18-
19-
override fun onCreate() {
20-
super.onCreate()
21-
DaggerApplicationComponent
22-
.builder()
23-
.application(this)
24-
.build()
25-
.inject(this)
15+
override fun applicationInjector(): AndroidInjector<out DaggerApplication> {
16+
return DaggerApplicationComponent.factory().create(this)
2617
}
2718
}

app/src/main/java/com/example/githubfirebaseissue/base/BaseActivity.kt

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,23 +8,17 @@ import dagger.android.support.HasSupportFragmentInjector
88
import dagger.android.DispatchingAndroidInjector
99
import javax.inject.Inject
1010
import dagger.android.AndroidInjector
11+
import dagger.android.support.DaggerAppCompatActivity
1112

1213

13-
abstract class BaseActivity : AppCompatActivity(), HasSupportFragmentInjector {
14-
15-
@Inject
16-
lateinit var fragmentDispatchingAndroidInjector: DispatchingAndroidInjector<Fragment>
14+
abstract class BaseActivity : DaggerAppCompatActivity() {
1715

1816
override fun onCreate(savedInstanceState: Bundle?) {
1917
AndroidInjection.inject(this)
2018
super.onCreate(savedInstanceState)
2119
setContentView(getLayoutRes())
2220
}
2321

24-
override fun supportFragmentInjector(): AndroidInjector<Fragment> {
25-
return fragmentDispatchingAndroidInjector
26-
}
27-
2822
fun replaceFragment(
2923
container: Int,
3024
fragment: Fragment,

app/src/main/java/com/example/githubfirebaseissue/base/BaseFragment.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ abstract class BaseFragment : Fragment() {
3939
}
4040

4141
protected fun showErrorDialog(message: String, actionText: String) {
42-
val dialog = Dialog(context!!)
42+
val dialog = Dialog(requireContext())
4343
with(dialog) {
4444
requestWindowFeature(Window.FEATURE_NO_TITLE)
4545
setCancelable(false)

app/src/main/java/com/example/githubfirebaseissue/di/component/ApplicationComponent.kt

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,6 @@ import dagger.android.support.AndroidSupportInjectionModule
2020
)
2121
interface ApplicationComponent : AndroidInjector<GithubApplication> {
2222

23-
@Component.Builder
24-
interface Builder {
25-
@BindsInstance
26-
fun application(application: GithubApplication): Builder
27-
28-
fun build(): ApplicationComponent
29-
}
30-
31-
override fun inject(app: GithubApplication)
23+
@Component.Factory
24+
abstract class Builder: AndroidInjector.Factory<GithubApplication>
3225
}

0 commit comments

Comments
 (0)