Skip to content

Commit 739f7e0

Browse files
authored
Merge pull request #66 from boostcampwm-2022/65-feature-sprint4-weekend
[PR] λ§΅, μž₯μ†Œ 검색, μ•ŒλžŒ μ„€μ •, μ•ŒλžŒ μ‹œμž‘ UI μˆ˜μ • 및 데이터 μ—°κ²° + 졜근 검색 기둝 κ΅¬ν˜„
2 parents 764586b + eb4f1b0 commit 739f7e0

File tree

67 files changed

+1247
-727
lines changed

Some content is hidden

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

67 files changed

+1247
-727
lines changed

β€Ždata/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ dependencies {
6767
// Moshi
6868
implementation 'com.squareup.moshi:moshi-kotlin:1.14.0'
6969
implementation 'com.squareup.moshi:moshi:1.14.0'
70+
implementation 'com.squareup.moshi:moshi-adapters:1.14.0'
7071
kapt 'com.squareup.moshi:moshi-kotlin-codegen:1.14.0'
7172

7273
// xml parser

β€Ždata/src/main/java/com/stop/data/di/LocalDataSourceModule.kt renamed to β€Ždata/src/main/java/com/stop/data/di/AlarmDataSourceModule.kt

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

1414
@Module
1515
@InstallIn(SingletonComponent::class)
16-
object LocalDataSourceModule {
16+
object AlarmDataSourceModule {
1717

1818
@Provides
1919
@Singleton

β€Ždata/src/main/java/com/stop/data/di/DataSourceModule.kt

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

3+
import com.stop.data.local.source.alarm.RecentPlaceSearchLocalDataSource
4+
import com.stop.data.local.source.alarm.RecentPlaceSearchLocalDataSourceImpl
35
import com.stop.data.remote.source.nearplace.NearPlaceRemoteDataSource
46
import com.stop.data.remote.source.nearplace.NearPlaceRemoteDataSourceImpl
57
import com.stop.data.remote.source.nowlocation.NowLocationRemoteDataSource
@@ -34,4 +36,10 @@ internal interface DataSourceModule {
3436
nowLocationRemoteDataSourceImpl: NowLocationRemoteDataSourceImpl
3537
): NowLocationRemoteDataSource
3638

39+
@Binds
40+
@Singleton
41+
fun provideRecentPlaceSearchLocalDataSource(
42+
recentPlaceSearchLocalDataSourceImpl: RecentPlaceSearchLocalDataSourceImpl
43+
) : RecentPlaceSearchLocalDataSource
44+
3745
}
Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,22 @@
11
package com.stop.data.di
22

3+
import android.content.Context
4+
import androidx.room.Room
5+
import com.stop.data.local.database.TroubleShooterApplicationDatabase
6+
import com.stop.data.local.database.TroubleShooterApplicationDatabase.Companion.DB_NAME
7+
import com.stop.data.local.database.dao.RecentPlaceSearchDao
38
import dagger.Module
9+
import dagger.Provides
410
import dagger.hilt.InstallIn
11+
import dagger.hilt.android.qualifiers.ApplicationContext
512
import dagger.hilt.components.SingletonComponent
13+
import javax.inject.Singleton
614

715
@InstallIn(SingletonComponent::class)
816
@Module
9-
class DatabaseModule {
17+
object DatabaseModule {
1018

11-
/* @Provides
19+
@Provides
1220
@Singleton
1321
fun provideApplicationDatabase(@ApplicationContext context: Context): TroubleShooterApplicationDatabase {
1422
return Room.databaseBuilder(
@@ -17,6 +25,14 @@ class DatabaseModule {
1725
DB_NAME
1826
).fallbackToDestructiveMigration()
1927
.build()
20-
}*/
28+
}
29+
30+
@Provides
31+
@Singleton
32+
fun provideRecentPlaceSearchDao(
33+
troubleShooterApplicationDatabase: TroubleShooterApplicationDatabase
34+
): RecentPlaceSearchDao {
35+
return troubleShooterApplicationDatabase.getRecentPlaceSearchDao()
36+
}
2137

2238
}

β€Ždata/src/main/java/com/stop/data/di/NetworkModule.kt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
package com.stop.data.di
22

33
import com.squareup.moshi.Moshi
4+
import com.squareup.moshi.adapters.PolymorphicJsonAdapterFactory
45
import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory
56
import com.stop.data.BuildConfig
67
import com.stop.data.remote.ResultCallAdapter
8+
import com.stop.domain.model.route.tmap.custom.Route
9+
import com.stop.domain.model.route.tmap.custom.TransportRoute
10+
import com.stop.domain.model.route.tmap.custom.WalkRoute
711
import com.tickaroo.tikxml.TikXml
812
import com.tickaroo.tikxml.retrofit.TikXmlConverterFactory
913
import dagger.Module
@@ -46,6 +50,11 @@ internal object NetworkModule {
4650
@Singleton
4751
fun provideMoshi(): Moshi {
4852
return Moshi.Builder()
53+
.add(PolymorphicJsonAdapterFactory
54+
.of(Route::class.java,"Route")
55+
.withSubtype(TransportRoute::class.java, "TransportRoute")
56+
.withSubtype(WalkRoute::class.java, "WalkRoute")
57+
)
4958
.addLast(KotlinJsonAdapterFactory())
5059
.build()
5160
}

β€Ždata/src/main/java/com/stop/data/di/RepositoryModule.kt

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,7 @@
11
package com.stop.data.di
22

3-
import com.stop.data.repository.AlarmRepositoryImpl
4-
import com.stop.data.repository.NearPlaceRepositoryImpl
5-
import com.stop.data.repository.NowLocationRepositoryImpl
6-
import com.stop.data.repository.RouteRepositoryImpl
7-
import com.stop.domain.repository.AlarmRepository
8-
import com.stop.domain.repository.NearPlaceRepository
9-
import com.stop.domain.repository.NowLocationRepository
10-
import com.stop.domain.repository.RouteRepository
3+
import com.stop.data.repository.*
4+
import com.stop.domain.repository.*
115
import dagger.Binds
126
import dagger.Module
137
import dagger.hilt.InstallIn
@@ -33,10 +27,20 @@ internal interface RepositoryModule {
3327

3428
@Binds
3529
@Singleton
36-
fun provideAlarmRepository(alarmRepositoryImpl: AlarmRepositoryImpl): AlarmRepository
30+
fun provideAlarmRepository(
31+
alarmRepositoryImpl: AlarmRepositoryImpl
32+
): AlarmRepository
3733

3834
@Binds
3935
@Singleton
40-
fun provideNowLocationRepository(nowLocationRepositoryImpl: NowLocationRepositoryImpl): NowLocationRepository
36+
fun provideNowLocationRepository(
37+
nowLocationRepositoryImpl: NowLocationRepositoryImpl
38+
): NowLocationRepository
39+
40+
@Binds
41+
@Singleton
42+
fun provideRecentPlaceSearchRepository(
43+
recentPlaceSearchRepositoryImpl: RecentPlaceSearchRepositoryImpl
44+
): RecentPlaceSearchRepository
4145

4246
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package com.stop.data.local.database
2+
3+
import androidx.room.Database
4+
import androidx.room.RoomDatabase
5+
import com.stop.data.local.database.dao.RecentPlaceSearchDao
6+
import com.stop.data.local.model.RecentPlaceSearchEntity
7+
8+
@Database(
9+
entities = [RecentPlaceSearchEntity::class],
10+
version = 1
11+
)
12+
abstract class TroubleShooterApplicationDatabase : RoomDatabase() {
13+
14+
abstract fun getRecentPlaceSearchDao(): RecentPlaceSearchDao
15+
16+
companion object {
17+
const val DB_NAME = "TroubleShooter.db"
18+
}
19+
}

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

Whitespace-only changes.
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package com.stop.data.local.database.dao
2+
3+
import androidx.room.Dao
4+
import androidx.room.Insert
5+
import androidx.room.OnConflictStrategy
6+
import androidx.room.Query
7+
import com.stop.data.local.model.RecentPlaceSearchEntity
8+
import kotlinx.coroutines.flow.Flow
9+
10+
@Dao
11+
interface RecentPlaceSearchDao {
12+
13+
@Insert(onConflict = OnConflictStrategy.REPLACE)
14+
suspend fun insertRecentPlaceSearchEntity(recentPlaceSearchEntity: RecentPlaceSearchEntity)
15+
16+
@Query("SELECT * FROM RecentPlaceSearchEntity ORDER BY id DESC")
17+
fun getAllRecentPlaceSearchEntity(): Flow<List<RecentPlaceSearchEntity>>
18+
19+
@Query("DELETE FROM RecentPlaceSearchEntity")
20+
suspend fun deleteAllRecentPlaceSearchEntity()
21+
}

β€Ždata/src/main/java/com/stop/data/local/database/dao/TroubleShooterApplicationDatabase.kt

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

0 commit comments

Comments
Β (0)