Skip to content

Commit 15a2c3e

Browse files
authored
Merge pull request #214 from mende273/refactor-packages
refactor packages
2 parents 3acc91e + e62c3de commit 15a2c3e

40 files changed

+98
-97
lines changed

app/src/main/java/com/jumrukovski/quotescompose/data/repository/LocalRepositoryImpl.kt renamed to app/src/main/java/com/jumrukovski/quotescompose/data/repository/local/LocalRepositoryImpl.kt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,44 @@
1-
package com.jumrukovski.quotescompose.data.repository
1+
package com.jumrukovski.quotescompose.data.repository.local
22

3-
import com.jumrukovski.quotescompose.data.db.LocalDB
43
import com.jumrukovski.quotescompose.data.mapper.mapToQuote
54
import com.jumrukovski.quotescompose.data.mapper.mapToQuoteEntity
65
import com.jumrukovski.quotescompose.data.mapper.mapToQuotes
6+
import com.jumrukovski.quotescompose.data.source.local.LocalDataSource
77
import com.jumrukovski.quotescompose.di.Dispatcher
88
import com.jumrukovski.quotescompose.di.QuotesDispatchers
99
import com.jumrukovski.quotescompose.domain.model.Quote
10-
import com.jumrukovski.quotescompose.domain.repository.LocalRepository
10+
import com.jumrukovski.quotescompose.domain.repository.local.LocalRepository
1111
import javax.inject.Inject
1212
import kotlinx.coroutines.CoroutineDispatcher
1313
import kotlinx.coroutines.flow.Flow
1414
import kotlinx.coroutines.withContext
1515

1616
class LocalRepositoryImpl @Inject constructor(
17-
private val localDB: LocalDB,
17+
private val localDataSource: LocalDataSource,
1818
@Dispatcher(QuotesDispatchers.IO) private val ioDispatcher: CoroutineDispatcher
1919
) : LocalRepository {
2020

2121
override suspend fun getAllFavouriteQuotes(): Flow<List<Quote>> =
2222
withContext(ioDispatcher) {
23-
localDB.quoteDao().getAllFavouriteQuotes().mapToQuotes()
23+
localDataSource.quoteDao().getAllFavouriteQuotes().mapToQuotes()
2424
}
2525

2626
override suspend fun getFavouriteQuote(id: Int): Flow<Quote?> =
2727
withContext(ioDispatcher) {
28-
localDB.quoteDao().getFavouriteQuote(id).mapToQuote()
28+
localDataSource.quoteDao().getFavouriteQuote(id).mapToQuote()
2929
}
3030

3131
override suspend fun addFavouriteQuote(quote: Quote) {
3232
withContext(ioDispatcher) {
3333
val entity = quote.mapToQuoteEntity()
34-
localDB.quoteDao().addFavouriteQuote(entity)
34+
localDataSource.quoteDao().addFavouriteQuote(entity)
3535
}
3636
}
3737

3838
override suspend fun removeFavouriteQuote(quote: Quote) {
3939
withContext(ioDispatcher) {
4040
val entity = quote.mapToQuoteEntity()
41-
localDB.quoteDao().deleteFavouriteQuote(entity)
41+
localDataSource.quoteDao().deleteFavouriteQuote(entity)
4242
}
4343
}
4444
}

app/src/main/java/com/jumrukovski/quotescompose/data/repository/RemoteRepositoryImpl.kt renamed to app/src/main/java/com/jumrukovski/quotescompose/data/repository/remote/RemoteRepositoryImpl.kt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,39 @@
1-
package com.jumrukovski.quotescompose.data.repository
1+
package com.jumrukovski.quotescompose.data.repository.remote
22

