Skip to content

Commit ec6f1ae

Browse files
committed
feat: merge conflict 해결
2 parents b694b27 + 2a6d561 commit ec6f1ae

File tree

77 files changed

+1858
-177
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+1858
-177
lines changed

build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
buildscript {
22
repositories {
33
google()
4-
mavenCentral()
54
}
65
dependencies {
76
classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.5.3"
8-
classpath 'com.google.dagger:hilt-android-gradle-plugin:2.44'
97
}
108
}
119

@@ -15,5 +13,7 @@ plugins {
1513
id 'com.android.library' version '7.3.1' apply false
1614
id 'org.jetbrains.kotlin.android' version '1.7.20' apply false
1715
id 'org.jetbrains.kotlin.jvm' version '1.7.20' apply false
16+
17+
// Hilt
1818
id 'com.google.dagger.hilt.android' version '2.44' apply false
1919
}

data/build.gradle

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -51,23 +51,28 @@ dependencies {
5151
implementation 'androidx.appcompat:appcompat:1.5.1'
5252
implementation 'com.google.android.material:material:1.7.0'
5353

54-
// network
54+
//Hilt
55+
implementation 'com.google.dagger:hilt-android:2.44'
56+
kapt 'com.google.dagger:hilt-compiler:2.44'
57+
58+
// Retrofit
5559
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
56-
implementation 'com.squareup.okhttp3:okhttp:4.10.0'
5760
implementation 'com.squareup.retrofit2:converter-moshi:2.9.0'
58-
implementation 'com.squareup.moshi:moshi-kotlin:1.14.0'
61+
62+
// OkHttp3
63+
implementation 'com.squareup.okhttp3:okhttp:4.10.0'
5964
implementation 'com.squareup.okhttp3:logging-interceptor:4.10.0'
6065

66+
// Moshi
67+
implementation 'com.squareup.moshi:moshi-kotlin:1.14.0'
68+
implementation 'com.squareup.moshi:moshi:1.14.0'
69+
kapt 'com.squareup.moshi:moshi-kotlin-codegen:1.14.0'
70+
6171
// xml parser
6272
implementation 'com.tickaroo.tikxml:annotation:0.8.13'
6373
implementation 'com.tickaroo.tikxml:core:0.8.13'
6474
implementation 'com.tickaroo.tikxml:retrofit-converter:0.8.13'
65-
6675
kapt 'com.tickaroo.tikxml:processor:0.8.13'
67-
68-
// Hilt
69-
implementation 'com.google.dagger:hilt-android:2.44'
70-
kapt 'com.google.dagger:hilt-compiler:2.44'
7176
}
7277

