Skip to content

Commit 4e97a13

Browse files
committed
Resolve Git Conflict
2 parents 25d06c6 + e3d4eaa commit 4e97a13

File tree

16 files changed

+288
-38
lines changed

16 files changed

+288
-38
lines changed

app/src/main/java/com/sopt/clody/core/review/InAppReviewManager.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package com.sopt.clody.core.review
22

33
import android.app.Activity
4-
import android.content.Context
54
import com.google.android.play.core.review.ReviewManagerFactory
65
import com.sopt.clody.presentation.utils.appupdate.AppUpdateUtils
76
import timber.log.Timber
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package com.sopt.clody.data.local.datasource
2+
3+
/**
4+
* 임시 저장 최초 사용 여부 판단을 위한 SharedPreferences
5+
* @property isDraftUsed 임시 저장 사용 여부
6+
* @property isFirstUse 임시 저장 최초 사용 여부
7+
*/
8+
interface FirstDraftLocalDataSource {
9+
var isDraftUsed: Boolean
10+
var isFirstUse: Boolean
11+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package com.sopt.clody.data.local.datasourceimpl
2+
3+
import android.content.SharedPreferences
4+
import androidx.core.content.edit
5+
import com.sopt.clody.data.local.datasource.FirstDraftLocalDataSource
6+
import com.sopt.clody.di.qualifier.FirstDraftPrefs
7+
import javax.inject.Inject
8+
9+
class FirstDraftLocalDataSourceImpl @Inject constructor(
10+
@FirstDraftPrefs private val sharedPreferences: SharedPreferences,
11+
) : FirstDraftLocalDataSource {
12+
override var isDraftUsed: Boolean
13+
get() = sharedPreferences.getBoolean(IS_DRAFT_USED, false)
14+
set(value) = sharedPreferences.edit { putBoolean(IS_DRAFT_USED, value) }
15+
16+
override var isFirstUse: Boolean
17+
get() = sharedPreferences.getBoolean(IS_FIRST_USE, false)
18+
set(value) = sharedPreferences.edit { putBoolean(IS_FIRST_USE, value) }
19+
20+
companion object {
21+
private const val IS_DRAFT_USED = "IS_DRAFT_USED"
22+
private const val IS_FIRST_USE = "IS_FIRST_USE"
23+
}
24+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package com.sopt.clody.data.repositoryimpl
2+
3+
import com.sopt.clody.data.local.datasource.FirstDraftLocalDataSource
4+
import com.sopt.clody.domain.repository.DraftRepository
5+
import javax.inject.Inject
6+
7+
class DraftRepositoryImpl @Inject constructor(
8+
private val firstDraftLocalDataSource: FirstDraftLocalDataSource,
9+
) : DraftRepository {
10+
override fun getIsDraftUsed(): Boolean = firstDraftLocalDataSource.isDraftUsed
11+
12+
override fun setIsDraftUsed(state: Boolean) {
13+
firstDraftLocalDataSource.isDraftUsed = state
14+
}
15+
16+
override fun getIsFirstUse(): Boolean = firstDraftLocalDataSource.isFirstUse
17+
18+
override fun setIsFirstUse(state: Boolean) {
19+
firstDraftLocalDataSource.isFirstUse = state
20+
}
21+
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package com.sopt.clody.di
2+
3+
import android.content.SharedPreferences
4+
import com.sopt.clody.data.datastore.TokenDataStore
5+
import com.sopt.clody.data.datastore.TokenDataStoreImpl
6+
import com.sopt.clody.data.local.datasource.AppReviewLocalDataSource
7+
import com.sopt.clody.data.local.datasource.FirstDraftLocalDataSource
8+
import com.sopt.clody.data.local.datasourceimpl.AppReviewLocalDataSourceImpl
9+
import com.sopt.clody.data.local.datasourceimpl.FirstDraftLocalDataSourceImpl
10+
import com.sopt.clody.di.qualifier.FirstDraftPrefs
11+
import com.sopt.clody.di.qualifier.ReviewPrefs
12+
import com.sopt.clody.di.qualifier.TokenPrefs
13+
import dagger.Module
14+
import dagger.Provides
15+
import dagger.hilt.InstallIn
16+
import dagger.hilt.components.SingletonComponent
17+
import javax.inject.Singleton
18+
19+
@Module
20+
@InstallIn(SingletonComponent::class)
21+
object LocalDataSourceModule {
22+
23+
@Provides
24+
@Singleton
25+
fun provideTokenDataStore(@TokenPrefs sharedPreferences: SharedPreferences): TokenDataStore =
26+
TokenDataStoreImpl(sharedPreferences)
27+
28+
@Provides
29+
@Singleton
30+
fun provideFirstDraftLocalDataSource(@FirstDraftPrefs sharedPreferences: SharedPreferences): FirstDraftLocalDataSource =
31+
FirstDraftLocalDataSourceImpl(sharedPreferences)
32+
33+
@Provides
34+
@Singleton
35+
fun provideAppReviewLocalDataSource(@ReviewPrefs sharedPreferences: SharedPreferences): AppReviewLocalDataSource =
36+
AppReviewLocalDataSourceImpl(sharedPreferences)
37+
}

app/src/main/java/com/sopt/clody/di/DataSourceModule.kt renamed to app/src/main/java/com/sopt/clody/di/RemoteDataSourceModule.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import javax.inject.Singleton
1818

1919
@Module
2020
@InstallIn(SingletonComponent::class)
21-
abstract class DataSourceModule {
21+
abstract class RemoteDataSourceModule {
2222
@Binds
2323
@Singleton
2424
abstract fun bindAuthDataSource(

app/src/main/java/com/sopt/clody/di/RepositoryModule.kt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import com.sopt.clody.data.repositoryimpl.AccountManagementRepositoryImpl
44
import com.sopt.clody.data.repositoryimpl.AdRepositoryImpl
55
import com.sopt.clody.data.repositoryimpl.AuthRepositoryImpl
66
import com.sopt.clody.data.repositoryimpl.DiaryRepositoryImpl
7+
import com.sopt.clody.data.repositoryimpl.DraftRepositoryImpl
78
import com.sopt.clody.data.repositoryimpl.NotificationRepositoryImpl
89
import com.sopt.clody.data.repositoryimpl.ReviewRepositoryImpl
910
import com.sopt.clody.data.repositoryimpl.TokenReissueRepositoryImpl
@@ -12,6 +13,7 @@ import com.sopt.clody.domain.repository.AccountManagementRepository
1213
import com.sopt.clody.domain.repository.AdRepository
1314
import com.sopt.clody.domain.repository.AuthRepository
1415
import com.sopt.clody.domain.repository.DiaryRepository
16+
import com.sopt.clody.domain.repository.DraftRepository
1517
import com.sopt.clody.domain.repository.NotificationRepository
1618
import com.sopt.clody.domain.repository.ReviewRepository
1719
import com.sopt.clody.domain.repository.TokenReissueRepository
@@ -67,6 +69,12 @@ abstract class RepositoryModule {
6769
adRepositoryImpl: AdRepositoryImpl,
6870
): AdRepository
6971

72+
@Binds
73+
@Singleton
74+
abstract fun bindDraftRepository(
75+
draftRepositoryImpl: DraftRepositoryImpl,
76+
): DraftRepository
77+
7078
@Binds
7179
@Singleton
7280
abstract fun bindReviewRepository(

app/src/main/java/com/sopt/clody/di/SharedPreferencesModule.kt

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@ package com.sopt.clody.di
22

33
import android.content.Context
44
import android.content.SharedPreferences
5-
import com.sopt.clody.data.local.datasource.AppReviewLocalDataSource
6-
import com.sopt.clody.data.local.datasourceimpl.AppReviewLocalDataSourceImpl
5+
import com.sopt.clody.di.qualifier.FirstDraftPrefs
76
import com.sopt.clody.di.qualifier.ReviewPrefs
87
import com.sopt.clody.di.qualifier.TokenPrefs
98
import dagger.Module
@@ -16,22 +15,25 @@ import javax.inject.Singleton
1615
@Module
1716
@InstallIn(SingletonComponent::class)
1817
object SharedPreferencesModule {
18+
1919
@Provides
2020
@Singleton
2121
@TokenPrefs
22-
fun provideSharedPreferences(@ApplicationContext context: Context): SharedPreferences {
22+
fun provideTokenSharedPreferences(@ApplicationContext context: Context): SharedPreferences {
2323
return context.getSharedPreferences("token_prefs", Context.MODE_PRIVATE)
2424
}
2525

2626
@Provides
2727
@Singleton
28-
@ReviewPrefs
29-
fun provideReviewSharedPreferences(@ApplicationContext context: Context): SharedPreferences {
30-
return context.getSharedPreferences("review_prefs", Context.MODE_PRIVATE)
28+
@FirstDraftPrefs
29+
fun provideFirstDraftSharedPreferences(@ApplicationContext context: Context): SharedPreferences {
30+
return context.getSharedPreferences("first_draft_prefs", Context.MODE_PRIVATE)
3131
}
3232

3333
@Provides
3434
@Singleton
35-
fun provideAppReviewLocalDataSource(@ReviewPrefs sharedPreferences: SharedPreferences): AppReviewLocalDataSource =
36-
AppReviewLocalDataSourceImpl(sharedPreferences)
35+
@ReviewPrefs
36+
fun provideReviewSharedPreferences(@ApplicationContext context: Context): SharedPreferences {
37+
return context.getSharedPreferences("review_prefs", Context.MODE_PRIVATE)
38+
}
3739
}

app/src/main/java/com/sopt/clody/di/TokenDataStoreModule.kt

Lines changed: 0 additions & 21 deletions
This file was deleted.

app/src/main/java/com/sopt/clody/di/qualifier/Qualifier.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ import javax.inject.Qualifier
66
@Retention(AnnotationRetention.BINARY)
77
annotation class TokenPrefs
88

9+
@Qualifier
10+
@Retention(AnnotationRetention.BINARY)
11+
annotation class FirstDraftPrefs
12+
913
@Qualifier
1014
@Retention(AnnotationRetention.BINARY)
1115
annotation class ReviewPrefs

0 commit comments

Comments
 (0)