Merge pull request #21 from kirmanak/structure
Simplify classes structure
This commit is contained in:
@@ -1,43 +0,0 @@
|
|||||||
package gq.kirmanak.mealient.data
|
|
||||||
|
|
||||||
import android.content.Context
|
|
||||||
import android.content.SharedPreferences
|
|
||||||
import androidx.preference.PreferenceManager
|
|
||||||
import androidx.room.Room
|
|
||||||
import dagger.Module
|
|
||||||
import dagger.Provides
|
|
||||||
import dagger.hilt.InstallIn
|
|
||||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
|
||||||
import dagger.hilt.components.SingletonComponent
|
|
||||||
import gq.kirmanak.mealient.data.impl.OkHttpBuilder
|
|
||||||
import kotlinx.serialization.json.Json
|
|
||||||
import okhttp3.OkHttpClient
|
|
||||||
import javax.inject.Singleton
|
|
||||||
|
|
||||||
@Module
|
|
||||||
@InstallIn(SingletonComponent::class)
|
|
||||||
interface AppModule {
|
|
||||||
companion object {
|
|
||||||
@Provides
|
|
||||||
@Singleton
|
|
||||||
fun createDb(@ApplicationContext context: Context): AppDb =
|
|
||||||
Room.databaseBuilder(context, AppDb::class.java, "app.db").build()
|
|
||||||
|
|
||||||
@Provides
|
|
||||||
@Singleton
|
|
||||||
fun createSharedPreferences(@ApplicationContext context: Context): SharedPreferences =
|
|
||||||
PreferenceManager.getDefaultSharedPreferences(context)
|
|
||||||
|
|
||||||
@Provides
|
|
||||||
@Singleton
|
|
||||||
fun createOkHttp(okHttpBuilder: OkHttpBuilder): OkHttpClient =
|
|
||||||
okHttpBuilder.buildOkHttp()
|
|
||||||
|
|
||||||
@Provides
|
|
||||||
@Singleton
|
|
||||||
fun createJson(): Json = Json {
|
|
||||||
coerceInputValues = true
|
|
||||||
ignoreUnknownKeys = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,7 +1,6 @@
|
|||||||
package gq.kirmanak.mealient.data.auth.impl
|
package gq.kirmanak.mealient.data.auth.impl
|
||||||
|
|
||||||
import gq.kirmanak.mealient.data.auth.AuthDataSource
|
import gq.kirmanak.mealient.data.auth.AuthDataSource
|
||||||
import gq.kirmanak.mealient.data.auth.AuthService
|
|
||||||
import gq.kirmanak.mealient.data.auth.impl.AuthenticationError.*
|
import gq.kirmanak.mealient.data.auth.impl.AuthenticationError.*
|
||||||
import gq.kirmanak.mealient.data.impl.ErrorDetail
|
import gq.kirmanak.mealient.data.impl.ErrorDetail
|
||||||
import gq.kirmanak.mealient.data.impl.RetrofitBuilder
|
import gq.kirmanak.mealient.data.impl.RetrofitBuilder
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
package gq.kirmanak.mealient.data.auth
|
package gq.kirmanak.mealient.data.auth.impl
|
||||||
|
|
||||||
import gq.kirmanak.mealient.data.auth.impl.GetTokenResponse
|
|
||||||
import retrofit2.Response
|
import retrofit2.Response
|
||||||
import retrofit2.http.Field
|
import retrofit2.http.Field
|
||||||
import retrofit2.http.FormUrlEncoded
|
import retrofit2.http.FormUrlEncoded
|
||||||
42
app/src/main/java/gq/kirmanak/mealient/di/AppModule.kt
Normal file
42
app/src/main/java/gq/kirmanak/mealient/di/AppModule.kt
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
package gq.kirmanak.mealient.di
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
|
import android.content.SharedPreferences
|
||||||
|
import androidx.preference.PreferenceManager
|
||||||
|
import androidx.room.Room
|
||||||
|
import dagger.Module
|
||||||
|
import dagger.Provides
|
||||||
|
import dagger.hilt.InstallIn
|
||||||
|
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||||
|
import dagger.hilt.components.SingletonComponent
|
||||||
|
import gq.kirmanak.mealient.data.AppDb
|
||||||
|
import gq.kirmanak.mealient.data.impl.OkHttpBuilder
|
||||||
|
import kotlinx.serialization.json.Json
|
||||||
|
import okhttp3.OkHttpClient
|
||||||
|
import javax.inject.Singleton
|
||||||
|
|
||||||
|
@Module
|
||||||
|
@InstallIn(SingletonComponent::class)
|
||||||
|
object AppModule {
|
||||||
|
@Provides
|
||||||
|
@Singleton
|
||||||
|
fun createDb(@ApplicationContext context: Context): AppDb =
|
||||||
|
Room.databaseBuilder(context, AppDb::class.java, "app.db").build()
|
||||||
|
|
||||||
|
@Provides
|
||||||
|
@Singleton
|
||||||
|
fun createSharedPreferences(@ApplicationContext context: Context): SharedPreferences =
|
||||||
|
PreferenceManager.getDefaultSharedPreferences(context)
|
||||||
|
|
||||||
|
@Provides
|
||||||
|
@Singleton
|
||||||
|
fun createOkHttp(okHttpBuilder: OkHttpBuilder): OkHttpClient =
|
||||||
|
okHttpBuilder.buildOkHttp()
|
||||||
|
|
||||||
|
@Provides
|
||||||
|
@Singleton
|
||||||
|
fun createJson(): Json = Json {
|
||||||
|
coerceInputValues = true
|
||||||
|
ignoreUnknownKeys = true
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,9 +1,12 @@
|
|||||||
package gq.kirmanak.mealient.data.auth
|
package gq.kirmanak.mealient.di
|
||||||
|
|
||||||
import dagger.Binds
|
import dagger.Binds
|
||||||
import dagger.Module
|
import dagger.Module
|
||||||
import dagger.hilt.InstallIn
|
import dagger.hilt.InstallIn
|
||||||
import dagger.hilt.components.SingletonComponent
|
import dagger.hilt.components.SingletonComponent
|
||||||
|
import gq.kirmanak.mealient.data.auth.AuthDataSource
|
||||||
|
import gq.kirmanak.mealient.data.auth.AuthRepo
|
||||||
|
import gq.kirmanak.mealient.data.auth.AuthStorage
|
||||||
import gq.kirmanak.mealient.data.auth.impl.AuthDataSourceImpl
|
import gq.kirmanak.mealient.data.auth.impl.AuthDataSourceImpl
|
||||||
import gq.kirmanak.mealient.data.auth.impl.AuthRepoImpl
|
import gq.kirmanak.mealient.data.auth.impl.AuthRepoImpl
|
||||||
import gq.kirmanak.mealient.data.auth.impl.AuthStorageImpl
|
import gq.kirmanak.mealient.data.auth.impl.AuthStorageImpl
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package gq.kirmanak.mealient.ui.disclaimer
|
package gq.kirmanak.mealient.di
|
||||||
|
|
||||||
import dagger.Binds
|
import dagger.Binds
|
||||||
import dagger.Module
|
import dagger.Module
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package gq.kirmanak.mealient.data.recipes
|
package gq.kirmanak.mealient.di
|
||||||
|
|
||||||
import androidx.paging.ExperimentalPagingApi
|
import androidx.paging.ExperimentalPagingApi
|
||||||
import androidx.paging.InvalidatingPagingSourceFactory
|
import androidx.paging.InvalidatingPagingSourceFactory
|
||||||
@@ -7,6 +7,8 @@ import dagger.Module
|
|||||||
import dagger.Provides
|
import dagger.Provides
|
||||||
import dagger.hilt.InstallIn
|
import dagger.hilt.InstallIn
|
||||||
import dagger.hilt.components.SingletonComponent
|
import dagger.hilt.components.SingletonComponent
|
||||||
|
import gq.kirmanak.mealient.data.recipes.RecipeImageLoader
|
||||||
|
import gq.kirmanak.mealient.data.recipes.RecipeRepo
|
||||||
import gq.kirmanak.mealient.data.recipes.db.RecipeStorage
|
import gq.kirmanak.mealient.data.recipes.db.RecipeStorage
|
||||||
import gq.kirmanak.mealient.data.recipes.db.RecipeStorageImpl
|
import gq.kirmanak.mealient.data.recipes.db.RecipeStorageImpl
|
||||||
import gq.kirmanak.mealient.data.recipes.impl.RecipeImageLoaderImpl
|
import gq.kirmanak.mealient.data.recipes.impl.RecipeImageLoaderImpl
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package gq.kirmanak.mealient.ui
|
package gq.kirmanak.mealient.di
|
||||||
|
|
||||||
import com.squareup.picasso.Picasso
|
import com.squareup.picasso.Picasso
|
||||||
import dagger.Binds
|
import dagger.Binds
|
||||||
@@ -6,6 +6,7 @@ import dagger.Module
|
|||||||
import dagger.Provides
|
import dagger.Provides
|
||||||
import dagger.hilt.InstallIn
|
import dagger.hilt.InstallIn
|
||||||
import dagger.hilt.components.SingletonComponent
|
import dagger.hilt.components.SingletonComponent
|
||||||
|
import gq.kirmanak.mealient.ui.ImageLoader
|
||||||
import gq.kirmanak.mealient.ui.picasso.ImageLoaderPicasso
|
import gq.kirmanak.mealient.ui.picasso.ImageLoaderPicasso
|
||||||
import gq.kirmanak.mealient.ui.picasso.PicassoBuilder
|
import gq.kirmanak.mealient.ui.picasso.PicassoBuilder
|
||||||
import javax.inject.Singleton
|
import javax.inject.Singleton
|
||||||
Reference in New Issue
Block a user