Skip to content

Commit 39a54a1

Browse files
committed
Merge remote-tracking branch 'origin/develop' into 52-feature-get-seoul-subway-last-time
# Conflicts: # data/src/main/java/com/stop/data/remote/network/WsBusApiService.kt # data/src/main/java/com/stop/data/repository/RouteRepositoryImpl.kt # domain/src/main/java/com/stop/domain/repository/RouteRepository.kt
2 parents 2e5d8d5 + f49bcdf commit 39a54a1

File tree

112 files changed

+1762
-529
lines changed

Some content is hidden

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

112 files changed

+1762
-529
lines changed

data/build.gradle

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
plugins {
22
id 'com.android.library'
33
id 'org.jetbrains.kotlin.android'
4-
id 'com.google.dagger.hilt.android'
54
id 'kotlin-kapt'
5+
id 'com.google.dagger.hilt.android'
66
}
77

88
Properties properties = new Properties()
@@ -27,6 +27,7 @@ android {
2727
buildConfigField "String", "T_MAP_APP_KEY", properties['t_map_app_key']
2828
buildConfigField "String", "SUBWAY_KEY", properties['subway_key']
2929
buildConfigField "String", "BUS_KEY", properties['bus_key']
30+
buildConfigField "String", "SW_OPEN_API_SEOUL_URL", properties['sw_open_api_seoul_url']
3031
}
3132

