Skip to content

Commit

Permalink
WTA #71: Moved InstantProvider to :core:common module.
Browse files Browse the repository at this point in the history
  • Loading branch information
Jacob3075 committed Dec 26, 2022
1 parent 4acef80 commit f5357cc
Show file tree
Hide file tree
Showing 10 changed files with 33 additions and 31 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
package com.jacob.wakatimeapp.core.common.di

import android.content.Context
import com.jacob.wakatimeapp.core.common.utils.DefaultInstantProvider
import com.jacob.wakatimeapp.core.common.utils.InstantProvider
import dagger.Binds
import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
Expand All @@ -13,14 +16,22 @@ import net.openid.appauth.AuthorizationService

@Module
@InstallIn(SingletonComponent::class)
object CommonModule {
@Singleton
@Provides
@Suppress("InjectDispatcher")
fun provideCoroutineContext(): CoroutineContext = Dispatchers.IO
@Suppress("UnnecessaryAbstractClass")
abstract class CommonModule {

@Singleton
@Provides
fun provideAuthorizationService(@ApplicationContext context: Context) =
AuthorizationService(context)
@Binds
abstract fun provideInstantProvider(impl: DefaultInstantProvider): InstantProvider

companion object {

@Singleton
@Provides
@Suppress("InjectDispatcher")
fun provideCoroutineContext(): CoroutineContext = Dispatchers.IO

@Singleton
@Provides
fun provideAuthorizationService(@ApplicationContext context: Context) =
AuthorizationService(context)
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.jacob.wakatimeapp.home.domain
package com.jacob.wakatimeapp.core.common.utils

import javax.inject.Inject
import kotlinx.datetime.Clock
Expand Down
19 changes: 5 additions & 14 deletions home/src/main/java/com/jacob/wakatimeapp/home/HomePageModule.kt
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
package com.jacob.wakatimeapp.home

import com.jacob.wakatimeapp.home.data.network.HomePageAPI
import com.jacob.wakatimeapp.home.domain.DefaultInstantProvider
import com.jacob.wakatimeapp.home.domain.InstantProvider
import dagger.Binds
import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
Expand All @@ -13,15 +10,9 @@ import retrofit2.Retrofit

@Module
@InstallIn(SingletonComponent::class)
@Suppress("UnnecessaryAbstractClass")
abstract class HomePageModule {
@Binds
abstract fun provideInstantProvider(impl: DefaultInstantProvider): InstantProvider

companion object {
@Singleton
@Provides
internal fun provideHomePageService(retrofit: Retrofit) =
retrofit.create(HomePageAPI::class.java)
}
object HomePageModule {
@Singleton
@Provides
internal fun provideHomePageService(retrofit: Retrofit) =
retrofit.create(HomePageAPI::class.java)
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,13 @@ import androidx.datastore.preferences.core.stringPreferencesKey
import arrow.core.Either
import arrow.core.left
import arrow.core.right
import com.jacob.wakatimeapp.core.common.utils.InstantProvider
import com.jacob.wakatimeapp.core.common.utils.log
import com.jacob.wakatimeapp.core.models.Error
import com.jacob.wakatimeapp.core.models.Error.DatabaseError
import com.jacob.wakatimeapp.home.data.local.entities.Last7DaysStatsEntity
import com.jacob.wakatimeapp.home.data.local.mappers.toEntity
import com.jacob.wakatimeapp.home.data.local.mappers.toModel
import com.jacob.wakatimeapp.home.domain.InstantProvider
import com.jacob.wakatimeapp.home.domain.models.Last7DaysStats
import com.jacob.wakatimeapp.home.domain.models.Streak
import javax.inject.Inject
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ import arrow.core.Either
import arrow.core.continuations.either
import arrow.core.right
import com.jacob.wakatimeapp.core.common.toDate
import com.jacob.wakatimeapp.core.common.utils.InstantProvider
import com.jacob.wakatimeapp.core.models.Error
import com.jacob.wakatimeapp.core.models.Time
import com.jacob.wakatimeapp.home.data.local.HomePageCache
import com.jacob.wakatimeapp.home.domain.InstantProvider
import com.jacob.wakatimeapp.home.domain.getLatestStreakInRange
import com.jacob.wakatimeapp.home.domain.models.Streak
import javax.inject.Inject
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@ package com.jacob.wakatimeapp.home.domain.usecases
import arrow.core.continuations.either
import com.jacob.wakatimeapp.core.common.auth.AuthDataStore
import com.jacob.wakatimeapp.core.common.toDate
import com.jacob.wakatimeapp.core.common.utils.InstantProvider
import com.jacob.wakatimeapp.core.models.Error.NetworkErrors.Timeout
import com.jacob.wakatimeapp.core.models.Stats
import com.jacob.wakatimeapp.core.models.Time
import com.jacob.wakatimeapp.home.data.local.HomePageCache
import com.jacob.wakatimeapp.home.data.network.HomePageNetworkData
import com.jacob.wakatimeapp.home.domain.InstantProvider
import com.jacob.wakatimeapp.home.domain.models.Streak
import javax.inject.Inject
import javax.inject.Singleton
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ package com.jacob.wakatimeapp.home.domain.usecases
import arrow.core.Either.Right
import arrow.core.continuations.either
import com.jacob.wakatimeapp.core.common.auth.AuthDataStore
import com.jacob.wakatimeapp.core.common.utils.InstantProvider
import com.jacob.wakatimeapp.core.models.Error
import com.jacob.wakatimeapp.home.data.local.HomePageCache
import com.jacob.wakatimeapp.home.domain.InstantProvider
import com.jacob.wakatimeapp.home.domain.models.HomePageUiData
import com.jacob.wakatimeapp.home.domain.models.toHomePageUserDetails
import com.jacob.wakatimeapp.home.domain.usecases.GetCachedHomePageUiDataUC.CacheValidity.DEFAULT
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package com.jacob.wakatimeapp.home.domain.usecases

import arrow.core.Either
import com.jacob.wakatimeapp.core.common.utils.InstantProvider
import com.jacob.wakatimeapp.core.models.Error
import com.jacob.wakatimeapp.core.models.Project
import com.jacob.wakatimeapp.core.models.Time
import com.jacob.wakatimeapp.home.data.local.HomePageCache
import com.jacob.wakatimeapp.home.domain.InstantProvider
import com.jacob.wakatimeapp.home.domain.models.Last7DaysStats
import com.jacob.wakatimeapp.home.domain.models.Streak
import io.kotest.assertions.asClue
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package com.jacob.wakatimeapp.home.domain.usecases
import arrow.core.Either
import arrow.core.right
import com.jacob.wakatimeapp.core.common.auth.AuthDataStore
import com.jacob.wakatimeapp.core.common.utils.InstantProvider
import com.jacob.wakatimeapp.core.models.DailyStats
import com.jacob.wakatimeapp.core.models.Error
import com.jacob.wakatimeapp.core.models.Project
Expand All @@ -12,7 +13,6 @@ import com.jacob.wakatimeapp.core.models.Time
import com.jacob.wakatimeapp.core.models.UserDetails
import com.jacob.wakatimeapp.home.data.local.HomePageCache
import com.jacob.wakatimeapp.home.data.network.HomePageNetworkData
import com.jacob.wakatimeapp.home.domain.InstantProvider
import com.jacob.wakatimeapp.home.domain.models.Streak
import io.kotest.assertions.asClue
import io.kotest.matchers.shouldBe
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ import app.cash.turbine.ReceiveTurbine
import app.cash.turbine.testIn
import arrow.core.Either
import com.jacob.wakatimeapp.core.common.auth.AuthDataStore
import com.jacob.wakatimeapp.core.common.utils.InstantProvider
import com.jacob.wakatimeapp.core.models.Error
import com.jacob.wakatimeapp.core.models.Project
import com.jacob.wakatimeapp.core.models.Time
import com.jacob.wakatimeapp.core.models.UserDetails
import com.jacob.wakatimeapp.home.data.local.HomePageCache
import com.jacob.wakatimeapp.home.domain.InstantProvider
import com.jacob.wakatimeapp.home.domain.models.HomePageUiData
import com.jacob.wakatimeapp.home.domain.models.Last7DaysStats
import com.jacob.wakatimeapp.home.domain.models.Streak
Expand Down

0 comments on commit f5357cc

Please sign in to comment.