Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feat/week8] clean architecture #12

Merged
merged 37 commits into from
Jan 14, 2024
Merged
Changes from 1 commit
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
45db24d
[feat] : api factory ν•˜λ‚˜λ‘œ ν•©μΉ¨
chanubc Dec 29, 2023
1f815a4
[chore] : 디렉토리 λ³€κ²½ data-dto-remote
chanubc Dec 29, 2023
f03cee7
[chore] : 디렉토리 λ³€κ²½μœΌλ‘œ μΈν•œ 컀밋
chanubc Dec 30, 2023
2a24051
[add] : ReqresDataSource 생성 data-datasource
chanubc Dec 30, 2023
de07656
[add] : ReqresDataSourceImpl 생성
chanubc Dec 30, 2023
4941b93
[fix] : ReqresService suspend ν•¨μˆ˜ λ³€κ²½, return type λ³€κ²½
chanubc Dec 30, 2023
84594ed
[add] : Reqres 도메인 μ˜μ—­ μž‘μ„±
chanubc Dec 30, 2023
66c0e58
[add] : util UiState μž‘μ„±
chanubc Dec 31, 2023
68de139
[fix] : uistate Success νƒ€μž… μ œλ„ˆλ¦­ νƒ€μž…μœΌλ‘œ λ³€κ²½
chanubc Jan 2, 2024
f11a2f1
[add] : AuthRepository 생성
chanubc Jan 2, 2024
4926d40
[add] : ReqresRepository 생성(좔후에 impl둜 λ¦¬νŒ©ν† λ§)
chanubc Jan 2, 2024
d95815f
[feat] : ResponseReqresDto mapping ν•¨μˆ˜ μΆ”κ°€
chanubc Jan 2, 2024
9cfbe12
[add] : Do Andorid Viewmodel μΆ”κ°€
chanubc Jan 2, 2024
8843f98
[fix] : Auth, SignUp Viewmodel μ˜μ‘΄μ„± μˆ˜λ™ μ£Όμž…, μ„œλ²„ 톡신 μˆ˜μ •
chanubc Jan 2, 2024
494c87f
[feat] : domain μ˜μ—­ ReqresRepository μΆ”κ°€(ν˜„μž¬λŠ” 의미 μ—†μŒ)
chanubc Jan 2, 2024
2ba0067
[fix] : adpater 도메인 μ˜μ—­ entity둜 λ³€κ²½
chanubc Jan 2, 2024
ddef6cb
[feat] : DoAndroidFragment μ„œλ²„ν†΅μ‹  ui state κ΄€μ°°, ViewModelFactoryλ₯Ό μ‚¬μš©ν•˜μ—¬ D…
chanubc Jan 2, 2024
4f792d5
[feat] : μ„œλ²„ν†΅μ‹  ui state κ΄€μ°°, ViewModelFactoryλ₯Ό μ‚¬μš©ν•˜μ—¬ viewmodel μ΄ˆκΈ°ν™”
chanubc Jan 2, 2024
28064d4
[feat] : ViewModelFactory 생성
chanubc Jan 2, 2024
5e83aed
[fix] : uistate util둜 λ³€κ²½
chanubc Jan 2, 2024
1ca2f3a
[chore] : pareclize μ˜μ‘΄μ„±
chanubc Jan 2, 2024
81a13ee
[chore] : toast 맀세지 λ³€κ²½
chanubc Jan 2, 2024
b6b5212
[chore] : 주석 μΆ”κ°€
chanubc Jan 2, 2024
24232f5
[feat] : μ˜μ‘΄μ„± μˆ˜λ™ μ£Όμž…
chanubc Jan 2, 2024
2091a0b
[chore] : di hilt λΌμ΄λΈŒλŸ¬μ§€ μΆ”κ°€, μžλ°” 버전 17둜 λ³€κ²½
chanubc Jan 2, 2024
0406712
[add] : AuthDataSource 생성
chanubc Jan 3, 2024
305a3ac
[add] : AuthDomainRepository 생성, AuthDataSourceImpl 생성
chanubc Jan 3, 2024
bfc726e
[chore] : AuthService 콜백 νƒ€μž… μˆ˜μ •
chanubc Jan 3, 2024
5ebd6ba
[chore] : rename
chanubc Jan 3, 2024
f84ee04
[feat] : ResponseLoginDto map ν•¨μˆ˜ μΆ”κ°€
chanubc Jan 3, 2024
d6cbccb
[add] : domain μ˜μ—­ UserEntity μΆ”κ°€ + Parcelize
chanubc Jan 3, 2024
bb7110e
[fix] : domain μ˜μ—­ entity둜 λ³€κ²½, uiμ˜μ—­ model μ‚­μ œ
chanubc Jan 3, 2024
493d545
[add] : UserRequestEntity μΆ”κ°€(ν•„μš” 없을지도?)
chanubc Jan 3, 2024
b262f15
[fix] : AuthViewModelμ—μ„œ 둜그인 μƒνƒœ 관리 sharedflow둜 λ³€κ²½
chanubc Jan 3, 2024
480b245
[fix] : LoginActivityμ—μ„œ Success인경우 데이터 싱글톀 객체 μ €μž₯
chanubc Jan 3, 2024
8c30b7f
[fix] : ViewModelFactory μ˜μ‘΄μ„± μˆ˜λ™ μ£Όμž…
chanubc Jan 3, 2024
7539122
Merge remote-tracking branch 'origin/develop' into feat/week8_clean_a…
chanubc Jan 3, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
[feat] : ViewModelFactory 생성
  • Loading branch information
chanubc committed Jan 2, 2024
commit 28064d4ca4a07fcb924c2f0b25ef843b8527b0fb
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package org.sopt.dosopttemplate.utils

import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import org.sopt.dosopttemplate.data.ApiFactory
import org.sopt.dosopttemplate.data.repositoryimpl.AuthRepository
import org.sopt.dosopttemplate.data.repositoryimpl.ReqresRepositoryImpl
import org.sopt.dosopttemplate.ui.doandroid.DoAndroidViewModel
import org.sopt.dosopttemplate.ui.login.AuthViewModel
import org.sopt.dosopttemplate.ui.login.SignUpViewModel

class ViewModelFactory :
ViewModelProvider.Factory {

override fun <T : ViewModel> create(modelClass: Class<T>): T {
return when {
modelClass.isAssignableFrom(AuthViewModel::class.java) -> {
val repository = AuthRepository(ApiFactory.ServicePool.authService)
AuthViewModel(repository) as T
}

modelClass.isAssignableFrom(SignUpViewModel::class.java) -> {
val repository = AuthRepository(ApiFactory.ServicePool.authService)
SignUpViewModel(repository) as T
}

modelClass.isAssignableFrom(DoAndroidViewModel::class.java) -> {
val repository = ReqresRepositoryImpl(ApiFactory.ServicePool.userService)
DoAndroidViewModel(repository) as T
}
// Add more ViewModel cases as needed
else -> throw IllegalArgumentException("Unknown ViewModel class: ${modelClass.name}")
}
}
}