3233
buildTypes {
@@ -76,9 +77,9 @@ dependencies {
7677

7778
// Room
7879
implementation "androidx.room:room-runtime:2.4.3"
80+
implementation "androidx.room:room-ktx:2.4.3"
7981
annotationProcessor "androidx.room:room-compiler:2.4.3"
8082
kapt "androidx.room:room-compiler:2.4.3"
81-
implementation "androidx.room:room-ktx:2.4.3"
8283

8384
//DataStore
8485
implementation "androidx.datastore:datastore-preferences:1.0.0"

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ internal object ApiModule {
4545

4646
@Provides
4747
@Singleton
48-
fun providePlaceApiService(@Named("Tmap") retrofit: Retrofit): NearPlaceApiService {
49-
return retrofit.create(NearPlaceApiService::class.java)
48+
fun provideSwOpenApiSeoulService(@Named("SwOpenApiSeoul") retrofit: Retrofit): SwOpenApiSeoulService {
49+
return retrofit.create(SwOpenApiSeoulService::class.java)
5050
}
5151
}

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

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ internal object NetworkModule {
2525

2626
private const val T_MAP_APP_KEY_NAME = "appKey"
2727
private const val OPEN_API_SEOUL_KEY_NAME = "KEY"
28+
private const val SW_OPEN_API_SEOUL_KEY_NAME = "KEY"
2829
private const val APIS_KEY_NAME = "ServiceKey"
2930
private const val WS_KEY_NAME = "ServiceKey"
3031

@@ -130,6 +131,21 @@ internal object NetworkModule {
130131
.build()
131132
}
132133

134+
@Provides
135+
@Named("SwOpenApiSeoul")
136+
fun provideSwOpenApiSeoulRetrofitInstance(
137+
okHttpClient: OkHttpClient,
138+
moshi: Moshi,
139+
resultCallAdapter: ResultCallAdapter.Factory,
140+
): Retrofit {
141+
return Retrofit.Builder()
142+
.baseUrl(BuildConfig.SW_OPEN_API_SEOUL_URL)
143+
.client(okHttpClient)
144+
.addCallAdapterFactory(resultCallAdapter)
145+
.addConverterFactory(MoshiConverterFactory.create(moshi))
146+
.build()
147+
}
148+
133149
class CustomInterceptor : Interceptor {
134150
override fun intercept(chain: Interceptor.Chain): Response {
135151
val url = chain.request().url.toUri().toString()
@@ -139,6 +155,10 @@ internal object NetworkModule {
139155
OPEN_API_SEOUL_KEY_NAME,
140156
BuildConfig.BUS_KEY
141157
)
158+
url.contains(BuildConfig.SW_OPEN_API_SEOUL_URL) -> Pair(
159+
SW_OPEN_API_SEOUL_KEY_NAME,
160+
BuildConfig.SUBWAY_KEY
161+
)
142162
url.contains(BuildConfig.T_MAP_URL) -> Pair(
143163
T_MAP_APP_KEY_NAME,
144164
BuildConfig.T_MAP_APP_KEY

data/src/main/java/com/stop/data/local/database/dao/AlarmDao.kt

Whitespace-only changes.

data/src/main/java/com/stop/data/local/source/alarm/AlarmLocalDataSourceImpl.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,11 @@ internal class AlarmLocalDataSourceImpl @Inject constructor(
3535
override suspend fun getAlarm(): Flow<AlarmRepositoryItem?> {
3636
return context.datastore.data.map { preferences ->
3737
val jsonString = preferences[ALARM] ?: ""
38-
val elements = adapter.fromJson(jsonString)?.toRepositoryModel()
39-
elements
38+
if (jsonString.isNotBlank()) {
39+
adapter.fromJson(jsonString)?.toRepositoryModel()
40+
} else {
41+
null
42+
}
4043
}
4144
}
4245

data/src/main/java/com/stop/data/model/nearplace/Place.kt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.stop.data.model.nearplace
22

33
import com.stop.domain.model.nearplace.Place
4+
import com.stop.domain.model.nowlocation.NowStationLocationUseCaseItem
45

56
data class Place(
67
val name: String,
@@ -17,4 +18,10 @@ data class Place(
1718
centerLat = centerLat,
1819
centerLon = centerLon
1920
)
21+
22+
fun toNowStationLocationUseCaseModel() = NowStationLocationUseCaseItem(
23+
name = name,
24+
latitude = centerLat.toString(),
25+
longitude = centerLon.toString()
26+
)
2027
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package com.stop.data.model.nowlocation
2+
3+
import com.stop.domain.model.nowlocation.SubwayTrainRealTimePositionUseCaseItem
4+
5+
data class SubwayTrainRealTimePositionRepositoryItem(
6+
val subwayId: String,
7+
val subwayName: String,
8+
val stationId: String,
9+
val stationName: String,
10+
val trainNumber: String,
11+
val trainStatus: String
12+
) {
13+
fun toUseCaseModel() = SubwayTrainRealTimePositionUseCaseItem(
14+
subwayId = subwayId,
15+
subwayName = subwayName,
16+
stationId = stationId,
17+
stationName = stationName,
18+
trainNumber = trainNumber,
19+
trainStatus = trainStatus
20+
)
21+
}

data/src/main/java/com/stop/data/remote/model/nowlocation/BusBody.kt renamed to data/src/main/java/com/stop/data/remote/model/nowlocation/bus/BusBody.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.model.nowlocation
1+
package com.stop.data.remote.model.nowlocation.bus
22

33
import com.squareup.moshi.Json
44

data/src/main/java/com/stop/data/remote/model/nowlocation/BusInfo.kt renamed to data/src/main/java/com/stop/data/remote/model/nowlocation/bus/BusInfo.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.model.nowlocation
1+
package com.stop.data.remote.model.nowlocation.bus
22

33
import com.squareup.moshi.Json
44
import com.stop.data.model.nowlocation.BusInfoRepositoryItem
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
package com.stop.data.remote.model.nowlocation
1+
package com.stop.data.remote.model.nowlocation.bus
22

33
import com.squareup.moshi.Json
44
import com.squareup.moshi.JsonClass
55

66
@JsonClass(generateAdapter = true)
7-
data class GetBusNowLocationResponse(
7+
data class BusNowLocationResponse(
88
@Json(name = "msgBody")
99
val busBody: BusBody,
1010
)

0 commit comments

Comments
 (0)