FoKE-Developers / FourCutTogether

같이네컷: 오픈소스 즉석 사진 프로젝트
https://4cuts.store
3 stars 3 forks source link

add usecase to set external camera ip [#55] #57

Closed fetiu closed 1 month ago

fetiu commented 1 month ago

[Issue] #55 [Descriptions]

fetiu commented 1 month ago

기본적으로 #52 에서 만들어진 변경을 참고하고, #54 의 최신 entity관련 변경사항도 반영하여 작성했습니다. 현 시점 PR은 빌드가 성공하는 수준에서 마무리 된 상태입니다. 실제 동작을 HomeScreen에 연결된 ViewModel에서 대략적으로 테스트 하려했지만, 안드로이드에 대한 이해가 짧아 아래같은 에러를 만나고 포기했습니다.

/Users/Fetiu/GitHub/FourCutsTogether/app/build/generated/hilt/component_sources/debug/com/foke/together/MainApplication_HiltComponents.java:145: error: [Dagger/MissingBinding] com.foke.together.domain.input.GetExternalCameraIPInterface cannot be provided without an @Provides-annotated method.
  public abstract static class SingletonC implements MainApplication_GeneratedInjector,
                         ^

  Missing binding usage:
      com.foke.together.domain.input.GetExternalCameraIPInterface is injected at
          com.foke.together.presenter.viewmodel.HomeViewModel(getExternalCameraIP)
      com.foke.together.presenter.viewmodel.HomeViewModel is injected at
          com.foke.together.presenter.viewmodel.HomeViewModel_HiltModules.BindsModule.binds(arg0)
      @dagger.hilt.android.internal.lifecycle.HiltViewModelMap java.util.Map<java.lang.String,javax.inject.Provider<androidx.lifecycle.ViewModel>> is requested at
          dagger.hilt.android.internal.lifecycle.HiltViewModelFactory.ViewModelFactoriesEntryPoint.getHiltViewModelMap() [com.foke.together.MainApplication_HiltComponents.SingletonC → com.foke.together.MainApplication_HiltComponents.ActivityRetainedC → com.foke.together.MainApplication_HiltComponents.ViewModelC]

정상 동작 확인할 수 있는 방법 조언해주시면 감사하겠습니다!

DokySp commented 1 month ago

public abstract static class SingletonC implements MainApplication_GeneratedInjector, ^

Missing binding usage: com.foke.together.domain.input.GetExternalCameraIPInterface is injected at com.foke.together.presenter.viewmodel.HomeViewModel(getExternalCameraIP) com.foke.together.presenter.viewmodel.HomeViewModel is injected at com.foke.together.presenter.viewmodel.HomeViewModel_HiltModules.BindsModule.binds(arg0) @dagger.hilt.android.internal.lifecycle.HiltViewModelMap java.util.Map<java.lang.String,javax.inject.Provider> is requested at dagger.hilt.android.internal.lifecycle.HiltViewModelFactory.ViewModelFactoriesEntryPoint.getHiltViewModelMap() [com.foke.together.MainApplication_HiltComponents.SingletonC → com.foke.together.MainApplication_HiltComponents.ActivityRetainedC → com.foke.together.MainApplication_HiltComponents.ViewModelC]



정상 동작 확인할 수 있는 방법 조언해주시면 감사하겠습니다!

Hilt 의존성 주입 에러로 보입니다. domain 모듈 안에 UseCaseModule에 아래 코드 추가하면 미주입 에러가 해결되는 것으로 확인됩니다.

@Binds
abstract fun bindGetExternalCameraIPUseCase(
    getExternalCameraIPUseCase: GetExternalCameraIPUseCase
): GetExternalCameraIPInterface
fetiu commented 1 month ago

리뷰 감사합니다! 머지하겠습니다 :)