33
import com.jumrukovski.quotescompose.data.mapper.mapToQuotesList
4-
import com.jumrukovski.quotescompose.data.network.ApiService
4+
import com.jumrukovski.quotescompose.data.source.remote.RemoteDataSource
55
import com.jumrukovski.quotescompose.di.Dispatcher
66
import com.jumrukovski.quotescompose.di.QuotesDispatchers
77
import com.jumrukovski.quotescompose.domain.model.Quote
8-
import com.jumrukovski.quotescompose.domain.repository.RemoteRepository
8+
import com.jumrukovski.quotescompose.domain.repository.remote.RemoteRepository
99
import javax.inject.Inject
1010
import kotlinx.coroutines.CoroutineDispatcher
1111
import kotlinx.coroutines.withContext
1212

1313
class RemoteRepositoryImpl @Inject constructor(
14-
private val apiService: ApiService,
14+
private val remoteDataSource: RemoteDataSource,
1515
@Dispatcher(QuotesDispatchers.IO) private val ioDispatcher: CoroutineDispatcher
1616
) :
1717
RemoteRepository {
1818

1919
override suspend fun getQuotes(): Result<List<Quote>> =
2020
withContext(ioDispatcher) {
2121
runCatching {
22-
apiService.getQuotes().mapToQuotesList()
22+
remoteDataSource.getQuotes().mapToQuotesList()
2323
}
2424
}
2525

2626
override suspend fun getRandomQuote(): Result<Quote> =
2727
withContext(ioDispatcher) {
2828
runCatching {
29-
apiService.getRandomQuote().mapToQuotesList().first()
29+
remoteDataSource.getRandomQuote().mapToQuotesList().first()
3030
}
3131
}
3232

3333
override suspend fun getQuoteOfTheDay(): Result<Quote> =
3434
withContext(ioDispatcher) {
3535
runCatching {
36-
apiService.getQuoteOfTheDay().mapToQuotesList().first()
36+
remoteDataSource.getQuoteOfTheDay().mapToQuotesList().first()
3737
}
3838
}
3939
}

app/src/main/java/com/jumrukovski/quotescompose/data/db/LocalDB.kt renamed to app/src/main/java/com/jumrukovski/quotescompose/data/source/local/LocalDataSource.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
package com.jumrukovski.quotescompose.data.db
1+
package com.jumrukovski.quotescompose.data.source.local
22

33
import androidx.room.Database
44
import androidx.room.RoomDatabase
55
import com.jumrukovski.quotescompose.data.model.entity.QuoteEntity
66

