diff --git a/app/src/main/java/com/lgtm/android/di/RepositoryModule.kt b/app/src/main/java/com/lgtm/android/di/RepositoryModule.kt index 7f4d97cc..5ca456ac 100644 --- a/app/src/main/java/com/lgtm/android/di/RepositoryModule.kt +++ b/app/src/main/java/com/lgtm/android/di/RepositoryModule.kt @@ -2,11 +2,13 @@ package com.lgtm.android.di import com.lgtm.android.data.repository.AuthRepositoryImpl import com.lgtm.android.data.repository.IntroRepositoryImpl +import com.lgtm.android.data.repository.LoggingRepositoryImpl import com.lgtm.android.data.repository.MissionRepositoryImpl import com.lgtm.android.data.repository.NotificationRepositoryImpl import com.lgtm.android.data.repository.ProfileRepositoryImpl import com.lgtm.domain.repository.AuthRepository import com.lgtm.domain.repository.IntroRepository +import com.lgtm.domain.repository.LoggingRepository import com.lgtm.domain.repository.MissionRepository import com.lgtm.domain.repository.NotificationRepository import com.lgtm.domain.repository.ProfileRepository @@ -44,4 +46,9 @@ interface RepositoryModule { notificationRepositoryImpl: NotificationRepositoryImpl ): NotificationRepository + @Binds + fun bindsLoggingRepository( + loggingRepositoryImpl: LoggingRepositoryImpl + ): LoggingRepository + } \ No newline at end of file diff --git a/common-ui/src/main/java/com/lgtm/android/common_ui/base/BaseViewModel.kt b/common-ui/src/main/java/com/lgtm/android/common_ui/base/BaseViewModel.kt index aa196346..17256330 100644 --- a/common-ui/src/main/java/com/lgtm/android/common_ui/base/BaseViewModel.kt +++ b/common-ui/src/main/java/com/lgtm/android/common_ui/base/BaseViewModel.kt @@ -6,8 +6,6 @@ import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import com.lgtm.domain.entity.LgtmResponseException -import com.lgtm.domain.logging.SwmCommonLoggingScheme -import com.swm.logging.android.SWMLogging import kotlinx.coroutines.CoroutineExceptionHandler abstract class BaseViewModel : ViewModel() { @@ -32,8 +30,4 @@ abstract class BaseViewModel : ViewModel() { } } } - - fun shotSwmLogging(scheme : SwmCommonLoggingScheme) { - SWMLogging.logEvent(scheme) - } } diff --git a/data/src/main/java/com/lgtm/android/data/repository/LoggingRepositoryImpl.kt b/data/src/main/java/com/lgtm/android/data/repository/LoggingRepositoryImpl.kt new file mode 100644 index 00000000..7a33b3fa --- /dev/null +++ b/data/src/main/java/com/lgtm/android/data/repository/LoggingRepositoryImpl.kt @@ -0,0 +1,12 @@ +package com.lgtm.android.data.repository + +import com.lgtm.domain.repository.LoggingRepository +import com.swm.logging.android.SWMLogging +import com.swm.logging.android.logging_scheme.SWMLoggingScheme +import javax.inject.Inject + +class LoggingRepositoryImpl @Inject constructor() : LoggingRepository { + override fun shotSwmLogging(scheme: SWMLoggingScheme) { + SWMLogging.logEvent(scheme) + } +} \ No newline at end of file diff --git a/domain/src/main/java/com/lgtm/domain/repository/LoggingRepository.kt b/domain/src/main/java/com/lgtm/domain/repository/LoggingRepository.kt new file mode 100644 index 00000000..ca467afc --- /dev/null +++ b/domain/src/main/java/com/lgtm/domain/repository/LoggingRepository.kt @@ -0,0 +1,7 @@ +package com.lgtm.domain.repository + +import com.swm.logging.android.logging_scheme.SWMLoggingScheme + +interface LoggingRepository { + fun shotSwmLogging(scheme: SWMLoggingScheme) +} \ No newline at end of file diff --git a/feature/auth/src/main/java/com/lgtm/android/auth/ui/SignInViewModel.kt b/feature/auth/src/main/java/com/lgtm/android/auth/ui/SignInViewModel.kt index bca4d29e..de5b0767 100644 --- a/feature/auth/src/main/java/com/lgtm/android/auth/ui/SignInViewModel.kt +++ b/feature/auth/src/main/java/com/lgtm/android/auth/ui/SignInViewModel.kt @@ -13,7 +13,7 @@ import com.lgtm.android.common_ui.util.NetworkState import com.lgtm.domain.entity.LgtmResponseException import com.lgtm.domain.entity.response.GithubLoginResponse import com.lgtm.domain.repository.AuthRepository -import com.swm.logging.android.SWMLogging +import com.lgtm.domain.repository.LoggingRepository import com.swm.logging.android.logging_scheme.SWMLoggingScheme import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch @@ -22,6 +22,7 @@ import javax.inject.Inject @HiltViewModel class SignInViewModel @Inject constructor( private val authRepository: AuthRepository, + private val loggingRepository: LoggingRepository ) : BaseViewModel() { private val deviceToken = MutableLiveData() @@ -90,6 +91,6 @@ class SignInViewModel @Inject constructor( } fun shotSignInExposureLogging(scheme: SWMLoggingScheme) { - SWMLogging.logEvent(scheme) + loggingRepository.shotSwmLogging(scheme) } } diff --git a/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/SignUpViewModel.kt b/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/SignUpViewModel.kt index b4e987d4..e4ace757 100644 --- a/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/SignUpViewModel.kt +++ b/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/SignUpViewModel.kt @@ -23,6 +23,8 @@ import com.lgtm.domain.entity.request.SignUpSeniorRequestVO import com.lgtm.domain.entity.response.MemberDataDTO import com.lgtm.domain.entity.response.SignUpResponseVO import com.lgtm.domain.repository.AuthRepository +import com.lgtm.domain.repository.LoggingRepository +import com.swm.logging.android.logging_scheme.SWMLoggingScheme import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch import javax.inject.Inject @@ -30,6 +32,7 @@ import javax.inject.Inject @HiltViewModel class SignUpViewModel @Inject constructor( private val authRepository: AuthRepository, + private val loggingRepository: LoggingRepository ) : BaseViewModel() { /** Device Token */ @@ -431,6 +434,10 @@ class SignUpViewModel @Inject constructor( _selectedBankIdx.value = position } + fun shotSwmLogging(swmLoggingScheme: SWMLoggingScheme) { + loggingRepository.shotSwmLogging(swmLoggingScheme) + } + companion object { private const val ONE_MONTH = 1 private const val ONE_YEAR = 12 diff --git a/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/common/ChooseRoleFragment.kt b/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/common/ChooseRoleFragment.kt index ec3be9ea..fdb4b03d 100644 --- a/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/common/ChooseRoleFragment.kt +++ b/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/common/ChooseRoleFragment.kt @@ -61,7 +61,7 @@ class ChooseRoleFragment : BaseFragment(R.layout.frag .setScreenName(this.javaClass) .setLogData(mapOf("signUpStep" to 5)) .build() - viewModel.shotSwmLogging(scheme) + signUpViewModel.shotSwmLogging(scheme) } } \ No newline at end of file diff --git a/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/common/IntroductionFragment.kt b/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/common/IntroductionFragment.kt index ab9a5c89..178560f1 100644 --- a/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/common/IntroductionFragment.kt +++ b/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/common/IntroductionFragment.kt @@ -64,6 +64,6 @@ class IntroductionFragment : .setScreenName(this.javaClass) .setLogData(mapOf("signUpStep" to 4)) .build() - viewModel.shotSwmLogging(scheme) + signUpViewModel.shotSwmLogging(scheme) } } \ No newline at end of file diff --git a/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/common/NicknameFragment.kt b/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/common/NicknameFragment.kt index e221865a..ab3e393f 100644 --- a/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/common/NicknameFragment.kt +++ b/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/common/NicknameFragment.kt @@ -34,7 +34,7 @@ class NicknameFragment : BaseFragment(R.layout.fragment .setScreenName(this.javaClass) .setLogData(mapOf("signUpStep" to 2)) .build() - viewModel.shotSwmLogging(scheme) + signUpViewModel.shotSwmLogging(scheme) } private fun setupViewModel() { diff --git a/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/common/TechTagFragment.kt b/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/common/TechTagFragment.kt index 70f16bc2..bee506d9 100644 --- a/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/common/TechTagFragment.kt +++ b/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/common/TechTagFragment.kt @@ -62,6 +62,6 @@ class TechTagFragment : BaseFragment(R.layout.fragment_t .setScreenName(this.javaClass) .setLogData(mapOf("signUpStep" to 3)) .build() - viewModel.shotSwmLogging(scheme) + signUpViewModel.shotSwmLogging(scheme) } } \ No newline at end of file diff --git a/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/common/TermsFragment.kt b/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/common/TermsFragment.kt index 15e7a205..8ac7c46e 100644 --- a/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/common/TermsFragment.kt +++ b/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/common/TermsFragment.kt @@ -61,7 +61,7 @@ class TermsFragment : BaseFragment(R.layout.fragment_terms .setEventLogName("termsServiceClick") .setScreenName(this.javaClass) .build() - viewModel.shotSwmLogging(scheme) + signUpViewModel.shotSwmLogging(scheme) } private fun shotTermsPrivacyClickLogging() { @@ -69,7 +69,7 @@ class TermsFragment : BaseFragment(R.layout.fragment_terms .setEventLogName("termsPrivacyClick") .setScreenName(this.javaClass) .build() - viewModel.shotSwmLogging(scheme) + signUpViewModel.shotSwmLogging(scheme) } private fun openUrlInBrowser(url: String) { @@ -135,7 +135,7 @@ class TermsFragment : BaseFragment(R.layout.fragment_terms .setScreenName(this.javaClass) .setLogData(mapOf("signUpStep" to 1)) .build() - viewModel.shotSwmLogging(scheme) + signUpViewModel.shotSwmLogging(scheme) } companion object { diff --git a/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/reviewee/EducationStatusFragment.kt b/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/reviewee/EducationStatusFragment.kt index 52b7c85f..5102f8d9 100644 --- a/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/reviewee/EducationStatusFragment.kt +++ b/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/reviewee/EducationStatusFragment.kt @@ -99,6 +99,6 @@ class EducationStatusFragment : .setScreenName(this.javaClass) .setLogData(mapOf("signUpStep" to 6, "juniorStep" to 1)) .build() - viewModel.shotSwmLogging(scheme) + signUpViewModel.shotSwmLogging(scheme) } } \ No newline at end of file diff --git a/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/reviewee/RealNameFragment.kt b/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/reviewee/RealNameFragment.kt index 58441a5e..781c600a 100644 --- a/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/reviewee/RealNameFragment.kt +++ b/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/reviewee/RealNameFragment.kt @@ -82,7 +82,7 @@ class RealNameFragment : BaseFragment(R.layout.fragment .setScreenName(this.javaClass) .setLogData(mapOf("signUpStep" to 7, "juniorStep" to 2)) .build() - viewModel.shotSwmLogging(scheme) + signUpViewModel.shotSwmLogging(scheme) } } \ No newline at end of file diff --git a/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/reviewer/BankAccountFragment.kt b/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/reviewer/BankAccountFragment.kt index bc94cd05..954ab512 100644 --- a/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/reviewer/BankAccountFragment.kt +++ b/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/reviewer/BankAccountFragment.kt @@ -120,7 +120,7 @@ class BankAccountFragment : .setScreenName(this.javaClass) .setLogData(mapOf("signUpStep" to 9, "seniorStep" to 4)) .build() - viewModel.shotSwmLogging(scheme) + signUpViewModel.shotSwmLogging(scheme) } } \ No newline at end of file diff --git a/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/reviewer/CareerPeriodFragment.kt b/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/reviewer/CareerPeriodFragment.kt index c663c7cb..c3596e50 100644 --- a/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/reviewer/CareerPeriodFragment.kt +++ b/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/reviewer/CareerPeriodFragment.kt @@ -57,7 +57,7 @@ class CareerPeriodFragment : .setScreenName(this.javaClass) .setLogData(mapOf("signUpStep" to 8, "seniorStep" to 3)) .build() - viewModel.shotSwmLogging(scheme) + signUpViewModel.shotSwmLogging(scheme) } } \ No newline at end of file diff --git a/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/reviewer/CompanyNameFragment.kt b/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/reviewer/CompanyNameFragment.kt index 0c09e39f..e53fa220 100644 --- a/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/reviewer/CompanyNameFragment.kt +++ b/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/reviewer/CompanyNameFragment.kt @@ -61,6 +61,6 @@ class CompanyNameFragment : .setScreenName(this.javaClass) .setLogData(mapOf("signUpStep" to 6, "seniorStep" to 1)) .build() - viewModel.shotSwmLogging(scheme) + signUpViewModel.shotSwmLogging(scheme) } } \ No newline at end of file diff --git a/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/reviewer/PositionFragment.kt b/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/reviewer/PositionFragment.kt index 19a38a0a..8018b2b7 100644 --- a/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/reviewer/PositionFragment.kt +++ b/feature/auth/src/main/java/com/lgtm/android/auth/ui/signup/reviewer/PositionFragment.kt @@ -61,6 +61,6 @@ class PositionFragment : .setScreenName(this.javaClass) .setLogData(mapOf("signUpStep" to 7, "seniorStep" to 2)) .build() - viewModel.shotSwmLogging(scheme) + signUpViewModel.shotSwmLogging(scheme) } } \ No newline at end of file diff --git a/feature/auth/src/main/java/com/lgtm/android/auth/ui/splash/SplashActivity.kt b/feature/auth/src/main/java/com/lgtm/android/auth/ui/splash/SplashActivity.kt index 02c6dc67..184c5bdf 100644 --- a/feature/auth/src/main/java/com/lgtm/android/auth/ui/splash/SplashActivity.kt +++ b/feature/auth/src/main/java/com/lgtm/android/auth/ui/splash/SplashActivity.kt @@ -37,7 +37,7 @@ class SplashActivity : BaseActivity(R.layout.activity_spl .setEventLogName("splashExposure") .setScreenName(this.javaClass) .build() - viewModel?.shotSwmLogging(scheme) + splashViewModel.shotSwmLogging(scheme) } override fun onResume() { diff --git a/feature/auth/src/main/java/com/lgtm/android/auth/ui/splash/SplashViewModel.kt b/feature/auth/src/main/java/com/lgtm/android/auth/ui/splash/SplashViewModel.kt index 2b62f3ca..b580e228 100644 --- a/feature/auth/src/main/java/com/lgtm/android/auth/ui/splash/SplashViewModel.kt +++ b/feature/auth/src/main/java/com/lgtm/android/auth/ui/splash/SplashViewModel.kt @@ -14,7 +14,7 @@ import com.google.firebase.remoteconfig.ktx.remoteConfigSettings import com.lgtm.android.common_ui.base.BaseViewModel import com.lgtm.domain.repository.AuthRepository import com.lgtm.domain.repository.IntroRepository -import com.swm.logging.android.SWMLogging +import com.lgtm.domain.repository.LoggingRepository import com.swm.logging.android.logging_scheme.SWMLoggingScheme import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch @@ -24,6 +24,7 @@ import javax.inject.Inject class SplashViewModel @Inject constructor( private val introRepository: IntroRepository, private val authRepository: AuthRepository, + private val loggingRepository: LoggingRepository ) : BaseViewModel() { @@ -99,8 +100,8 @@ class SplashViewModel @Inject constructor( return authRepository.isAutoLoginAvailable() } - fun shotSplashExposureLogging(swmLoggingScheme: SWMLoggingScheme) { - SWMLogging.logEvent(swmLoggingScheme) + fun shotSwmLogging(swmLoggingScheme: SWMLoggingScheme) { + loggingRepository.shotSwmLogging(swmLoggingScheme) } companion object {