7378
kapt {

data/src/main/java/com/stop/data/di/ApiModule.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,10 @@ internal object ApiModule {
4242
fun provideApisDataService(@Named("ApisData") retrofit: Retrofit): ApisDataService {
4343
return retrofit.create(ApisDataService::class.java)
4444
}
45+
46+
@Provides
47+
@Singleton
48+
fun providePlaceApiService(@Named("Tmap") retrofit: Retrofit): NearPlaceApiService {
49+
return retrofit.create(NearPlaceApiService::class.java)
50+
}
4551
}

data/src/main/java/com/stop/data/di/NetworkModule.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package com.stop.data.di
33
import com.squareup.moshi.Moshi
44
import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory
55
import com.stop.data.BuildConfig
6-
import com.stop.data.remote.adapter.route.ResultCallAdapter
6+
import com.stop.data.remote.ResultCallAdapter
77
import com.tickaroo.tikxml.TikXml
88
import com.tickaroo.tikxml.retrofit.TikXmlConverterFactory
99
import dagger.Module
@@ -35,6 +35,7 @@ internal object NetworkModule {
3535
private const val FAKE_JSON_URI = "response.json"
3636

3737
@Provides
38+
@Singleton
3839
fun provideOkHttpClient(
3940
customInterceptor: CustomInterceptor,
4041
loggingInterceptor: HttpLoggingInterceptor,
@@ -45,10 +46,11 @@ internal object NetworkModule {
4546
.build()
4647
}
4748

49+
4850
@Provides
4951
@Singleton
5052
fun provideMoshi(): Moshi {
51-
return Moshi.Builder()
53+
return Moshi.Builder()
5254
.addLast(KotlinJsonAdapterFactory())
5355
.build()
5456
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package com.stop.data.di
2+
3+
import com.stop.data.remote.source.nearplace.NearPlaceRemoteDataSource
4+
import com.stop.data.remote.source.nearplace.NearPlaceRemoteDataSourceImpl
5+
import dagger.Binds
6+
import dagger.Module
7+
import dagger.hilt.InstallIn
8+
import dagger.hilt.components.SingletonComponent
9+
import javax.inject.Singleton
10+
11+
@Module
12+
@InstallIn(SingletonComponent::class)
13+
internal abstract class RemoteDataModule {
14+
15+
@Binds
16+
@Singleton
17+
abstract fun provideNearPlaceRemoteData(
18+
nearPlaceRemoteDataSourceImpl: NearPlaceRemoteDataSourceImpl
19+
): NearPlaceRemoteDataSource
20+
21+
}

data/src/main/java/com/stop/data/di/RepositoryModule.kt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ package com.stop.data.di
22

33
import com.stop.data.repository.RouteRepositoryImpl
44
import com.stop.domain.repository.RouteRepository
5+
import com.stop.data.repository.NearPlaceRepositoryImpl
6+
import com.stop.domain.repository.NearPlaceRepository
57
import dagger.Binds
68
import dagger.Module
79
import dagger.hilt.InstallIn
@@ -17,4 +19,10 @@ internal interface RepositoryModule {
1719
fun provideRemoteRepository(
1820
routeRepositoryImpl: RouteRepositoryImpl
1921
): RouteRepository
22+
23+
@Binds
24+
@Singleton
25+
abstract fun provideNearPlaceRepository(
26+
nearPlaceRepositoryImpl: NearPlaceRepositoryImpl
27+
): NearPlaceRepository
2028
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package com.stop.data.model.nearplace
2+
3+
import com.stop.domain.model.nearplace.Place
4+
5+
data class Place(
6+
val name: String,
7+
val radius: String,
8+
val fullAddressRoad: String,
9+
val centerLat: Double,
10+
val centerLon: Double
11+
) {
12+
13+
fun toUseCaseModel() = Place(
14+
name = name,
15+
radius = radius,
16+
fullAddressRoad = fullAddressRoad,
17+
centerLat = centerLat,
18+
centerLon = centerLon
19+
)
20+
}

data/src/main/java/com/stop/data/remote/adapter/route/ResultCall.kt renamed to data/src/main/java/com/stop/data/remote/ResultCall.kt

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.stop.data.remote.adapter.route
1+
package com.stop.data.remote
22

33
import okhttp3.Request
44
import okio.Timeout
@@ -21,12 +21,25 @@ internal class ResultCall<T : Any>(private val call: Call<T>) : Call<NetworkResu
2121
override fun enqueue(callback: Callback<NetworkResult<T>>) {
2222
call.enqueue(object : Callback<T> {
2323
override fun onResponse(call: Call<T>, response: Response<T>) {
24+
if (response.code() == 204) {
25+
callback.onResponse(
26+
this@ResultCall,
27+
Response.success(NetworkResult.Failure(204, "No Content Error"))
28+
)
29+
}
30+
2431
if (response.isSuccessful) {
2532
val responseBody = response.body()
2633
if (responseBody == null) {
2734
callback.onResponse(
2835
this@ResultCall,
29-
Response.success(NetworkResult.Unexpected(Throwable(SUCCESS_BUT_BODY_IS_NULL)))
36+
Response.success(
37+
NetworkResult.Unexpected(
38+
Throwable(
39+
SUCCESS_BUT_BODY_IS_NULL
40+
)
41+
)
42+
)
3043
)
3144
return
3245
}

data/src/main/java/com/stop/data/remote/adapter/route/ResultCallAdapter.kt renamed to data/src/main/java/com/stop/data/remote/ResultCallAdapter.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.stop.data.remote.adapter.route
1+
package com.stop.data.remote
22

33
import retrofit2.Call
44
import retrofit2.CallAdapter
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package com.stop.data.remote.model
2+
3+
import com.squareup.moshi.JsonClass
4+
5+
@JsonClass(generateAdapter = true)
6+
data class Error(
7+
val category: String,
8+
val code: String,
9+
val id: String,
10+
val message: String
11+
)

0 commit comments

Comments
 (0)