Я пытаюсь настроить Dagger2, чтобы иметь возможность внедрять экземпляр Appliaction, но во время сборки я получаю странную ошибку:
DaggerAppComponent.java:3: error: package android.app does not exist
import android.app.Application;
^
Вот мой код:
Зависимости Gradle Dagger2
dependencies {
...
implementation 'com.google.dagger:dagger:2.27'
kapt 'com.google.dagger:dagger-compiler:2.27'
...
}
AppComponent
@Singleton
@Component(modules = [HttpModule::class, AuthModule::class])
interface AppComponent {
@Component.Builder
interface Builder {
@BindsInstance
fun application(app: Application): Builder
fun build(): AppComponent
}
fun inject(activity: BootstrapActivity)
fun inject(activity: LoginActivity)
}
MyApplication
class MyApplication : Application() {
private lateinit var appComponent: AppComponent
override fun onCreate() {
super.onCreate()
appComponent = DaggerAppComponent.builder()
.application(this)
.build()
}
fun getAppComponent() = appComponent
}
BootstrapActivity (NoDisplay)
class BootstrapActivity : AppCompatActivity() {
@Inject
lateinit var auth: Auth
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
(applicationContext as MyApplication).getAppComponent()
.inject(this)
//auth.fetchCurrentUser()
val intent: Intent = if (auth.isLoggedIn()) {
Intent(this, HomeActivity::class.java)
} else {
Intent(this, LoginActivity::class.java)
}
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
startActivity(intent)
finish()
}
}
Как это возможно, что пакет android .app не существует? Помогите пожалуйста, 2 дня борюсь с этим: (