Skip to content

Commit

Permalink
REFACTOR/#21: app 모듈 수정
Browse files Browse the repository at this point in the history
  • Loading branch information
boiledEgg-s committed Jun 30, 2024
1 parent f7d5780 commit f5451d0
Show file tree
Hide file tree
Showing 19 changed files with 56 additions and 327 deletions.
2 changes: 1 addition & 1 deletion app/src/main/java/com/sopt/now/compose/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Surface
import androidx.compose.ui.Modifier
import com.sopt.now.compose.ui.SoptApp
import com.sopt.now.compose.presentation.ui.theme.SoptApp
import com.sopt.now.compose.ui.theme.NOWSOPTAndroidTheme
import dagger.hilt.android.AndroidEntryPoint

Expand Down
5 changes: 0 additions & 5 deletions app/src/main/java/com/sopt/now/compose/SoptApplication.kt
Original file line number Diff line number Diff line change
@@ -1,17 +1,12 @@
package com.sopt.now.compose

import android.app.Application
import com.sopt.now.compose.container.AppContainer
import com.sopt.now.compose.container.SoptAppContainer
import dagger.hilt.android.HiltAndroidApp

@HiltAndroidApp
class SoptApplication: Application() {
lateinit var appContainer: AppContainer

override fun onCreate() {
super.onCreate()
appContainer = SoptAppContainer(applicationContext)
}

}
13 changes: 0 additions & 13 deletions app/src/main/java/com/sopt/now/compose/container/AppContainer.kt

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

13 changes: 6 additions & 7 deletions app/src/main/java/com/sopt/now/compose/di/ApiModule.kt
Original file line number Diff line number Diff line change
Expand Up @@ -21,23 +21,22 @@ import javax.inject.Singleton
object ApiModule {
private const val CONTENT_TYPE = "application/json"

@Singleton
@Provides
@Singleton
fun provideJsonConverter(): Converter.Factory {
return Json.asConverterFactory(CONTENT_TYPE.toMediaType())
}

@Singleton
@Provides
@HEADER
@Singleton
fun provideHeaderOkHttpClient(
headerInterceptor: HeaderInterceptor
): OkHttpClient = OkHttpClient.Builder()
.addInterceptor(headerInterceptor)
.build()

@Singleton
@Provides
@Singleton
@AUTH
fun provideAuthRetrofit(
converter: Converter.Factory
Expand All @@ -48,8 +47,8 @@ object ApiModule {
.build()
}

@Singleton
@Provides
@Singleton
@HEADER
fun provideHeaderRetrofit(
client: OkHttpClient,
Expand All @@ -60,14 +59,14 @@ object ApiModule {
.client(client)
.build()

@Singleton
@Provides
@Singleton
@REQRES
fun provideReqresRetrofit(
converter: Converter.Factory
): Retrofit {
return Retrofit.Builder()
.baseUrl(BuildConfig.AUTH_BASE_URL)
.baseUrl(BuildConfig.REQRES_URL)
.addConverterFactory(converter)
.build()
}
Expand Down
36 changes: 36 additions & 0 deletions app/src/main/java/com/sopt/now/compose/di/DataSourceModule.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package com.sopt.now.compose.di

import com.sopt.now.compose.data.datasource.AuthDataSource
import com.sopt.now.compose.data.datasource.FollowerDataSource
import com.sopt.now.compose.data.datasource.HomeDataSource
import com.sopt.now.compose.data.datasource.PreferenceDataSource
import com.sopt.now.compose.data.datasourceimpl.AuthDataSourceImpl
import com.sopt.now.compose.data.datasourceimpl.FollowerDataSourceImpl
import com.sopt.now.compose.data.datasourceimpl.HomeDataSourceImpl
import com.sopt.now.compose.data.datasourceimpl.PreferenceDataSourceImpl
import dagger.Binds
import dagger.Module
import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent
import javax.inject.Singleton

@Module
@InstallIn(SingletonComponent::class)
abstract class DataSourceModule {

@Binds
@Singleton
abstract fun provideAuthDataSource(authDataSourceImpl: AuthDataSourceImpl): AuthDataSource

@Binds
@Singleton
abstract fun provideFollowerDataSource(followerDataSourceImpl: FollowerDataSourceImpl): FollowerDataSource

@Binds
@Singleton
abstract fun provideHomeDataSource(homeDataSourceImpl: HomeDataSourceImpl): HomeDataSource

@Binds
@Singleton
abstract fun providePreferenceDataSource(preferenceDataSourceImpl: PreferenceDataSourceImpl): PreferenceDataSource
}
Loading

0 comments on commit f5451d0

Please sign in to comment.