Replace "Mealie" with "Mealient" everywhere
This commit is contained in:
@@ -5,7 +5,6 @@ before_script:
|
|||||||
- export GRADLE_USER_HOME=`pwd`/.gradle
|
- export GRADLE_USER_HOME=`pwd`/.gradle
|
||||||
|
|
||||||
cache:
|
cache:
|
||||||
key: "mealie-android"
|
|
||||||
paths:
|
paths:
|
||||||
- .gradle
|
- .gradle
|
||||||
|
|
||||||
@@ -19,10 +18,10 @@ assembleDebug:
|
|||||||
needs: [ ]
|
needs: [ ]
|
||||||
script:
|
script:
|
||||||
- ./gradlew assembleDebug
|
- ./gradlew assembleDebug
|
||||||
- cp app/build/outputs/apk/debug/*.apk mealie-debug.apk
|
- cp app/build/outputs/apk/debug/*.apk mealient-debug.apk
|
||||||
artifacts:
|
artifacts:
|
||||||
paths:
|
paths:
|
||||||
- mealie-debug.apk
|
- mealient-debug.apk
|
||||||
|
|
||||||
checkApp:
|
checkApp:
|
||||||
interruptible: true
|
interruptible: true
|
||||||
@@ -40,15 +39,15 @@ assembleRelease:
|
|||||||
stage: build
|
stage: build
|
||||||
needs: [ "checkApp" ]
|
needs: [ "checkApp" ]
|
||||||
script:
|
script:
|
||||||
- echo "$MEALIE_KEY_STORE" | base64 -d > app/mealie-release-key.jks
|
- echo "$MEALIE_KEY_STORE" | base64 -d > app/mealient-release-key.jks
|
||||||
- echo "storeFile=mealie-release-key.jks" > keystore.properties
|
- echo "storeFile=mealient-release-key.jks" > keystore.properties
|
||||||
- echo "storePassword=$MEALIE_KEY_STORE_PASSWORD" >> keystore.properties
|
- echo "storePassword=$MEALIE_KEY_STORE_PASSWORD" >> keystore.properties
|
||||||
- echo "keyAlias=$MEALIE_KEY_ALIAS" >> keystore.properties
|
- echo "keyAlias=$MEALIE_KEY_ALIAS" >> keystore.properties
|
||||||
- echo "keyPassword=$MEALIE_KEY_PASSWORD" >> keystore.properties
|
- echo "keyPassword=$MEALIE_KEY_PASSWORD" >> keystore.properties
|
||||||
- ./gradlew assembleRelease
|
- ./gradlew assembleRelease
|
||||||
- cp app/build/outputs/apk/release/*.apk mealie-release.apk
|
- cp app/build/outputs/apk/release/*.apk mealient-release.apk
|
||||||
artifacts:
|
artifacts:
|
||||||
paths:
|
paths:
|
||||||
- mealie-release.apk
|
- mealient-release.apk
|
||||||
rules:
|
rules:
|
||||||
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
|
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
|
||||||
@@ -5,6 +5,6 @@ If you face any issues using the application or have a feature request DO NOT se
|
|||||||
Instead, report a new issue in this repository.
|
Instead, report a new issue in this repository.
|
||||||
THAT IS NOT AN OFFICIAL CLIENT.
|
THAT IS NOT AN OFFICIAL CLIENT.
|
||||||
|
|
||||||
# Mealie Android Application
|
# Mealient Android Application
|
||||||
|
|
||||||
An Android client for [Mealie](https://hay-kot.github.io/mealie/). Easily access your recipes using your phone.
|
An Android client for [Mealie](https://hay-kot.github.io/mealie/). Easily access your recipes using your phone.
|
||||||
@@ -11,7 +11,7 @@ android {
|
|||||||
compileSdk 31
|
compileSdk 31
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId "gq.kirmanak.mealie"
|
applicationId "gq.kirmanak.mealient"
|
||||||
minSdk 21
|
minSdk 21
|
||||||
targetSdk 31
|
targetSdk 31
|
||||||
versionCode 1
|
versionCode 1
|
||||||
|
|||||||
@@ -1,18 +1,18 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
package="gq.kirmanak.mealie">
|
package="gq.kirmanak.mealient">
|
||||||
|
|
||||||
<uses-permission android:name="android.permission.INTERNET" />
|
<uses-permission android:name="android.permission.INTERNET" />
|
||||||
|
|
||||||
<application
|
<application
|
||||||
android:name=".MealieApp"
|
android:name="gq.kirmanak.mealient.App"
|
||||||
android:allowBackup="true"
|
android:allowBackup="true"
|
||||||
android:fullBackupOnly="true"
|
android:fullBackupOnly="true"
|
||||||
android:icon="@mipmap/ic_launcher"
|
android:icon="@mipmap/ic_launcher"
|
||||||
android:label="@string/app_name"
|
android:label="@string/app_name"
|
||||||
android:roundIcon="@mipmap/ic_launcher"
|
android:roundIcon="@mipmap/ic_launcher"
|
||||||
android:supportsRtl="true"
|
android:supportsRtl="true"
|
||||||
android:theme="@style/Theme.Mealie">
|
android:theme="@style/Theme.Mealient">
|
||||||
<activity
|
<activity
|
||||||
android:name=".MainActivity"
|
android:name=".MainActivity"
|
||||||
android:exported="true">
|
android:exported="true">
|
||||||
|
|||||||
@@ -1,10 +0,0 @@
|
|||||||
package gq.kirmanak.mealie.data.recipes.network
|
|
||||||
|
|
||||||
import gq.kirmanak.mealie.data.recipes.network.response.GetRecipeResponse
|
|
||||||
import gq.kirmanak.mealie.data.recipes.network.response.GetRecipeSummaryResponse
|
|
||||||
|
|
||||||
interface RecipeDataSource {
|
|
||||||
suspend fun requestRecipes(start: Int = 0, limit: Int = 9999): List<GetRecipeSummaryResponse>
|
|
||||||
|
|
||||||
suspend fun requestRecipeInfo(slug: String): GetRecipeResponse
|
|
||||||
}
|
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
package gq.kirmanak.mealie
|
package gq.kirmanak.mealient
|
||||||
|
|
||||||
import android.app.Application
|
import android.app.Application
|
||||||
import dagger.hilt.android.HiltAndroidApp
|
import dagger.hilt.android.HiltAndroidApp
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
|
|
||||||
@HiltAndroidApp
|
@HiltAndroidApp
|
||||||
class MealieApp : Application() {
|
class App : Application() {
|
||||||
override fun onCreate() {
|
override fun onCreate() {
|
||||||
super.onCreate()
|
super.onCreate()
|
||||||
if (BuildConfig.DEBUG) Timber.plant(Timber.DebugTree())
|
if (BuildConfig.DEBUG) Timber.plant(Timber.DebugTree())
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package gq.kirmanak.mealie
|
package gq.kirmanak.mealient
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.Menu
|
import android.view.Menu
|
||||||
@@ -7,8 +7,8 @@ import androidx.activity.viewModels
|
|||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import gq.kirmanak.mealie.databinding.MainActivityBinding
|
import gq.kirmanak.mealient.databinding.MainActivityBinding
|
||||||
import gq.kirmanak.mealie.ui.auth.AuthenticationViewModel
|
import gq.kirmanak.mealient.ui.auth.AuthenticationViewModel
|
||||||
import kotlinx.coroutines.flow.collectLatest
|
import kotlinx.coroutines.flow.collectLatest
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
|
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
package gq.kirmanak.mealie.data
|
package gq.kirmanak.mealient.data
|
||||||
|
|
||||||
import androidx.room.Database
|
import androidx.room.Database
|
||||||
import androidx.room.RoomDatabase
|
import androidx.room.RoomDatabase
|
||||||
import androidx.room.TypeConverters
|
import androidx.room.TypeConverters
|
||||||
import gq.kirmanak.mealie.data.impl.RoomTypeConverters
|
import gq.kirmanak.mealient.data.impl.RoomTypeConverters
|
||||||
import gq.kirmanak.mealie.data.recipes.db.RecipeDao
|
import gq.kirmanak.mealient.data.recipes.db.RecipeDao
|
||||||
import gq.kirmanak.mealie.data.recipes.db.entity.*
|
import gq.kirmanak.mealient.data.recipes.db.entity.*
|
||||||
import javax.inject.Singleton
|
import javax.inject.Singleton
|
||||||
|
|
||||||
@Database(
|
@Database(
|
||||||
@@ -15,6 +15,6 @@ import javax.inject.Singleton
|
|||||||
)
|
)
|
||||||
@TypeConverters(RoomTypeConverters::class)
|
@TypeConverters(RoomTypeConverters::class)
|
||||||
@Singleton
|
@Singleton
|
||||||
abstract class MealieDb : RoomDatabase() {
|
abstract class AppDb : RoomDatabase() {
|
||||||
abstract fun recipeDao(): RecipeDao
|
abstract fun recipeDao(): RecipeDao
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package gq.kirmanak.mealie.data
|
package gq.kirmanak.mealient.data
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import androidx.room.Room
|
import androidx.room.Room
|
||||||
@@ -10,11 +10,11 @@ import dagger.hilt.components.SingletonComponent
|
|||||||
|
|
||||||
@Module
|
@Module
|
||||||
@InstallIn(SingletonComponent::class)
|
@InstallIn(SingletonComponent::class)
|
||||||
interface MealieModule {
|
interface AppModule {
|
||||||
companion object {
|
companion object {
|
||||||
@Provides
|
@Provides
|
||||||
fun createDb(@ApplicationContext context: Context): MealieDb {
|
fun createDb(@ApplicationContext context: Context): AppDb {
|
||||||
return Room.databaseBuilder(context, MealieDb::class.java, "mealie.db").build()
|
return Room.databaseBuilder(context, AppDb::class.java, "app.db").build()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package gq.kirmanak.mealie.data.auth
|
package gq.kirmanak.mealient.data.auth
|
||||||
|
|
||||||
interface AuthDataSource {
|
interface AuthDataSource {
|
||||||
/**
|
/**
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
package gq.kirmanak.mealie.data.auth
|
package gq.kirmanak.mealient.data.auth
|
||||||
|
|
||||||
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.mealie.data.auth.impl.AuthDataSourceImpl
|
import gq.kirmanak.mealient.data.auth.impl.AuthDataSourceImpl
|
||||||
import gq.kirmanak.mealie.data.auth.impl.AuthRepoImpl
|
import gq.kirmanak.mealient.data.auth.impl.AuthRepoImpl
|
||||||
import gq.kirmanak.mealie.data.auth.impl.AuthStorageImpl
|
import gq.kirmanak.mealient.data.auth.impl.AuthStorageImpl
|
||||||
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
||||||
import kotlinx.serialization.ExperimentalSerializationApi
|
import kotlinx.serialization.ExperimentalSerializationApi
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package gq.kirmanak.mealie.data.auth
|
package gq.kirmanak.mealient.data.auth
|
||||||
|
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
package gq.kirmanak.mealie.data.auth
|
package gq.kirmanak.mealient.data.auth
|
||||||
|
|
||||||
import gq.kirmanak.mealie.data.auth.impl.GetTokenResponse
|
import gq.kirmanak.mealient.data.auth.impl.GetTokenResponse
|
||||||
import retrofit2.http.Field
|
import retrofit2.http.Field
|
||||||
import retrofit2.http.FormUrlEncoded
|
import retrofit2.http.FormUrlEncoded
|
||||||
import retrofit2.http.POST
|
import retrofit2.http.POST
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package gq.kirmanak.mealie.data.auth
|
package gq.kirmanak.mealient.data.auth
|
||||||
|
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
|
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package gq.kirmanak.mealie.data.auth.impl
|
package gq.kirmanak.mealient.data.auth.impl
|
||||||
|
|
||||||
import gq.kirmanak.mealie.data.auth.AuthDataSource
|
import gq.kirmanak.mealient.data.auth.AuthDataSource
|
||||||
import gq.kirmanak.mealie.data.auth.AuthService
|
import gq.kirmanak.mealient.data.auth.AuthService
|
||||||
import gq.kirmanak.mealie.data.impl.RetrofitBuilder
|
import gq.kirmanak.mealient.data.impl.RetrofitBuilder
|
||||||
import kotlinx.serialization.ExperimentalSerializationApi
|
import kotlinx.serialization.ExperimentalSerializationApi
|
||||||
import retrofit2.create
|
import retrofit2.create
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package gq.kirmanak.mealie.data.auth.impl
|
package gq.kirmanak.mealient.data.auth.impl
|
||||||
|
|
||||||
import okhttp3.Interceptor
|
import okhttp3.Interceptor
|
||||||
import okhttp3.Response
|
import okhttp3.Response
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package gq.kirmanak.mealie.data.auth.impl
|
package gq.kirmanak.mealient.data.auth.impl
|
||||||
|
|
||||||
import gq.kirmanak.mealie.data.auth.AuthDataSource
|
import gq.kirmanak.mealient.data.auth.AuthDataSource
|
||||||
import gq.kirmanak.mealie.data.auth.AuthRepo
|
import gq.kirmanak.mealient.data.auth.AuthRepo
|
||||||
import gq.kirmanak.mealie.data.auth.AuthStorage
|
import gq.kirmanak.mealient.data.auth.AuthStorage
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
import kotlinx.coroutines.flow.map
|
import kotlinx.coroutines.flow.map
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
package gq.kirmanak.mealie.data.auth.impl
|
package gq.kirmanak.mealient.data.auth.impl
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.SharedPreferences
|
import android.content.SharedPreferences
|
||||||
import androidx.preference.PreferenceManager
|
import androidx.preference.PreferenceManager
|
||||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||||
import gq.kirmanak.mealie.data.auth.AuthStorage
|
import gq.kirmanak.mealient.data.auth.AuthStorage
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
||||||
import kotlinx.coroutines.channels.awaitClose
|
import kotlinx.coroutines.channels.awaitClose
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package gq.kirmanak.mealie.data.auth.impl
|
package gq.kirmanak.mealient.data.auth.impl
|
||||||
|
|
||||||
import kotlinx.serialization.SerialName
|
import kotlinx.serialization.SerialName
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package gq.kirmanak.mealie.data.impl
|
package gq.kirmanak.mealient.data.impl
|
||||||
|
|
||||||
import gq.kirmanak.mealie.BuildConfig
|
import gq.kirmanak.mealient.BuildConfig
|
||||||
import gq.kirmanak.mealie.data.auth.impl.AuthOkHttpInterceptor
|
import gq.kirmanak.mealient.data.auth.impl.AuthOkHttpInterceptor
|
||||||
import okhttp3.Interceptor
|
import okhttp3.Interceptor
|
||||||
import okhttp3.OkHttpClient
|
import okhttp3.OkHttpClient
|
||||||
import okhttp3.logging.HttpLoggingInterceptor
|
import okhttp3.logging.HttpLoggingInterceptor
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package gq.kirmanak.mealie.data.impl
|
package gq.kirmanak.mealient.data.impl
|
||||||
|
|
||||||
import com.jakewharton.retrofit2.converter.kotlinx.serialization.asConverterFactory
|
import com.jakewharton.retrofit2.converter.kotlinx.serialization.asConverterFactory
|
||||||
import kotlinx.serialization.ExperimentalSerializationApi
|
import kotlinx.serialization.ExperimentalSerializationApi
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package gq.kirmanak.mealie.data.impl
|
package gq.kirmanak.mealient.data.impl
|
||||||
|
|
||||||
import androidx.room.TypeConverter
|
import androidx.room.TypeConverter
|
||||||
import kotlinx.datetime.*
|
import kotlinx.datetime.*
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package gq.kirmanak.mealie.data.recipes
|
package gq.kirmanak.mealient.data.recipes
|
||||||
|
|
||||||
import android.widget.ImageView
|
import android.widget.ImageView
|
||||||
|
|
||||||
@@ -1,16 +1,16 @@
|
|||||||
package gq.kirmanak.mealie.data.recipes
|
package gq.kirmanak.mealient.data.recipes
|
||||||
|
|
||||||
import androidx.paging.ExperimentalPagingApi
|
import androidx.paging.ExperimentalPagingApi
|
||||||
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.mealie.data.recipes.db.RecipeStorage
|
import gq.kirmanak.mealient.data.recipes.db.RecipeStorage
|
||||||
import gq.kirmanak.mealie.data.recipes.db.RecipeStorageImpl
|
import gq.kirmanak.mealient.data.recipes.db.RecipeStorageImpl
|
||||||
import gq.kirmanak.mealie.data.recipes.impl.RecipeImageLoaderImpl
|
import gq.kirmanak.mealient.data.recipes.impl.RecipeImageLoaderImpl
|
||||||
import gq.kirmanak.mealie.data.recipes.impl.RecipeRepoImpl
|
import gq.kirmanak.mealient.data.recipes.impl.RecipeRepoImpl
|
||||||
import gq.kirmanak.mealie.data.recipes.network.RecipeDataSource
|
import gq.kirmanak.mealient.data.recipes.network.RecipeDataSource
|
||||||
import gq.kirmanak.mealie.data.recipes.network.RecipeDataSourceImpl
|
import gq.kirmanak.mealient.data.recipes.network.RecipeDataSourceImpl
|
||||||
import kotlinx.serialization.ExperimentalSerializationApi
|
import kotlinx.serialization.ExperimentalSerializationApi
|
||||||
|
|
||||||
@ExperimentalPagingApi
|
@ExperimentalPagingApi
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package gq.kirmanak.mealie.data.recipes
|
package gq.kirmanak.mealient.data.recipes
|
||||||
|
|
||||||
import androidx.paging.Pager
|
import androidx.paging.Pager
|
||||||
import gq.kirmanak.mealie.data.recipes.db.entity.RecipeSummaryEntity
|
import gq.kirmanak.mealient.data.recipes.db.entity.RecipeSummaryEntity
|
||||||
import gq.kirmanak.mealie.data.recipes.impl.FullRecipeInfo
|
import gq.kirmanak.mealient.data.recipes.impl.FullRecipeInfo
|
||||||
|
|
||||||
interface RecipeRepo {
|
interface RecipeRepo {
|
||||||
fun createPager(): Pager<Int, RecipeSummaryEntity>
|
fun createPager(): Pager<Int, RecipeSummaryEntity>
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
package gq.kirmanak.mealie.data.recipes.db
|
package gq.kirmanak.mealient.data.recipes.db
|
||||||
|
|
||||||
import androidx.paging.PagingSource
|
import androidx.paging.PagingSource
|
||||||
import androidx.room.*
|
import androidx.room.*
|
||||||
import gq.kirmanak.mealie.data.recipes.db.entity.*
|
import gq.kirmanak.mealient.data.recipes.db.entity.*
|
||||||
import gq.kirmanak.mealie.data.recipes.impl.FullRecipeInfo
|
import gq.kirmanak.mealient.data.recipes.impl.FullRecipeInfo
|
||||||
|
|
||||||
@Dao
|
@Dao
|
||||||
interface RecipeDao {
|
interface RecipeDao {
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
package gq.kirmanak.mealie.data.recipes.db
|
package gq.kirmanak.mealient.data.recipes.db
|
||||||
|
|
||||||
import androidx.paging.PagingSource
|
import androidx.paging.PagingSource
|
||||||
import gq.kirmanak.mealie.data.recipes.db.entity.RecipeSummaryEntity
|
import gq.kirmanak.mealient.data.recipes.db.entity.RecipeSummaryEntity
|
||||||
import gq.kirmanak.mealie.data.recipes.impl.FullRecipeInfo
|
import gq.kirmanak.mealient.data.recipes.impl.FullRecipeInfo
|
||||||
import gq.kirmanak.mealie.data.recipes.network.response.GetRecipeResponse
|
import gq.kirmanak.mealient.data.recipes.network.response.GetRecipeResponse
|
||||||
import gq.kirmanak.mealie.data.recipes.network.response.GetRecipeSummaryResponse
|
import gq.kirmanak.mealient.data.recipes.network.response.GetRecipeSummaryResponse
|
||||||
|
|
||||||
interface RecipeStorage {
|
interface RecipeStorage {
|
||||||
suspend fun saveRecipes(recipes: List<GetRecipeSummaryResponse>)
|
suspend fun saveRecipes(recipes: List<GetRecipeSummaryResponse>)
|
||||||
@@ -1,19 +1,19 @@
|
|||||||
package gq.kirmanak.mealie.data.recipes.db
|
package gq.kirmanak.mealient.data.recipes.db
|
||||||
|
|
||||||
import androidx.paging.PagingSource
|
import androidx.paging.PagingSource
|
||||||
import androidx.room.withTransaction
|
import androidx.room.withTransaction
|
||||||
import gq.kirmanak.mealie.data.MealieDb
|
import gq.kirmanak.mealient.data.AppDb
|
||||||
import gq.kirmanak.mealie.data.recipes.db.entity.*
|
import gq.kirmanak.mealient.data.recipes.db.entity.*
|
||||||
import gq.kirmanak.mealie.data.recipes.impl.FullRecipeInfo
|
import gq.kirmanak.mealient.data.recipes.impl.FullRecipeInfo
|
||||||
import gq.kirmanak.mealie.data.recipes.network.response.GetRecipeIngredientResponse
|
import gq.kirmanak.mealient.data.recipes.network.response.GetRecipeIngredientResponse
|
||||||
import gq.kirmanak.mealie.data.recipes.network.response.GetRecipeInstructionResponse
|
import gq.kirmanak.mealient.data.recipes.network.response.GetRecipeInstructionResponse
|
||||||
import gq.kirmanak.mealie.data.recipes.network.response.GetRecipeResponse
|
import gq.kirmanak.mealient.data.recipes.network.response.GetRecipeResponse
|
||||||
import gq.kirmanak.mealie.data.recipes.network.response.GetRecipeSummaryResponse
|
import gq.kirmanak.mealient.data.recipes.network.response.GetRecipeSummaryResponse
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
class RecipeStorageImpl @Inject constructor(
|
class RecipeStorageImpl @Inject constructor(
|
||||||
private val db: MealieDb
|
private val db: AppDb
|
||||||
) : RecipeStorage {
|
) : RecipeStorage {
|
||||||
private val recipeDao: RecipeDao by lazy { db.recipeDao() }
|
private val recipeDao: RecipeDao by lazy { db.recipeDao() }
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package gq.kirmanak.mealie.data.recipes.db.entity
|
package gq.kirmanak.mealient.data.recipes.db.entity
|
||||||
|
|
||||||
import androidx.room.ColumnInfo
|
import androidx.room.ColumnInfo
|
||||||
import androidx.room.Entity
|
import androidx.room.Entity
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package gq.kirmanak.mealie.data.recipes.db.entity
|
package gq.kirmanak.mealient.data.recipes.db.entity
|
||||||
|
|
||||||
import androidx.room.ColumnInfo
|
import androidx.room.ColumnInfo
|
||||||
import androidx.room.Entity
|
import androidx.room.Entity
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package gq.kirmanak.mealie.data.recipes.db.entity
|
package gq.kirmanak.mealient.data.recipes.db.entity
|
||||||
|
|
||||||
import androidx.room.ColumnInfo
|
import androidx.room.ColumnInfo
|
||||||
import androidx.room.Entity
|
import androidx.room.Entity
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package gq.kirmanak.mealie.data.recipes.db.entity
|
package gq.kirmanak.mealient.data.recipes.db.entity
|
||||||
|
|
||||||
import androidx.room.ColumnInfo
|
import androidx.room.ColumnInfo
|
||||||
import androidx.room.Entity
|
import androidx.room.Entity
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package gq.kirmanak.mealie.data.recipes.db.entity
|
package gq.kirmanak.mealient.data.recipes.db.entity
|
||||||
|
|
||||||
import androidx.room.ColumnInfo
|
import androidx.room.ColumnInfo
|
||||||
import androidx.room.Entity
|
import androidx.room.Entity
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package gq.kirmanak.mealie.data.recipes.db.entity
|
package gq.kirmanak.mealient.data.recipes.db.entity
|
||||||
|
|
||||||
import androidx.room.ColumnInfo
|
import androidx.room.ColumnInfo
|
||||||
import androidx.room.Entity
|
import androidx.room.Entity
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package gq.kirmanak.mealie.data.recipes.db.entity
|
package gq.kirmanak.mealient.data.recipes.db.entity
|
||||||
|
|
||||||
import androidx.room.ColumnInfo
|
import androidx.room.ColumnInfo
|
||||||
import androidx.room.Entity
|
import androidx.room.Entity
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package gq.kirmanak.mealie.data.recipes.db.entity
|
package gq.kirmanak.mealient.data.recipes.db.entity
|
||||||
|
|
||||||
import androidx.room.ColumnInfo
|
import androidx.room.ColumnInfo
|
||||||
import androidx.room.Entity
|
import androidx.room.Entity
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
package gq.kirmanak.mealie.data.recipes.impl
|
package gq.kirmanak.mealient.data.recipes.impl
|
||||||
|
|
||||||
import androidx.room.Embedded
|
import androidx.room.Embedded
|
||||||
import androidx.room.Relation
|
import androidx.room.Relation
|
||||||
import gq.kirmanak.mealie.data.recipes.db.entity.RecipeEntity
|
import gq.kirmanak.mealient.data.recipes.db.entity.RecipeEntity
|
||||||
import gq.kirmanak.mealie.data.recipes.db.entity.RecipeIngredientEntity
|
import gq.kirmanak.mealient.data.recipes.db.entity.RecipeIngredientEntity
|
||||||
import gq.kirmanak.mealie.data.recipes.db.entity.RecipeInstructionEntity
|
import gq.kirmanak.mealient.data.recipes.db.entity.RecipeInstructionEntity
|
||||||
import gq.kirmanak.mealie.data.recipes.db.entity.RecipeSummaryEntity
|
import gq.kirmanak.mealient.data.recipes.db.entity.RecipeSummaryEntity
|
||||||
|
|
||||||
data class FullRecipeInfo(
|
data class FullRecipeInfo(
|
||||||
@Embedded val recipeEntity: RecipeEntity,
|
@Embedded val recipeEntity: RecipeEntity,
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
package gq.kirmanak.mealie.data.recipes.impl
|
package gq.kirmanak.mealient.data.recipes.impl
|
||||||
|
|
||||||
import android.widget.ImageView
|
import android.widget.ImageView
|
||||||
import gq.kirmanak.mealie.R
|
import gq.kirmanak.mealient.R
|
||||||
import gq.kirmanak.mealie.data.auth.AuthRepo
|
import gq.kirmanak.mealient.data.auth.AuthRepo
|
||||||
import gq.kirmanak.mealie.data.recipes.RecipeImageLoader
|
import gq.kirmanak.mealient.data.recipes.RecipeImageLoader
|
||||||
import gq.kirmanak.mealie.ui.ImageLoader
|
import gq.kirmanak.mealient.ui.ImageLoader
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
class RecipeImageLoaderImpl @Inject constructor(
|
class RecipeImageLoaderImpl @Inject constructor(
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package gq.kirmanak.mealie.data.recipes.impl
|
package gq.kirmanak.mealient.data.recipes.impl
|
||||||
|
|
||||||
import androidx.paging.PagingSource
|
import androidx.paging.PagingSource
|
||||||
import gq.kirmanak.mealie.data.recipes.db.RecipeStorage
|
import gq.kirmanak.mealient.data.recipes.db.RecipeStorage
|
||||||
import gq.kirmanak.mealie.data.recipes.db.entity.RecipeSummaryEntity
|
import gq.kirmanak.mealient.data.recipes.db.entity.RecipeSummaryEntity
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
import javax.inject.Singleton
|
import javax.inject.Singleton
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
package gq.kirmanak.mealie.data.recipes.impl
|
package gq.kirmanak.mealient.data.recipes.impl
|
||||||
|
|
||||||
import androidx.paging.ExperimentalPagingApi
|
import androidx.paging.ExperimentalPagingApi
|
||||||
import androidx.paging.Pager
|
import androidx.paging.Pager
|
||||||
import androidx.paging.PagingConfig
|
import androidx.paging.PagingConfig
|
||||||
import gq.kirmanak.mealie.data.recipes.RecipeRepo
|
import gq.kirmanak.mealient.data.recipes.RecipeRepo
|
||||||
import gq.kirmanak.mealie.data.recipes.db.RecipeStorage
|
import gq.kirmanak.mealient.data.recipes.db.RecipeStorage
|
||||||
import gq.kirmanak.mealie.data.recipes.db.entity.RecipeSummaryEntity
|
import gq.kirmanak.mealient.data.recipes.db.entity.RecipeSummaryEntity
|
||||||
import gq.kirmanak.mealie.data.recipes.network.RecipeDataSource
|
import gq.kirmanak.mealient.data.recipes.network.RecipeDataSource
|
||||||
import kotlinx.coroutines.CancellationException
|
import kotlinx.coroutines.CancellationException
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package gq.kirmanak.mealie.data.recipes.impl
|
package gq.kirmanak.mealient.data.recipes.impl
|
||||||
|
|
||||||
import androidx.annotation.VisibleForTesting
|
import androidx.annotation.VisibleForTesting
|
||||||
import androidx.paging.ExperimentalPagingApi
|
import androidx.paging.ExperimentalPagingApi
|
||||||
@@ -7,9 +7,9 @@ import androidx.paging.LoadType.PREPEND
|
|||||||
import androidx.paging.LoadType.REFRESH
|
import androidx.paging.LoadType.REFRESH
|
||||||
import androidx.paging.PagingState
|
import androidx.paging.PagingState
|
||||||
import androidx.paging.RemoteMediator
|
import androidx.paging.RemoteMediator
|
||||||
import gq.kirmanak.mealie.data.recipes.db.RecipeStorage
|
import gq.kirmanak.mealient.data.recipes.db.RecipeStorage
|
||||||
import gq.kirmanak.mealie.data.recipes.db.entity.RecipeSummaryEntity
|
import gq.kirmanak.mealient.data.recipes.db.entity.RecipeSummaryEntity
|
||||||
import gq.kirmanak.mealie.data.recipes.network.RecipeDataSource
|
import gq.kirmanak.mealient.data.recipes.network.RecipeDataSource
|
||||||
import kotlinx.coroutines.CancellationException
|
import kotlinx.coroutines.CancellationException
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
package gq.kirmanak.mealient.data.recipes.network
|
||||||
|
|
||||||
|
import gq.kirmanak.mealient.data.recipes.network.response.GetRecipeResponse
|
||||||
|
import gq.kirmanak.mealient.data.recipes.network.response.GetRecipeSummaryResponse
|
||||||
|
|
||||||
|
interface RecipeDataSource {
|
||||||
|
suspend fun requestRecipes(start: Int = 0, limit: Int = 9999): List<GetRecipeSummaryResponse>
|
||||||
|
|
||||||
|
suspend fun requestRecipeInfo(slug: String): GetRecipeResponse
|
||||||
|
}
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
package gq.kirmanak.mealie.data.recipes.network
|
package gq.kirmanak.mealient.data.recipes.network
|
||||||
|
|
||||||
import gq.kirmanak.mealie.data.auth.AuthRepo
|
import gq.kirmanak.mealient.data.auth.AuthRepo
|
||||||
import gq.kirmanak.mealie.data.impl.RetrofitBuilder
|
import gq.kirmanak.mealient.data.impl.RetrofitBuilder
|
||||||
import gq.kirmanak.mealie.data.recipes.network.response.GetRecipeResponse
|
import gq.kirmanak.mealient.data.recipes.network.response.GetRecipeResponse
|
||||||
import gq.kirmanak.mealie.data.recipes.network.response.GetRecipeSummaryResponse
|
import gq.kirmanak.mealient.data.recipes.network.response.GetRecipeSummaryResponse
|
||||||
import kotlinx.serialization.ExperimentalSerializationApi
|
import kotlinx.serialization.ExperimentalSerializationApi
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package gq.kirmanak.mealie.data.recipes.network
|
package gq.kirmanak.mealient.data.recipes.network
|
||||||
|
|
||||||
import gq.kirmanak.mealie.data.recipes.network.response.GetRecipeResponse
|
import gq.kirmanak.mealient.data.recipes.network.response.GetRecipeResponse
|
||||||
import gq.kirmanak.mealie.data.recipes.network.response.GetRecipeSummaryResponse
|
import gq.kirmanak.mealient.data.recipes.network.response.GetRecipeSummaryResponse
|
||||||
import retrofit2.http.GET
|
import retrofit2.http.GET
|
||||||
import retrofit2.http.Path
|
import retrofit2.http.Path
|
||||||
import retrofit2.http.Query
|
import retrofit2.http.Query
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package gq.kirmanak.mealie.data.recipes.network.response
|
package gq.kirmanak.mealient.data.recipes.network.response
|
||||||
|
|
||||||
import kotlinx.serialization.SerialName
|
import kotlinx.serialization.SerialName
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package gq.kirmanak.mealie.data.recipes.network.response
|
package gq.kirmanak.mealient.data.recipes.network.response
|
||||||
|
|
||||||
import kotlinx.serialization.SerialName
|
import kotlinx.serialization.SerialName
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package gq.kirmanak.mealie.data.recipes.network.response
|
package gq.kirmanak.mealient.data.recipes.network.response
|
||||||
|
|
||||||
import kotlinx.datetime.LocalDate
|
import kotlinx.datetime.LocalDate
|
||||||
import kotlinx.datetime.LocalDateTime
|
import kotlinx.datetime.LocalDateTime
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package gq.kirmanak.mealie.data.recipes.network.response
|
package gq.kirmanak.mealient.data.recipes.network.response
|
||||||
|
|
||||||
import kotlinx.datetime.LocalDate
|
import kotlinx.datetime.LocalDate
|
||||||
import kotlinx.datetime.LocalDateTime
|
import kotlinx.datetime.LocalDateTime
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package gq.kirmanak.mealie.ui
|
package gq.kirmanak.mealient.ui
|
||||||
|
|
||||||
import android.widget.ImageView
|
import android.widget.ImageView
|
||||||
import androidx.annotation.DrawableRes
|
import androidx.annotation.DrawableRes
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package gq.kirmanak.mealie.ui
|
package gq.kirmanak.mealient.ui
|
||||||
|
|
||||||
import androidx.paging.PagingDataAdapter
|
import androidx.paging.PagingDataAdapter
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
package gq.kirmanak.mealie.ui
|
package gq.kirmanak.mealient.ui
|
||||||
|
|
||||||
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.mealie.ui.glide.ImageLoaderGlide
|
import gq.kirmanak.mealient.ui.glide.ImageLoaderGlide
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
@InstallIn(SingletonComponent::class)
|
@InstallIn(SingletonComponent::class)
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package gq.kirmanak.mealie.ui.auth
|
package gq.kirmanak.mealient.ui.auth
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
@@ -11,7 +11,7 @@ import androidx.lifecycle.lifecycleScope
|
|||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
import com.google.android.material.textfield.TextInputLayout
|
import com.google.android.material.textfield.TextInputLayout
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import gq.kirmanak.mealie.databinding.FragmentAuthenticationBinding
|
import gq.kirmanak.mealient.databinding.FragmentAuthenticationBinding
|
||||||
import kotlinx.coroutines.flow.collectLatest
|
import kotlinx.coroutines.flow.collectLatest
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
|
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
package gq.kirmanak.mealie.ui.auth
|
package gq.kirmanak.mealient.ui.auth
|
||||||
|
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
import androidx.lifecycle.viewModelScope
|
import androidx.lifecycle.viewModelScope
|
||||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||||
import gq.kirmanak.mealie.data.auth.AuthRepo
|
import gq.kirmanak.mealient.data.auth.AuthRepo
|
||||||
import gq.kirmanak.mealie.data.recipes.RecipeRepo
|
import gq.kirmanak.mealient.data.recipes.RecipeRepo
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package gq.kirmanak.mealie.ui.glide
|
package gq.kirmanak.mealient.ui.glide
|
||||||
|
|
||||||
import android.widget.ImageView
|
import android.widget.ImageView
|
||||||
import androidx.annotation.DrawableRes
|
import androidx.annotation.DrawableRes
|
||||||
import gq.kirmanak.mealie.ui.ImageLoader
|
import gq.kirmanak.mealient.ui.ImageLoader
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
class ImageLoaderGlide @Inject constructor() : ImageLoader {
|
class ImageLoaderGlide @Inject constructor() : ImageLoader {
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package gq.kirmanak.mealie.ui.glide
|
package gq.kirmanak.mealient.ui.glide
|
||||||
|
|
||||||
import com.bumptech.glide.annotation.GlideModule
|
import com.bumptech.glide.annotation.GlideModule
|
||||||
import com.bumptech.glide.module.AppGlideModule
|
import com.bumptech.glide.module.AppGlideModule
|
||||||
|
|
||||||
@GlideModule
|
@GlideModule
|
||||||
class MealieGlideModule : AppGlideModule()
|
class MainGlideModule : AppGlideModule()
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
package gq.kirmanak.mealie.ui.recipes
|
package gq.kirmanak.mealient.ui.recipes
|
||||||
|
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import gq.kirmanak.mealie.R
|
import gq.kirmanak.mealient.R
|
||||||
import gq.kirmanak.mealie.data.recipes.db.entity.RecipeSummaryEntity
|
import gq.kirmanak.mealient.data.recipes.db.entity.RecipeSummaryEntity
|
||||||
import gq.kirmanak.mealie.databinding.ViewHolderRecipeBinding
|
import gq.kirmanak.mealient.databinding.ViewHolderRecipeBinding
|
||||||
|
|
||||||
class RecipeViewHolder(
|
class RecipeViewHolder(
|
||||||
private val binding: ViewHolderRecipeBinding,
|
private val binding: ViewHolderRecipeBinding,
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
package gq.kirmanak.mealie.ui.recipes
|
package gq.kirmanak.mealient.ui.recipes
|
||||||
|
|
||||||
import android.widget.ImageView
|
import android.widget.ImageView
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
import androidx.lifecycle.viewModelScope
|
import androidx.lifecycle.viewModelScope
|
||||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||||
import gq.kirmanak.mealie.data.recipes.RecipeImageLoader
|
import gq.kirmanak.mealient.data.recipes.RecipeImageLoader
|
||||||
import gq.kirmanak.mealie.data.recipes.RecipeRepo
|
import gq.kirmanak.mealient.data.recipes.RecipeRepo
|
||||||
import gq.kirmanak.mealie.data.recipes.db.entity.RecipeSummaryEntity
|
import gq.kirmanak.mealient.data.recipes.db.entity.RecipeSummaryEntity
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package gq.kirmanak.mealie.ui.recipes
|
package gq.kirmanak.mealient.ui.recipes
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
@@ -10,10 +10,10 @@ import androidx.lifecycle.lifecycleScope
|
|||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import gq.kirmanak.mealie.data.recipes.db.entity.RecipeSummaryEntity
|
import gq.kirmanak.mealient.data.recipes.db.entity.RecipeSummaryEntity
|
||||||
import gq.kirmanak.mealie.databinding.FragmentRecipesBinding
|
import gq.kirmanak.mealient.databinding.FragmentRecipesBinding
|
||||||
import gq.kirmanak.mealie.ui.SwipeRefreshLayoutHelper.listenToRefreshRequests
|
import gq.kirmanak.mealient.ui.SwipeRefreshLayoutHelper.listenToRefreshRequests
|
||||||
import gq.kirmanak.mealie.ui.auth.AuthenticationViewModel
|
import gq.kirmanak.mealient.ui.auth.AuthenticationViewModel
|
||||||
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
||||||
import kotlinx.coroutines.flow.collect
|
import kotlinx.coroutines.flow.collect
|
||||||
import kotlinx.coroutines.flow.collectLatest
|
import kotlinx.coroutines.flow.collectLatest
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
package gq.kirmanak.mealie.ui.recipes
|
package gq.kirmanak.mealient.ui.recipes
|
||||||
|
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.paging.PagingDataAdapter
|
import androidx.paging.PagingDataAdapter
|
||||||
import androidx.recyclerview.widget.DiffUtil
|
import androidx.recyclerview.widget.DiffUtil
|
||||||
import gq.kirmanak.mealie.data.recipes.db.entity.RecipeSummaryEntity
|
import gq.kirmanak.mealient.data.recipes.db.entity.RecipeSummaryEntity
|
||||||
import gq.kirmanak.mealie.databinding.ViewHolderRecipeBinding
|
import gq.kirmanak.mealient.databinding.ViewHolderRecipeBinding
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
|
|
||||||
class RecipesPagingAdapter(
|
class RecipesPagingAdapter(
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package gq.kirmanak.mealie.ui.recipes.info
|
package gq.kirmanak.mealient.ui.recipes.info
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
@@ -11,8 +11,8 @@ import androidx.navigation.fragment.findNavController
|
|||||||
import androidx.navigation.fragment.navArgs
|
import androidx.navigation.fragment.navArgs
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import gq.kirmanak.mealie.databinding.FragmentRecipeInfoBinding
|
import gq.kirmanak.mealient.databinding.FragmentRecipeInfoBinding
|
||||||
import gq.kirmanak.mealie.ui.auth.AuthenticationViewModel
|
import gq.kirmanak.mealient.ui.auth.AuthenticationViewModel
|
||||||
import kotlinx.coroutines.flow.collectLatest
|
import kotlinx.coroutines.flow.collectLatest
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package gq.kirmanak.mealie.ui.recipes.info
|
package gq.kirmanak.mealient.ui.recipes.info
|
||||||
|
|
||||||
import android.widget.ImageView
|
import android.widget.ImageView
|
||||||
import androidx.lifecycle.LiveData
|
import androidx.lifecycle.LiveData
|
||||||
@@ -6,9 +6,9 @@ import androidx.lifecycle.MutableLiveData
|
|||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
import androidx.lifecycle.viewModelScope
|
import androidx.lifecycle.viewModelScope
|
||||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||||
import gq.kirmanak.mealie.data.recipes.RecipeImageLoader
|
import gq.kirmanak.mealient.data.recipes.RecipeImageLoader
|
||||||
import gq.kirmanak.mealie.data.recipes.RecipeRepo
|
import gq.kirmanak.mealient.data.recipes.RecipeRepo
|
||||||
import gq.kirmanak.mealie.data.recipes.impl.FullRecipeInfo
|
import gq.kirmanak.mealient.data.recipes.impl.FullRecipeInfo
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
@@ -1,13 +1,13 @@
|
|||||||
package gq.kirmanak.mealie.ui.recipes.info
|
package gq.kirmanak.mealient.ui.recipes.info
|
||||||
|
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.recyclerview.widget.DiffUtil
|
import androidx.recyclerview.widget.DiffUtil
|
||||||
import androidx.recyclerview.widget.ListAdapter
|
import androidx.recyclerview.widget.ListAdapter
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import gq.kirmanak.mealie.data.recipes.db.entity.RecipeIngredientEntity
|
import gq.kirmanak.mealient.data.recipes.db.entity.RecipeIngredientEntity
|
||||||
import gq.kirmanak.mealie.databinding.ViewHolderIngredientBinding
|
import gq.kirmanak.mealient.databinding.ViewHolderIngredientBinding
|
||||||
import gq.kirmanak.mealie.ui.recipes.info.RecipeIngredientsAdapter.RecipeIngredientViewHolder
|
import gq.kirmanak.mealient.ui.recipes.info.RecipeIngredientsAdapter.RecipeIngredientViewHolder
|
||||||
|
|
||||||
class RecipeIngredientsAdapter() :
|
class RecipeIngredientsAdapter() :
|
||||||
ListAdapter<RecipeIngredientEntity, RecipeIngredientViewHolder>(RecipeIngredientDiffCallback) {
|
ListAdapter<RecipeIngredientEntity, RecipeIngredientViewHolder>(RecipeIngredientDiffCallback) {
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
package gq.kirmanak.mealie.ui.recipes.info
|
package gq.kirmanak.mealient.ui.recipes.info
|
||||||
|
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.recyclerview.widget.DiffUtil
|
import androidx.recyclerview.widget.DiffUtil
|
||||||
import androidx.recyclerview.widget.ListAdapter
|
import androidx.recyclerview.widget.ListAdapter
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import gq.kirmanak.mealie.data.recipes.db.entity.RecipeInstructionEntity
|
import gq.kirmanak.mealient.data.recipes.db.entity.RecipeInstructionEntity
|
||||||
import gq.kirmanak.mealie.databinding.ViewHolderInstructionBinding
|
import gq.kirmanak.mealient.databinding.ViewHolderInstructionBinding
|
||||||
|
|
||||||
class RecipeInstructionsAdapter :
|
class RecipeInstructionsAdapter :
|
||||||
ListAdapter<RecipeInstructionEntity, RecipeInstructionsAdapter.RecipeInstructionViewHolder>(
|
ListAdapter<RecipeInstructionEntity, RecipeInstructionsAdapter.RecipeInstructionViewHolder>(
|
||||||
@@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
<fragment
|
<fragment
|
||||||
android:id="@+id/authenticationFragment"
|
android:id="@+id/authenticationFragment"
|
||||||
android:name="gq.kirmanak.mealie.ui.auth.AuthenticationFragment"
|
android:name="gq.kirmanak.mealient.ui.auth.AuthenticationFragment"
|
||||||
android:label="AuthenticationFragment">
|
android:label="AuthenticationFragment">
|
||||||
<action
|
<action
|
||||||
android:id="@+id/action_authenticationFragment_to_recipesFragment"
|
android:id="@+id/action_authenticationFragment_to_recipesFragment"
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
</fragment>
|
</fragment>
|
||||||
<fragment
|
<fragment
|
||||||
android:id="@+id/recipesFragment"
|
android:id="@+id/recipesFragment"
|
||||||
android:name="gq.kirmanak.mealie.ui.recipes.RecipesFragment"
|
android:name="gq.kirmanak.mealient.ui.recipes.RecipesFragment"
|
||||||
android:label="fragment_recipes"
|
android:label="fragment_recipes"
|
||||||
tools:layout="@layout/fragment_recipes">
|
tools:layout="@layout/fragment_recipes">
|
||||||
<action
|
<action
|
||||||
@@ -31,7 +31,7 @@
|
|||||||
</fragment>
|
</fragment>
|
||||||
<fragment
|
<fragment
|
||||||
android:id="@+id/recipeInfoFragment"
|
android:id="@+id/recipeInfoFragment"
|
||||||
android:name="gq.kirmanak.mealie.ui.recipes.info.RecipeInfoFragment"
|
android:name="gq.kirmanak.mealient.ui.recipes.info.RecipeInfoFragment"
|
||||||
android:label="RecipeInfoFragment">
|
android:label="RecipeInfoFragment">
|
||||||
<action
|
<action
|
||||||
android:id="@+id/action_recipeInfoFragment_to_authenticationFragment"
|
android:id="@+id/action_recipeInfoFragment_to_authenticationFragment"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||||
<!-- Base application theme. -->
|
<!-- Base application theme. -->
|
||||||
<style name="Theme.Mealie" parent="Theme.MaterialComponents.DayNight.NoActionBar">
|
<style name="Theme.Mealient" parent="Theme.MaterialComponents.DayNight.NoActionBar">
|
||||||
<!-- Primary brand color. -->
|
<!-- Primary brand color. -->
|
||||||
<item name="colorPrimary">@color/purple_200</item>
|
<item name="colorPrimary">@color/purple_200</item>
|
||||||
<item name="colorPrimaryVariant">@color/purple_700</item>
|
<item name="colorPrimaryVariant">@color/purple_700</item>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<resources>
|
<resources>
|
||||||
<string name="app_name">Mealie</string>
|
<string name="app_name">Mealient</string>
|
||||||
<string name="fragment_authentication_input_hint_email">E-mail</string>
|
<string name="fragment_authentication_input_hint_email">E-mail</string>
|
||||||
<string name="fragment_authentication_input_hint_password">Password</string>
|
<string name="fragment_authentication_input_hint_password">Password</string>
|
||||||
<string name="fragment_authentication_input_hint_url">Url</string>
|
<string name="fragment_authentication_input_hint_url">Url</string>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||||
<!-- Base application theme. -->
|
<!-- Base application theme. -->
|
||||||
<style name="Theme.Mealie" parent="Theme.MaterialComponents.DayNight.NoActionBar">
|
<style name="Theme.Mealient" parent="Theme.MaterialComponents.DayNight.NoActionBar">
|
||||||
<!-- Primary brand color. -->
|
<!-- Primary brand color. -->
|
||||||
<item name="colorPrimary">@color/purple_500</item>
|
<item name="colorPrimary">@color/purple_500</item>
|
||||||
<item name="colorPrimaryVariant">@color/purple_700</item>
|
<item name="colorPrimaryVariant">@color/purple_700</item>
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
package gq.kirmanak.mealie.data.auth.impl
|
package gq.kirmanak.mealient.data.auth.impl
|
||||||
|
|
||||||
import com.google.common.truth.Truth.assertThat
|
import com.google.common.truth.Truth.assertThat
|
||||||
import dagger.hilt.android.testing.HiltAndroidTest
|
import dagger.hilt.android.testing.HiltAndroidTest
|
||||||
import gq.kirmanak.mealie.data.test.AuthImplTestData.TEST_PASSWORD
|
import gq.kirmanak.mealient.data.test.AuthImplTestData.TEST_PASSWORD
|
||||||
import gq.kirmanak.mealie.data.test.AuthImplTestData.TEST_TOKEN
|
import gq.kirmanak.mealient.data.test.AuthImplTestData.TEST_TOKEN
|
||||||
import gq.kirmanak.mealie.data.test.AuthImplTestData.TEST_USERNAME
|
import gq.kirmanak.mealient.data.test.AuthImplTestData.TEST_USERNAME
|
||||||
import gq.kirmanak.mealie.data.test.AuthImplTestData.body
|
import gq.kirmanak.mealient.data.test.AuthImplTestData.body
|
||||||
import gq.kirmanak.mealie.data.test.AuthImplTestData.enqueueSuccessfulAuthResponse
|
import gq.kirmanak.mealient.data.test.AuthImplTestData.enqueueSuccessfulAuthResponse
|
||||||
import gq.kirmanak.mealie.data.test.AuthImplTestData.enqueueUnsuccessfulAuthResponse
|
import gq.kirmanak.mealient.data.test.AuthImplTestData.enqueueUnsuccessfulAuthResponse
|
||||||
import gq.kirmanak.mealie.data.test.MockServerTest
|
import gq.kirmanak.mealient.data.test.MockServerTest
|
||||||
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
||||||
import kotlinx.coroutines.runBlocking
|
import kotlinx.coroutines.runBlocking
|
||||||
import kotlinx.serialization.ExperimentalSerializationApi
|
import kotlinx.serialization.ExperimentalSerializationApi
|
||||||
@@ -1,13 +1,13 @@
|
|||||||
package gq.kirmanak.mealie.data.auth.impl
|
package gq.kirmanak.mealient.data.auth.impl
|
||||||
|
|
||||||
import com.google.common.truth.Truth.assertThat
|
import com.google.common.truth.Truth.assertThat
|
||||||
import dagger.hilt.android.testing.HiltAndroidTest
|
import dagger.hilt.android.testing.HiltAndroidTest
|
||||||
import gq.kirmanak.mealie.data.test.AuthImplTestData.TEST_PASSWORD
|
import gq.kirmanak.mealient.data.test.AuthImplTestData.TEST_PASSWORD
|
||||||
import gq.kirmanak.mealie.data.test.AuthImplTestData.TEST_TOKEN
|
import gq.kirmanak.mealient.data.test.AuthImplTestData.TEST_TOKEN
|
||||||
import gq.kirmanak.mealie.data.test.AuthImplTestData.TEST_USERNAME
|
import gq.kirmanak.mealient.data.test.AuthImplTestData.TEST_USERNAME
|
||||||
import gq.kirmanak.mealie.data.test.AuthImplTestData.enqueueSuccessfulAuthResponse
|
import gq.kirmanak.mealient.data.test.AuthImplTestData.enqueueSuccessfulAuthResponse
|
||||||
import gq.kirmanak.mealie.data.test.AuthImplTestData.enqueueUnsuccessfulAuthResponse
|
import gq.kirmanak.mealient.data.test.AuthImplTestData.enqueueUnsuccessfulAuthResponse
|
||||||
import gq.kirmanak.mealie.data.test.MockServerTest
|
import gq.kirmanak.mealient.data.test.MockServerTest
|
||||||
import kotlinx.coroutines.flow.first
|
import kotlinx.coroutines.flow.first
|
||||||
import kotlinx.coroutines.runBlocking
|
import kotlinx.coroutines.runBlocking
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
package gq.kirmanak.mealie.data.auth.impl
|
package gq.kirmanak.mealient.data.auth.impl
|
||||||
|
|
||||||
import com.google.common.truth.Truth.assertThat
|
import com.google.common.truth.Truth.assertThat
|
||||||
import dagger.hilt.android.testing.HiltAndroidTest
|
import dagger.hilt.android.testing.HiltAndroidTest
|
||||||
import gq.kirmanak.mealie.data.test.AuthImplTestData.TEST_TOKEN
|
import gq.kirmanak.mealient.data.test.AuthImplTestData.TEST_TOKEN
|
||||||
import gq.kirmanak.mealie.data.test.AuthImplTestData.TEST_URL
|
import gq.kirmanak.mealient.data.test.AuthImplTestData.TEST_URL
|
||||||
import gq.kirmanak.mealie.data.test.HiltRobolectricTest
|
import gq.kirmanak.mealient.data.test.HiltRobolectricTest
|
||||||
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
||||||
import kotlinx.coroutines.flow.first
|
import kotlinx.coroutines.flow.first
|
||||||
import kotlinx.coroutines.runBlocking
|
import kotlinx.coroutines.runBlocking
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
package gq.kirmanak.mealie.data.impl
|
package gq.kirmanak.mealient.data.impl
|
||||||
|
|
||||||
import com.google.common.truth.Truth.assertThat
|
import com.google.common.truth.Truth.assertThat
|
||||||
import dagger.hilt.android.testing.HiltAndroidTest
|
import dagger.hilt.android.testing.HiltAndroidTest
|
||||||
import gq.kirmanak.mealie.data.auth.impl.AUTHORIZATION_HEADER
|
import gq.kirmanak.mealient.data.auth.impl.AUTHORIZATION_HEADER
|
||||||
import gq.kirmanak.mealie.data.test.AuthImplTestData.TEST_TOKEN
|
import gq.kirmanak.mealient.data.test.AuthImplTestData.TEST_TOKEN
|
||||||
import gq.kirmanak.mealie.data.test.MockServerTest
|
import gq.kirmanak.mealient.data.test.MockServerTest
|
||||||
import okhttp3.OkHttpClient
|
import okhttp3.OkHttpClient
|
||||||
import okhttp3.Request
|
import okhttp3.Request
|
||||||
import okhttp3.mockwebserver.MockResponse
|
import okhttp3.mockwebserver.MockResponse
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package gq.kirmanak.mealie.data.impl
|
package gq.kirmanak.mealient.data.impl
|
||||||
|
|
||||||
import com.google.common.truth.Truth.assertThat
|
import com.google.common.truth.Truth.assertThat
|
||||||
import kotlinx.datetime.LocalDate
|
import kotlinx.datetime.LocalDate
|
||||||
@@ -1,26 +1,26 @@
|
|||||||
package gq.kirmanak.mealie.data.recipes.db
|
package gq.kirmanak.mealient.data.recipes.db
|
||||||
|
|
||||||
import com.google.common.truth.Truth.assertThat
|
import com.google.common.truth.Truth.assertThat
|
||||||
import dagger.hilt.android.testing.HiltAndroidTest
|
import dagger.hilt.android.testing.HiltAndroidTest
|
||||||
import gq.kirmanak.mealie.data.MealieDb
|
import gq.kirmanak.mealient.data.AppDb
|
||||||
import gq.kirmanak.mealie.data.recipes.db.entity.CategoryEntity
|
import gq.kirmanak.mealient.data.recipes.db.entity.CategoryEntity
|
||||||
import gq.kirmanak.mealie.data.recipes.db.entity.CategoryRecipeEntity
|
import gq.kirmanak.mealient.data.recipes.db.entity.CategoryRecipeEntity
|
||||||
import gq.kirmanak.mealie.data.recipes.db.entity.TagEntity
|
import gq.kirmanak.mealient.data.recipes.db.entity.TagEntity
|
||||||
import gq.kirmanak.mealie.data.recipes.db.entity.TagRecipeEntity
|
import gq.kirmanak.mealient.data.recipes.db.entity.TagRecipeEntity
|
||||||
import gq.kirmanak.mealie.data.test.HiltRobolectricTest
|
import gq.kirmanak.mealient.data.test.HiltRobolectricTest
|
||||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.BREAD_INGREDIENT
|
import gq.kirmanak.mealient.data.test.RecipeImplTestData.BREAD_INGREDIENT
|
||||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.CAKE_BREAD_RECIPE_INGREDIENT_ENTITY
|
import gq.kirmanak.mealient.data.test.RecipeImplTestData.CAKE_BREAD_RECIPE_INGREDIENT_ENTITY
|
||||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.CAKE_RECIPE_SUMMARY_ENTITY
|
import gq.kirmanak.mealient.data.test.RecipeImplTestData.CAKE_RECIPE_SUMMARY_ENTITY
|
||||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.FULL_CAKE_INFO_ENTITY
|
import gq.kirmanak.mealient.data.test.RecipeImplTestData.FULL_CAKE_INFO_ENTITY
|
||||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.FULL_PORRIDGE_INFO_ENTITY
|
import gq.kirmanak.mealient.data.test.RecipeImplTestData.FULL_PORRIDGE_INFO_ENTITY
|
||||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.GET_CAKE_RESPONSE
|
import gq.kirmanak.mealient.data.test.RecipeImplTestData.GET_CAKE_RESPONSE
|
||||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.GET_PORRIDGE_RESPONSE
|
import gq.kirmanak.mealient.data.test.RecipeImplTestData.GET_PORRIDGE_RESPONSE
|
||||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.MIX_CAKE_RECIPE_INSTRUCTION_ENTITY
|
import gq.kirmanak.mealient.data.test.RecipeImplTestData.MIX_CAKE_RECIPE_INSTRUCTION_ENTITY
|
||||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.MIX_INSTRUCTION
|
import gq.kirmanak.mealient.data.test.RecipeImplTestData.MIX_INSTRUCTION
|
||||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.PORRIDGE_RECIPE_SUMMARY_ENTITY
|
import gq.kirmanak.mealient.data.test.RecipeImplTestData.PORRIDGE_RECIPE_SUMMARY_ENTITY
|
||||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.RECIPE_SUMMARY_CAKE
|
import gq.kirmanak.mealient.data.test.RecipeImplTestData.RECIPE_SUMMARY_CAKE
|
||||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.RECIPE_SUMMARY_PORRIDGE
|
import gq.kirmanak.mealient.data.test.RecipeImplTestData.RECIPE_SUMMARY_PORRIDGE
|
||||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.TEST_RECIPE_SUMMARIES
|
import gq.kirmanak.mealient.data.test.RecipeImplTestData.TEST_RECIPE_SUMMARIES
|
||||||
import kotlinx.coroutines.runBlocking
|
import kotlinx.coroutines.runBlocking
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
@@ -32,12 +32,12 @@ class RecipeStorageImplTest : HiltRobolectricTest() {
|
|||||||
lateinit var subject: RecipeStorageImpl
|
lateinit var subject: RecipeStorageImpl
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
lateinit var mealieDb: MealieDb
|
lateinit var appDb: AppDb
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun `when saveRecipes then saves tags`(): Unit = runBlocking {
|
fun `when saveRecipes then saves tags`(): Unit = runBlocking {
|
||||||
subject.saveRecipes(TEST_RECIPE_SUMMARIES)
|
subject.saveRecipes(TEST_RECIPE_SUMMARIES)
|
||||||
val actualTags = mealieDb.recipeDao().queryAllTags()
|
val actualTags = appDb.recipeDao().queryAllTags()
|
||||||
assertThat(actualTags).containsExactly(
|
assertThat(actualTags).containsExactly(
|
||||||
TagEntity(localId = 1, name = "gluten"),
|
TagEntity(localId = 1, name = "gluten"),
|
||||||
TagEntity(localId = 2, name = "allergic"),
|
TagEntity(localId = 2, name = "allergic"),
|
||||||
@@ -48,7 +48,7 @@ class RecipeStorageImplTest : HiltRobolectricTest() {
|
|||||||
@Test
|
@Test
|
||||||
fun `when saveRecipes then saves categories`(): Unit = runBlocking {
|
fun `when saveRecipes then saves categories`(): Unit = runBlocking {
|
||||||
subject.saveRecipes(TEST_RECIPE_SUMMARIES)
|
subject.saveRecipes(TEST_RECIPE_SUMMARIES)
|
||||||
val actual = mealieDb.recipeDao().queryAllCategories()
|
val actual = appDb.recipeDao().queryAllCategories()
|
||||||
assertThat(actual).containsExactly(
|
assertThat(actual).containsExactly(
|
||||||
CategoryEntity(localId = 1, name = "dessert"),
|
CategoryEntity(localId = 1, name = "dessert"),
|
||||||
CategoryEntity(localId = 2, name = "tasty"),
|
CategoryEntity(localId = 2, name = "tasty"),
|
||||||
@@ -59,7 +59,7 @@ class RecipeStorageImplTest : HiltRobolectricTest() {
|
|||||||
@Test
|
@Test
|
||||||
fun `when saveRecipes then saves recipes`(): Unit = runBlocking {
|
fun `when saveRecipes then saves recipes`(): Unit = runBlocking {
|
||||||
subject.saveRecipes(TEST_RECIPE_SUMMARIES)
|
subject.saveRecipes(TEST_RECIPE_SUMMARIES)
|
||||||
val actualTags = mealieDb.recipeDao().queryAllRecipes()
|
val actualTags = appDb.recipeDao().queryAllRecipes()
|
||||||
assertThat(actualTags).containsExactly(
|
assertThat(actualTags).containsExactly(
|
||||||
CAKE_RECIPE_SUMMARY_ENTITY,
|
CAKE_RECIPE_SUMMARY_ENTITY,
|
||||||
PORRIDGE_RECIPE_SUMMARY_ENTITY
|
PORRIDGE_RECIPE_SUMMARY_ENTITY
|
||||||
@@ -69,7 +69,7 @@ class RecipeStorageImplTest : HiltRobolectricTest() {
|
|||||||
@Test
|
@Test
|
||||||
fun `when saveRecipes then saves category recipes`(): Unit = runBlocking {
|
fun `when saveRecipes then saves category recipes`(): Unit = runBlocking {
|
||||||
subject.saveRecipes(TEST_RECIPE_SUMMARIES)
|
subject.saveRecipes(TEST_RECIPE_SUMMARIES)
|
||||||
val actual = mealieDb.recipeDao().queryAllCategoryRecipes()
|
val actual = appDb.recipeDao().queryAllCategoryRecipes()
|
||||||
assertThat(actual).containsExactly(
|
assertThat(actual).containsExactly(
|
||||||
CategoryRecipeEntity(categoryId = 1, recipeId = 1),
|
CategoryRecipeEntity(categoryId = 1, recipeId = 1),
|
||||||
CategoryRecipeEntity(categoryId = 2, recipeId = 1),
|
CategoryRecipeEntity(categoryId = 2, recipeId = 1),
|
||||||
@@ -81,7 +81,7 @@ class RecipeStorageImplTest : HiltRobolectricTest() {
|
|||||||
@Test
|
@Test
|
||||||
fun `when saveRecipes then saves tag recipes`(): Unit = runBlocking {
|
fun `when saveRecipes then saves tag recipes`(): Unit = runBlocking {
|
||||||
subject.saveRecipes(TEST_RECIPE_SUMMARIES)
|
subject.saveRecipes(TEST_RECIPE_SUMMARIES)
|
||||||
val actual = mealieDb.recipeDao().queryAllTagRecipes()
|
val actual = appDb.recipeDao().queryAllTagRecipes()
|
||||||
assertThat(actual).containsExactly(
|
assertThat(actual).containsExactly(
|
||||||
TagRecipeEntity(tagId = 1, recipeId = 1),
|
TagRecipeEntity(tagId = 1, recipeId = 1),
|
||||||
TagRecipeEntity(tagId = 2, recipeId = 1),
|
TagRecipeEntity(tagId = 2, recipeId = 1),
|
||||||
@@ -94,7 +94,7 @@ class RecipeStorageImplTest : HiltRobolectricTest() {
|
|||||||
fun `when refreshAll then old recipes aren't preserved`(): Unit = runBlocking {
|
fun `when refreshAll then old recipes aren't preserved`(): Unit = runBlocking {
|
||||||
subject.saveRecipes(TEST_RECIPE_SUMMARIES)
|
subject.saveRecipes(TEST_RECIPE_SUMMARIES)
|
||||||
subject.refreshAll(listOf(RECIPE_SUMMARY_CAKE))
|
subject.refreshAll(listOf(RECIPE_SUMMARY_CAKE))
|
||||||
val actual = mealieDb.recipeDao().queryAllRecipes()
|
val actual = appDb.recipeDao().queryAllRecipes()
|
||||||
assertThat(actual).containsExactly(CAKE_RECIPE_SUMMARY_ENTITY)
|
assertThat(actual).containsExactly(CAKE_RECIPE_SUMMARY_ENTITY)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -102,7 +102,7 @@ class RecipeStorageImplTest : HiltRobolectricTest() {
|
|||||||
fun `when refreshAll then old category recipes aren't preserved`(): Unit = runBlocking {
|
fun `when refreshAll then old category recipes aren't preserved`(): Unit = runBlocking {
|
||||||
subject.saveRecipes(TEST_RECIPE_SUMMARIES)
|
subject.saveRecipes(TEST_RECIPE_SUMMARIES)
|
||||||
subject.refreshAll(listOf(RECIPE_SUMMARY_CAKE))
|
subject.refreshAll(listOf(RECIPE_SUMMARY_CAKE))
|
||||||
val actual = mealieDb.recipeDao().queryAllCategoryRecipes()
|
val actual = appDb.recipeDao().queryAllCategoryRecipes()
|
||||||
assertThat(actual).containsExactly(
|
assertThat(actual).containsExactly(
|
||||||
CategoryRecipeEntity(categoryId = 1, recipeId = 1),
|
CategoryRecipeEntity(categoryId = 1, recipeId = 1),
|
||||||
CategoryRecipeEntity(categoryId = 2, recipeId = 1),
|
CategoryRecipeEntity(categoryId = 2, recipeId = 1),
|
||||||
@@ -113,7 +113,7 @@ class RecipeStorageImplTest : HiltRobolectricTest() {
|
|||||||
fun `when refreshAll then old tag recipes aren't preserved`(): Unit = runBlocking {
|
fun `when refreshAll then old tag recipes aren't preserved`(): Unit = runBlocking {
|
||||||
subject.saveRecipes(TEST_RECIPE_SUMMARIES)
|
subject.saveRecipes(TEST_RECIPE_SUMMARIES)
|
||||||
subject.refreshAll(listOf(RECIPE_SUMMARY_CAKE))
|
subject.refreshAll(listOf(RECIPE_SUMMARY_CAKE))
|
||||||
val actual = mealieDb.recipeDao().queryAllTagRecipes()
|
val actual = appDb.recipeDao().queryAllTagRecipes()
|
||||||
assertThat(actual).containsExactly(
|
assertThat(actual).containsExactly(
|
||||||
TagRecipeEntity(tagId = 1, recipeId = 1),
|
TagRecipeEntity(tagId = 1, recipeId = 1),
|
||||||
TagRecipeEntity(tagId = 2, recipeId = 1),
|
TagRecipeEntity(tagId = 2, recipeId = 1),
|
||||||
@@ -124,7 +124,7 @@ class RecipeStorageImplTest : HiltRobolectricTest() {
|
|||||||
fun `when clearAllLocalData then recipes aren't preserved`(): Unit = runBlocking {
|
fun `when clearAllLocalData then recipes aren't preserved`(): Unit = runBlocking {
|
||||||
subject.saveRecipes(TEST_RECIPE_SUMMARIES)
|
subject.saveRecipes(TEST_RECIPE_SUMMARIES)
|
||||||
subject.clearAllLocalData()
|
subject.clearAllLocalData()
|
||||||
val actual = mealieDb.recipeDao().queryAllRecipes()
|
val actual = appDb.recipeDao().queryAllRecipes()
|
||||||
assertThat(actual).isEmpty()
|
assertThat(actual).isEmpty()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -132,7 +132,7 @@ class RecipeStorageImplTest : HiltRobolectricTest() {
|
|||||||
fun `when clearAllLocalData then categories aren't preserved`(): Unit = runBlocking {
|
fun `when clearAllLocalData then categories aren't preserved`(): Unit = runBlocking {
|
||||||
subject.saveRecipes(TEST_RECIPE_SUMMARIES)
|
subject.saveRecipes(TEST_RECIPE_SUMMARIES)
|
||||||
subject.clearAllLocalData()
|
subject.clearAllLocalData()
|
||||||
val actual = mealieDb.recipeDao().queryAllCategories()
|
val actual = appDb.recipeDao().queryAllCategories()
|
||||||
assertThat(actual).isEmpty()
|
assertThat(actual).isEmpty()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -140,7 +140,7 @@ class RecipeStorageImplTest : HiltRobolectricTest() {
|
|||||||
fun `when clearAllLocalData then tags aren't preserved`(): Unit = runBlocking {
|
fun `when clearAllLocalData then tags aren't preserved`(): Unit = runBlocking {
|
||||||
subject.saveRecipes(TEST_RECIPE_SUMMARIES)
|
subject.saveRecipes(TEST_RECIPE_SUMMARIES)
|
||||||
subject.clearAllLocalData()
|
subject.clearAllLocalData()
|
||||||
val actual = mealieDb.recipeDao().queryAllTags()
|
val actual = appDb.recipeDao().queryAllTags()
|
||||||
assertThat(actual).isEmpty()
|
assertThat(actual).isEmpty()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -148,7 +148,7 @@ class RecipeStorageImplTest : HiltRobolectricTest() {
|
|||||||
fun `when saveRecipeInfo then saves recipe info`(): Unit = runBlocking {
|
fun `when saveRecipeInfo then saves recipe info`(): Unit = runBlocking {
|
||||||
subject.saveRecipes(listOf(RECIPE_SUMMARY_CAKE))
|
subject.saveRecipes(listOf(RECIPE_SUMMARY_CAKE))
|
||||||
subject.saveRecipeInfo(GET_CAKE_RESPONSE)
|
subject.saveRecipeInfo(GET_CAKE_RESPONSE)
|
||||||
val actual = mealieDb.recipeDao().queryFullRecipeInfo(1)
|
val actual = appDb.recipeDao().queryFullRecipeInfo(1)
|
||||||
assertThat(actual).isEqualTo(FULL_CAKE_INFO_ENTITY)
|
assertThat(actual).isEqualTo(FULL_CAKE_INFO_ENTITY)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -157,7 +157,7 @@ class RecipeStorageImplTest : HiltRobolectricTest() {
|
|||||||
subject.saveRecipes(listOf(RECIPE_SUMMARY_CAKE, RECIPE_SUMMARY_PORRIDGE))
|
subject.saveRecipes(listOf(RECIPE_SUMMARY_CAKE, RECIPE_SUMMARY_PORRIDGE))
|
||||||
subject.saveRecipeInfo(GET_CAKE_RESPONSE)
|
subject.saveRecipeInfo(GET_CAKE_RESPONSE)
|
||||||
subject.saveRecipeInfo(GET_PORRIDGE_RESPONSE)
|
subject.saveRecipeInfo(GET_PORRIDGE_RESPONSE)
|
||||||
val actual = mealieDb.recipeDao().queryFullRecipeInfo(2)
|
val actual = appDb.recipeDao().queryFullRecipeInfo(2)
|
||||||
assertThat(actual).isEqualTo(FULL_PORRIDGE_INFO_ENTITY)
|
assertThat(actual).isEqualTo(FULL_PORRIDGE_INFO_ENTITY)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -167,7 +167,7 @@ class RecipeStorageImplTest : HiltRobolectricTest() {
|
|||||||
subject.saveRecipeInfo(GET_CAKE_RESPONSE)
|
subject.saveRecipeInfo(GET_CAKE_RESPONSE)
|
||||||
val newRecipe = GET_CAKE_RESPONSE.copy(recipeIngredients = listOf(BREAD_INGREDIENT))
|
val newRecipe = GET_CAKE_RESPONSE.copy(recipeIngredients = listOf(BREAD_INGREDIENT))
|
||||||
subject.saveRecipeInfo(newRecipe)
|
subject.saveRecipeInfo(newRecipe)
|
||||||
val actual = mealieDb.recipeDao().queryFullRecipeInfo(1)?.recipeIngredients
|
val actual = appDb.recipeDao().queryFullRecipeInfo(1)?.recipeIngredients
|
||||||
val expected = listOf(CAKE_BREAD_RECIPE_INGREDIENT_ENTITY.copy(localId = 3))
|
val expected = listOf(CAKE_BREAD_RECIPE_INGREDIENT_ENTITY.copy(localId = 3))
|
||||||
assertThat(actual).isEqualTo(expected)
|
assertThat(actual).isEqualTo(expected)
|
||||||
}
|
}
|
||||||
@@ -178,7 +178,7 @@ class RecipeStorageImplTest : HiltRobolectricTest() {
|
|||||||
subject.saveRecipeInfo(GET_CAKE_RESPONSE)
|
subject.saveRecipeInfo(GET_CAKE_RESPONSE)
|
||||||
val newRecipe = GET_CAKE_RESPONSE.copy(recipeInstructions = listOf(MIX_INSTRUCTION))
|
val newRecipe = GET_CAKE_RESPONSE.copy(recipeInstructions = listOf(MIX_INSTRUCTION))
|
||||||
subject.saveRecipeInfo(newRecipe)
|
subject.saveRecipeInfo(newRecipe)
|
||||||
val actual = mealieDb.recipeDao().queryFullRecipeInfo(1)?.recipeInstructions
|
val actual = appDb.recipeDao().queryFullRecipeInfo(1)?.recipeInstructions
|
||||||
val expected = listOf(MIX_CAKE_RECIPE_INSTRUCTION_ENTITY.copy(localId = 3))
|
val expected = listOf(MIX_CAKE_RECIPE_INSTRUCTION_ENTITY.copy(localId = 3))
|
||||||
assertThat(actual).isEqualTo(expected)
|
assertThat(actual).isEqualTo(expected)
|
||||||
}
|
}
|
||||||
@@ -1,15 +1,15 @@
|
|||||||
package gq.kirmanak.mealie.data.recipes.impl
|
package gq.kirmanak.mealient.data.recipes.impl
|
||||||
|
|
||||||
import com.google.common.truth.Truth.assertThat
|
import com.google.common.truth.Truth.assertThat
|
||||||
import dagger.hilt.android.testing.HiltAndroidTest
|
import dagger.hilt.android.testing.HiltAndroidTest
|
||||||
import gq.kirmanak.mealie.data.MealieDb
|
import gq.kirmanak.mealient.data.AppDb
|
||||||
import gq.kirmanak.mealie.data.recipes.RecipeRepo
|
import gq.kirmanak.mealient.data.recipes.RecipeRepo
|
||||||
import gq.kirmanak.mealie.data.recipes.db.RecipeStorage
|
import gq.kirmanak.mealient.data.recipes.db.RecipeStorage
|
||||||
import gq.kirmanak.mealie.data.test.MockServerWithAuthTest
|
import gq.kirmanak.mealient.data.test.MockServerWithAuthTest
|
||||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.FULL_CAKE_INFO_ENTITY
|
import gq.kirmanak.mealient.data.test.RecipeImplTestData.FULL_CAKE_INFO_ENTITY
|
||||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.RECIPE_SUMMARY_CAKE
|
import gq.kirmanak.mealient.data.test.RecipeImplTestData.RECIPE_SUMMARY_CAKE
|
||||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.enqueueSuccessfulGetRecipe
|
import gq.kirmanak.mealient.data.test.RecipeImplTestData.enqueueSuccessfulGetRecipe
|
||||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.enqueueUnsuccessfulRecipeResponse
|
import gq.kirmanak.mealient.data.test.RecipeImplTestData.enqueueUnsuccessfulRecipeResponse
|
||||||
import kotlinx.coroutines.runBlocking
|
import kotlinx.coroutines.runBlocking
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
@@ -23,7 +23,7 @@ class RecipeRepoImplTest : MockServerWithAuthTest() {
|
|||||||
lateinit var storage: RecipeStorage
|
lateinit var storage: RecipeStorage
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
lateinit var mealieDb: MealieDb
|
lateinit var appDb: AppDb
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun `when loadRecipeInfo then loads recipe`(): Unit = runBlocking {
|
fun `when loadRecipeInfo then loads recipe`(): Unit = runBlocking {
|
||||||
@@ -38,7 +38,7 @@ class RecipeRepoImplTest : MockServerWithAuthTest() {
|
|||||||
storage.saveRecipes(listOf(RECIPE_SUMMARY_CAKE))
|
storage.saveRecipes(listOf(RECIPE_SUMMARY_CAKE))
|
||||||
mockServer.enqueueSuccessfulGetRecipe()
|
mockServer.enqueueSuccessfulGetRecipe()
|
||||||
subject.loadRecipeInfo(1, "cake")
|
subject.loadRecipeInfo(1, "cake")
|
||||||
val actual = mealieDb.recipeDao().queryFullRecipeInfo(1)
|
val actual = appDb.recipeDao().queryFullRecipeInfo(1)
|
||||||
assertThat(actual).isEqualTo(FULL_CAKE_INFO_ENTITY)
|
assertThat(actual).isEqualTo(FULL_CAKE_INFO_ENTITY)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1,17 +1,17 @@
|
|||||||
package gq.kirmanak.mealie.data.recipes.impl
|
package gq.kirmanak.mealient.data.recipes.impl
|
||||||
|
|
||||||
import androidx.paging.*
|
import androidx.paging.*
|
||||||
import androidx.paging.LoadType.*
|
import androidx.paging.LoadType.*
|
||||||
import com.google.common.truth.Truth.assertThat
|
import com.google.common.truth.Truth.assertThat
|
||||||
import dagger.hilt.android.testing.HiltAndroidTest
|
import dagger.hilt.android.testing.HiltAndroidTest
|
||||||
import gq.kirmanak.mealie.data.MealieDb
|
import gq.kirmanak.mealient.data.AppDb
|
||||||
import gq.kirmanak.mealie.data.recipes.db.entity.RecipeSummaryEntity
|
import gq.kirmanak.mealient.data.recipes.db.entity.RecipeSummaryEntity
|
||||||
import gq.kirmanak.mealie.data.test.MockServerWithAuthTest
|
import gq.kirmanak.mealient.data.test.MockServerWithAuthTest
|
||||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.CAKE_RECIPE_SUMMARY_ENTITY
|
import gq.kirmanak.mealient.data.test.RecipeImplTestData.CAKE_RECIPE_SUMMARY_ENTITY
|
||||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.PORRIDGE_RECIPE_SUMMARY_ENTITY
|
import gq.kirmanak.mealient.data.test.RecipeImplTestData.PORRIDGE_RECIPE_SUMMARY_ENTITY
|
||||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.TEST_RECIPE_ENTITIES
|
import gq.kirmanak.mealient.data.test.RecipeImplTestData.TEST_RECIPE_ENTITIES
|
||||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.enqueueSuccessfulRecipeSummaryResponse
|
import gq.kirmanak.mealient.data.test.RecipeImplTestData.enqueueSuccessfulRecipeSummaryResponse
|
||||||
import gq.kirmanak.mealie.data.test.RecipeImplTestData.enqueueUnsuccessfulRecipeResponse
|
import gq.kirmanak.mealient.data.test.RecipeImplTestData.enqueueUnsuccessfulRecipeResponse
|
||||||
import kotlinx.coroutines.runBlocking
|
import kotlinx.coroutines.runBlocking
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
@@ -29,7 +29,7 @@ class RecipesRemoteMediatorTest : MockServerWithAuthTest() {
|
|||||||
lateinit var subject: RecipesRemoteMediator
|
lateinit var subject: RecipesRemoteMediator
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
lateinit var mealieDb: MealieDb
|
lateinit var appDb: AppDb
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun `when first load with refresh successful then result success`(): Unit = runBlocking {
|
fun `when first load with refresh successful then result success`(): Unit = runBlocking {
|
||||||
@@ -42,7 +42,7 @@ class RecipesRemoteMediatorTest : MockServerWithAuthTest() {
|
|||||||
fun `when first load with refresh successful then recipes stored`(): Unit = runBlocking {
|
fun `when first load with refresh successful then recipes stored`(): Unit = runBlocking {
|
||||||
mockServer.enqueueSuccessfulRecipeSummaryResponse()
|
mockServer.enqueueSuccessfulRecipeSummaryResponse()
|
||||||
subject.load(REFRESH, pagingState())
|
subject.load(REFRESH, pagingState())
|
||||||
val actual = mealieDb.recipeDao().queryAllRecipes()
|
val actual = appDb.recipeDao().queryAllRecipes()
|
||||||
assertThat(actual).containsExactly(
|
assertThat(actual).containsExactly(
|
||||||
CAKE_RECIPE_SUMMARY_ENTITY,
|
CAKE_RECIPE_SUMMARY_ENTITY,
|
||||||
PORRIDGE_RECIPE_SUMMARY_ENTITY
|
PORRIDGE_RECIPE_SUMMARY_ENTITY
|
||||||
@@ -110,7 +110,7 @@ class RecipesRemoteMediatorTest : MockServerWithAuthTest() {
|
|||||||
mockServer.takeRequest()
|
mockServer.takeRequest()
|
||||||
mockServer.enqueueUnsuccessfulRecipeResponse()
|
mockServer.enqueueUnsuccessfulRecipeResponse()
|
||||||
subject.load(APPEND, pagingState())
|
subject.load(APPEND, pagingState())
|
||||||
val actual = mealieDb.recipeDao().queryAllRecipes()
|
val actual = appDb.recipeDao().queryAllRecipes()
|
||||||
assertThat(actual).isEqualTo(TEST_RECIPE_ENTITIES)
|
assertThat(actual).isEqualTo(TEST_RECIPE_ENTITIES)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package gq.kirmanak.mealie.data.test
|
package gq.kirmanak.mealient.data.test
|
||||||
|
|
||||||
import okhttp3.mockwebserver.MockResponse
|
import okhttp3.mockwebserver.MockResponse
|
||||||
import okhttp3.mockwebserver.MockWebServer
|
import okhttp3.mockwebserver.MockWebServer
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package gq.kirmanak.mealie.data.test
|
package gq.kirmanak.mealient.data.test
|
||||||
|
|
||||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||||
import dagger.hilt.android.testing.HiltAndroidRule
|
import dagger.hilt.android.testing.HiltAndroidRule
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package gq.kirmanak.mealie.data.test
|
package gq.kirmanak.mealient.data.test
|
||||||
|
|
||||||
import okhttp3.mockwebserver.MockWebServer
|
import okhttp3.mockwebserver.MockWebServer
|
||||||
import org.junit.After
|
import org.junit.After
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
package gq.kirmanak.mealie.data.test
|
package gq.kirmanak.mealient.data.test
|
||||||
|
|
||||||
import gq.kirmanak.mealie.data.auth.AuthRepo
|
import gq.kirmanak.mealient.data.auth.AuthRepo
|
||||||
import gq.kirmanak.mealie.data.test.AuthImplTestData.TEST_PASSWORD
|
import gq.kirmanak.mealient.data.test.AuthImplTestData.TEST_PASSWORD
|
||||||
import gq.kirmanak.mealie.data.test.AuthImplTestData.TEST_USERNAME
|
import gq.kirmanak.mealient.data.test.AuthImplTestData.TEST_USERNAME
|
||||||
import gq.kirmanak.mealie.data.test.AuthImplTestData.enqueueSuccessfulAuthResponse
|
import gq.kirmanak.mealient.data.test.AuthImplTestData.enqueueSuccessfulAuthResponse
|
||||||
import kotlinx.coroutines.runBlocking
|
import kotlinx.coroutines.runBlocking
|
||||||
import org.junit.Before
|
import org.junit.Before
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
@@ -1,14 +1,14 @@
|
|||||||
package gq.kirmanak.mealie.data.test
|
package gq.kirmanak.mealient.data.test
|
||||||
|
|
||||||
import gq.kirmanak.mealie.data.recipes.db.entity.RecipeEntity
|
import gq.kirmanak.mealient.data.recipes.db.entity.RecipeEntity
|
||||||
import gq.kirmanak.mealie.data.recipes.db.entity.RecipeIngredientEntity
|
import gq.kirmanak.mealient.data.recipes.db.entity.RecipeIngredientEntity
|
||||||
import gq.kirmanak.mealie.data.recipes.db.entity.RecipeInstructionEntity
|
import gq.kirmanak.mealient.data.recipes.db.entity.RecipeInstructionEntity
|
||||||
import gq.kirmanak.mealie.data.recipes.db.entity.RecipeSummaryEntity
|
import gq.kirmanak.mealient.data.recipes.db.entity.RecipeSummaryEntity
|
||||||
import gq.kirmanak.mealie.data.recipes.impl.FullRecipeInfo
|
import gq.kirmanak.mealient.data.recipes.impl.FullRecipeInfo
|
||||||
import gq.kirmanak.mealie.data.recipes.network.response.GetRecipeIngredientResponse
|
import gq.kirmanak.mealient.data.recipes.network.response.GetRecipeIngredientResponse
|
||||||
import gq.kirmanak.mealie.data.recipes.network.response.GetRecipeInstructionResponse
|
import gq.kirmanak.mealient.data.recipes.network.response.GetRecipeInstructionResponse
|
||||||
import gq.kirmanak.mealie.data.recipes.network.response.GetRecipeResponse
|
import gq.kirmanak.mealient.data.recipes.network.response.GetRecipeResponse
|
||||||
import gq.kirmanak.mealie.data.recipes.network.response.GetRecipeSummaryResponse
|
import gq.kirmanak.mealient.data.recipes.network.response.GetRecipeSummaryResponse
|
||||||
import kotlinx.datetime.LocalDate
|
import kotlinx.datetime.LocalDate
|
||||||
import kotlinx.datetime.LocalDateTime
|
import kotlinx.datetime.LocalDateTime
|
||||||
import okhttp3.mockwebserver.MockResponse
|
import okhttp3.mockwebserver.MockResponse
|
||||||
@@ -5,5 +5,5 @@ dependencyResolutionManagement {
|
|||||||
mavenCentral()
|
mavenCentral()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
rootProject.name = "Mealie"
|
rootProject.name = "Mealient"
|
||||||
include ':app'
|
include ':app'
|
||||||
|
|||||||
Reference in New Issue
Block a user