77
@Database(entities = [QuoteEntity::class], version = 1)
8-
abstract class LocalDB : RoomDatabase() {
8+
abstract class LocalDataSource : RoomDatabase() {
99

1010
abstract fun quoteDao(): QuoteDao
1111
}

app/src/main/java/com/jumrukovski/quotescompose/data/db/QuoteDao.kt renamed to app/src/main/java/com/jumrukovski/quotescompose/data/source/local/QuoteDao.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.jumrukovski.quotescompose.data.db
1+
package com.jumrukovski.quotescompose.data.source.local
22

33
import androidx.room.Dao
44
import androidx.room.Delete

app/src/main/java/com/jumrukovski/quotescompose/data/network/CacheInterceptor.kt renamed to app/src/main/java/com/jumrukovski/quotescompose/data/source/remote/CacheInterceptor.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.jumrukovski.quotescompose.data.network
1+
package com.jumrukovski.quotescompose.data.source.remote
22

33
import java.util.concurrent.TimeUnit
44
import okhttp3.CacheControl

app/src/main/java/com/jumrukovski/quotescompose/data/network/NoConnectionInterceptor.kt renamed to app/src/main/java/com/jumrukovski/quotescompose/data/source/remote/NoConnectionInterceptor.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.jumrukovski.quotescompose.data.network
1+
package com.jumrukovski.quotescompose.data.source.remote
22

33
import java.net.UnknownHostException
44
import okhttp3.Interceptor

app/src/main/java/com/jumrukovski/quotescompose/data/network/ApiService.kt renamed to app/src/main/java/com/jumrukovski/quotescompose/data/source/remote/RemoteDataSource.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
package com.jumrukovski.quotescompose.data.network
1+
package com.jumrukovski.quotescompose.data.source.remote
22

33
import com.jumrukovski.quotescompose.data.model.dto.QuoteDTO
44
import retrofit2.Response
55
import retrofit2.http.GET
66

7-
interface ApiService {
7+
interface RemoteDataSource {
88

99
@GET("quotes")
1010
suspend fun getQuotes(): Response<List<QuoteDTO>>

app/src/main/java/com/jumrukovski/quotescompose/di/DatabaseModule.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package com.jumrukovski.quotescompose.di
22

33
import android.content.Context
44
import androidx.room.Room
5-
import com.jumrukovski.quotescompose.data.db.LocalDB
5+
import com.jumrukovski.quotescompose.data.source.local.LocalDataSource
66
import dagger.Module
77
import dagger.Provides
88
import dagger.hilt.InstallIn
@@ -15,11 +15,11 @@ object DatabaseModule {
1515

1616
@Singleton
1717
@Provides
18-
fun provideDatabase(context: Context): LocalDB {
19-
return Room.databaseBuilder(context, LocalDB::class.java, "QuotesDB").build()
18+
fun provideDatabase(context: Context): LocalDataSource {
19+
return Room.databaseBuilder(context, LocalDataSource::class.java, "QuotesDB").build()
2020
}
2121

2222
@Singleton
2323
@Provides
24-
fun provideYourDao(db: LocalDB) = db.quoteDao()
24+
fun provideYourDao(db: LocalDataSource) = db.quoteDao()
2525
}

app/src/main/java/com/jumrukovski/quotescompose/di/RepositoryModule.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package com.jumrukovski.quotescompose.di
22

3-
import com.jumrukovski.quotescompose.data.repository.LocalRepositoryImpl
4-
import com.jumrukovski.quotescompose.data.repository.RemoteRepositoryImpl
5-
import com.jumrukovski.quotescompose.domain.repository.LocalRepository
6-
import com.jumrukovski.quotescompose.domain.repository.RemoteRepository
3+
import com.jumrukovski.quotescompose.data.repository.local.LocalRepositoryImpl
4+
import com.jumrukovski.quotescompose.data.repository.remote.RemoteRepositoryImpl
5+
import com.jumrukovski.quotescompose.domain.repository.local.LocalRepository
6+
import com.jumrukovski.quotescompose.domain.repository.remote.RemoteRepository
77
import dagger.Binds
88
import dagger.Module
99
import dagger.hilt.InstallIn

app/src/main/java/com/jumrukovski/quotescompose/di/RetrofitModule.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package com.jumrukovski.quotescompose.di
22

33
import com.jumrukovski.quotescompose.BuildConfig
4-
import com.jumrukovski.quotescompose.data.network.ApiService
5-
import com.jumrukovski.quotescompose.data.network.CacheInterceptor
6-
import com.jumrukovski.quotescompose.data.network.NoConnectionInterceptor
4+
import com.jumrukovski.quotescompose.data.source.remote.CacheInterceptor
5+
import com.jumrukovski.quotescompose.data.source.remote.NoConnectionInterceptor
6+
import com.jumrukovski.quotescompose.data.source.remote.RemoteDataSource
77
import com.squareup.moshi.Moshi
88
import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory
99
import dagger.Module
@@ -22,8 +22,8 @@ object RetrofitModule {
2222

2323
@Provides
2424
@Singleton
25-
fun provideService(retrofit: Retrofit): ApiService {
26-
return retrofit.create(ApiService::class.java)
25+
fun provideService(retrofit: Retrofit): RemoteDataSource {
26+
return retrofit.create(RemoteDataSource::class.java)
2727
}
2828

2929
@Provides

0 commit comments

Comments
 (0)