Skip to content

Commit 78552ef

Browse files
authored
Merge pull request #22 from lucassales2/feature/hilt
Migrate dagger.android to hilt beta
2 parents 6374c39 + ad97516 commit 78552ef

22 files changed

+44
-305
lines changed

app/build.gradle

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@ plugins {
22
id 'com.android.application'
33
id 'kotlin-android'
44
id 'kotlin-kapt'
5-
id 'org.jetbrains.kotlin.plugin.serialization' version '1.4.21'
5+
id 'org.jetbrains.kotlin.plugin.serialization' version '1.4.30'
66
id 'dk.nstack.translation.plugin'
7+
id 'dagger.hilt.android.plugin'
78
}
89

910
translation {
@@ -97,10 +98,10 @@ dependencies {
9798
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
9899
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
99100

100-
implementation "com.google.dagger:dagger-android:${versions.dagger}"
101-
implementation "com.google.dagger:dagger-android-support:${versions.dagger}"
102-
kapt "com.google.dagger:dagger-compiler:${versions.dagger}"
103-
kapt "com.google.dagger:dagger-android-processor:${versions.dagger}"
101+
102+
implementation "com.google.dagger:hilt-android:${versions.hilt}"
103+
kapt "com.google.dagger:hilt-compiler:${versions.hilt}"
104+
104105

105106
implementation("com.jakewharton.retrofit:retrofit2-kotlinx-serialization-converter:0.8.0")
106107
implementation("com.squareup.retrofit2:retrofit:2.9.0")
Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
package com.monstarlab
22

3+
import android.app.Application
34
import com.monstarlab.features.nstack.Translation
4-
import com.monstarlab.injection.components.DaggerAppComponent
5-
import dagger.android.AndroidInjector
6-
import dagger.android.DaggerApplication
5+
import dagger.hilt.android.HiltAndroidApp
76
import dk.nodes.nstack.kotlin.NStack
87
import timber.log.Timber
98

10-
class App : DaggerApplication() {
9+
@HiltAndroidApp
10+
class App : Application() {
1111

1212
override fun onCreate() {
1313
super.onCreate()
@@ -17,8 +17,4 @@ class App : DaggerApplication() {
1717
Timber.plant(Timber.DebugTree())
1818
}
1919
}
20-
21-
override fun applicationInjector(): AndroidInjector<out DaggerApplication> {
22-
return DaggerAppComponent.factory().create(this)
23-
}
2420
}

app/src/main/java/com/monstarlab/arch/base/BaseActivity.kt

Lines changed: 0 additions & 45 deletions
This file was deleted.

app/src/main/java/com/monstarlab/arch/base/BaseFragment.kt

Lines changed: 0 additions & 57 deletions
This file was deleted.

app/src/main/java/com/monstarlab/features/login/LoginFragment.kt

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,25 @@ package com.monstarlab.features.login
33
import android.os.Bundle
44
import android.view.View
55
import androidx.core.view.isVisible
6+
import androidx.fragment.app.Fragment
7+
import androidx.fragment.app.viewModels
68
import androidx.lifecycle.loadingFlow
79
import androidx.lifecycle.viewErrorFlow
810
import androidx.navigation.fragment.findNavController
911
import androidx.transition.TransitionManager
1012
import com.monstarlab.R
11-
import com.monstarlab.arch.base.BaseFragment
1213
import com.monstarlab.arch.extensions.collectFlow
1314
import com.monstarlab.arch.extensions.onClick
1415
import com.monstarlab.arch.extensions.snackErrorFlow
1516
import com.monstarlab.arch.extensions.viewBinding
1617
import com.monstarlab.arch.extensions.visibilityFlow
1718
import com.monstarlab.databinding.FragmentLoginBinding
19+
import dagger.hilt.android.AndroidEntryPoint
1820

19-
class LoginFragment : BaseFragment(R.layout.fragment_login) {
21+
@AndroidEntryPoint
22+
class LoginFragment : Fragment(R.layout.fragment_login) {
2023

21-
private val viewModel by viewModel<LoginViewModel>()
24+
private val viewModel by viewModels<LoginViewModel>()
2225
private val binding by viewBinding(FragmentLoginBinding::bind)
2326

2427
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {

app/src/main/java/com/monstarlab/features/login/LoginViewModel.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,12 @@ import com.monstarlab.arch.extensions.LoadingAware
88
import com.monstarlab.arch.extensions.ViewErrorAware
99
import com.monstarlab.arch.extensions.onSuccess
1010
import com.monstarlab.core.usecases.user.LoginUseCase
11+
import dagger.hilt.android.lifecycle.HiltViewModel
1112
import kotlinx.coroutines.flow.MutableSharedFlow
1213
import kotlinx.coroutines.flow.launchIn
1314
import javax.inject.Inject
1415

16+
@HiltViewModel
1517
class LoginViewModel @Inject constructor(
1618
private val loginUseCase: LoginUseCase
1719
) : ViewModel(), ViewErrorAware, LoadingAware {

app/src/main/java/com/monstarlab/features/main/MainActivity.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
package com.monstarlab.features.main
22

33
import android.os.Bundle
4+
import androidx.appcompat.app.AppCompatActivity
45
import com.monstarlab.R
5-
import com.monstarlab.arch.base.BaseActivity
6+
import dagger.hilt.android.AndroidEntryPoint
67

7-
class MainActivity : BaseActivity(R.layout.activity_main) {
8+
@AndroidEntryPoint
9+
class MainActivity : AppCompatActivity(R.layout.activity_main) {
810
override fun onCreate(savedInstanceState: Bundle?) {
911
super.onCreate(savedInstanceState)
1012
setupNStack()

app/src/main/java/com/monstarlab/features/resources/ResourceFragment.kt

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,20 @@ package com.monstarlab.features.resources
22

33
import android.os.Bundle
44
import android.view.View
5+
import androidx.fragment.app.Fragment
6+
import androidx.fragment.app.viewModels
57
import androidx.transition.TransitionManager
68
import com.google.android.material.snackbar.Snackbar
79
import com.monstarlab.R
8-
import com.monstarlab.arch.base.BaseFragment
910
import com.monstarlab.arch.extensions.collectFlow
1011
import com.monstarlab.arch.extensions.viewBinding
1112
import com.monstarlab.databinding.FragmentResourceBinding
13+
import dagger.hilt.android.AndroidEntryPoint
1214

13-
class ResourceFragment : BaseFragment(R.layout.fragment_resource) {
15+
@AndroidEntryPoint
16+
class ResourceFragment : Fragment(R.layout.fragment_resource) {
1417

15-
private val viewModel by viewModel<ResourceViewModel>()
18+
private val viewModel by viewModels<ResourceViewModel>()
1619
private val binding by viewBinding(FragmentResourceBinding::bind)
1720
private val resourceAdapter = ResourceAdapter()
1821

app/src/main/java/com/monstarlab/features/resources/ResourceViewModel.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,15 @@ import com.monstarlab.core.domain.model.Resource
88
import com.monstarlab.core.sharedui.errorhandling.ViewError
99
import com.monstarlab.core.sharedui.errorhandling.mapToViewError
1010
import com.monstarlab.core.usecases.resources.GetResourcesUseCase
11+
import dagger.hilt.android.lifecycle.HiltViewModel
1112
import kotlinx.coroutines.flow.MutableSharedFlow
1213
import kotlinx.coroutines.flow.MutableStateFlow
1314
import kotlinx.coroutines.flow.launchIn
1415
import kotlinx.coroutines.flow.onCompletion
1516
import kotlinx.coroutines.flow.onStart
1617
import javax.inject.Inject
1718

19+
@HiltViewModel
1820
class ResourceViewModel @Inject constructor(
1921
private val getResourcesUseCase: GetResourcesUseCase
2022
) : ViewModel() {

app/src/main/java/com/monstarlab/injection/builders/LoginBuilder.kt

Lines changed: 0 additions & 21 deletions
This file was deleted.

app/src/main/java/com/monstarlab/injection/builders/MainActivityBuilder.kt

Lines changed: 0 additions & 12 deletions
This file was deleted.

app/src/main/java/com/monstarlab/injection/builders/ResourceBuilder.kt

Lines changed: 0 additions & 21 deletions
This file was deleted.

app/src/main/java/com/monstarlab/injection/components/AppComponent.kt

Lines changed: 0 additions & 30 deletions
This file was deleted.

app/src/main/java/com/monstarlab/injection/modules/AppModule.kt

Lines changed: 0 additions & 15 deletions
This file was deleted.

app/src/main/java/com/monstarlab/injection/modules/DaggerViewModelFactory.kt

Lines changed: 0 additions & 31 deletions
This file was deleted.

0 commit comments

Comments
 (0)