Convert to my app, so I can continue a fork!

This commit is contained in:
2025-07-31 18:33:10 -06:00
parent dc4ba51896
commit 1b4323c2bb
288 changed files with 1139 additions and 1163 deletions

View File

@@ -2,7 +2,7 @@
Welcome to the Mealient app for Android!
This is an open source Android app developed by Kirill Kamakin. The source code is available on
This is an open source Android app developed by Kirill Kamakin and forked by Atridad Lahiji. The source code is available on
GitHub under the MIT license; the app is also available on Google Play.
I hereby state, to the best of my knowledge and belief, that I have not programmed this app to
@@ -11,6 +11,4 @@ the Mealie server(s) that you connect to. It can be removed by the administrator
server(s).
Yours sincerely,
Kirill Kamakin.
Stockholm, Sweden
mealient@gmail.com
Kirill Kamakin and Atridad Lahiji

View File

@@ -1,19 +1,5 @@
[![Crowdin](https://badges.crowdin.net/mealient/localized.svg)](https://crowdin.com/project/mealient)
<a href='https://play.google.com/store/apps/details?id=gq.kirmanak.mealient&utm_source=github&utm_campaign=readme&pcampaignid=pcampaignidMKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1'><img width="200" alt='Get it on Google Play' src='https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png'/></a>
<a href="https://f-droid.org/packages/gq.kirmanak.mealient">
<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png"
alt="Get it on F-Droid"
height="80">
</a>
# Mealient
## DEPRECATION
Thank you for your interest in Mealient! This project is no longer maintained, so feel free to fork and develop it independently.
## DISCLAIMER
This project is developed independently from the core Mealie project. It is NOT associated with the
@@ -34,16 +20,9 @@ Displays the list of recipes, some information about each of the recipes, even r
available!
The list of shopping lists is also available, each shopping list can be viewed and modified.
## Screenshots
<img src="https://github.com/kirmanak/Mealient/blob/master/fastlane/metadata/android/en-US/images/phoneScreenshots/1.png?raw=true" width="236" height="500" /> <img src="https://github.com/kirmanak/Mealient/blob/master/fastlane/metadata/android/en-US/images/phoneScreenshots/2.png?raw=true" width="236" height="500" /> <img src="https://github.com/kirmanak/Mealient/blob/master/fastlane/metadata/android/en-US/images/phoneScreenshots/3.png?raw=true" width="236" height="500" /> <img src="https://github.com/kirmanak/Mealient/blob/master/fastlane/metadata/android/en-US/images/phoneScreenshots/4.png?raw=true" width="236" height="500" /> <img src="https://github.com/kirmanak/Mealient/blob/master/fastlane/metadata/android/en-US/images/phoneScreenshots/5.png?raw=true" width="236" height="500" /> <img src="https://github.com/kirmanak/Mealient/blob/master/fastlane/metadata/android/en-US/images/phoneScreenshots/6.png?raw=true" width="236" height="500" />
## How to install
There are three ways:
1. Install it with Google Play using the badge above.
2. Install it with F-droid using the badge above.
3. Download the latest apk from the releases page.
Download the latest apk from the releases page.
## Contribution

View File

@@ -4,18 +4,18 @@ import java.io.FileInputStream
import java.util.Properties
plugins {
id("gq.kirmanak.mealient.application")
id("com.atridad.mealient.application")
id("dagger.hilt.android.plugin")
alias(libs.plugins.ksp)
id("gq.kirmanak.mealient.compose.app")
id("com.atridad.mealient.compose.app")
}
android {
defaultConfig {
applicationId = "gq.kirmanak.mealient"
applicationId = "com.atridad.mealient"
versionCode = 37
versionName = "0.4.8"
testInstrumentationRunner = "gq.kirmanak.mealient.MealientTestRunner"
testInstrumentationRunner = "com.atridad.mealient.MealientTestRunner"
testInstrumentationRunnerArguments += mapOf("clearPackageData" to "true")
resourceConfigurations += listOf("en", "es", "ru", "fr", "nl", "pt", "de")
}
@@ -50,7 +50,7 @@ android {
}
}
namespace = "gq.kirmanak.mealient"
namespace = "com.atridad.mealient"
packaging {
resources.excludes += "DebugProbesKt.bin"
@@ -145,25 +145,25 @@ kover {
filters {
excludes {
classes(
"gq.kirmanak.mealient.datastore.recipe.AddRecipeInput*", // generated by data store
"com.atridad.mealient.datastore.recipe.AddRecipeInput*", // generated by data store
"*ComposableSingletons*", // generated by Compose
"gq.kirmanak.mealient.database.AppDb_Impl*", // generated by Room
"com.atridad.mealient.database.AppDb_Impl*", // generated by Room
"*Dao_Impl*", // generated by Room
"*Hilt_*", // generated by Hilt
)
packages(
"gq.kirmanak.mealient*.destinations", // generated by Compose destinations
"com.atridad.mealient*.destinations", // generated by Compose destinations
)
annotatedBy(
"androidx.compose.ui.tooling.preview.Preview",
"gq.kirmanak.mealient.ui.preview.ColorSchemePreview",
"com.atridad.mealient.ui.preview.ColorSchemePreview",
"androidx.compose.runtime.Composable",
"dagger.Module",
"dagger.internal.DaggerGenerated",
)
}
includes {
packages("gq.kirmanak.mealient")
packages("com.atridad.mealient")
}
}
variant("release") {

View File

@@ -1,11 +1,11 @@
package gq.kirmanak.mealient
package com.atridad.mealient
import androidx.compose.ui.test.junit4.createAndroidComposeRule
import com.kaspersky.components.composesupport.config.withComposeSupport
import com.kaspersky.kaspresso.kaspresso.Kaspresso
import com.kaspersky.kaspresso.testcases.api.testcase.TestCase
import dagger.hilt.android.testing.HiltAndroidRule
import gq.kirmanak.mealient.ui.activity.MainActivity
import com.atridad.mealient.ui.activity.MainActivity
import okhttp3.mockwebserver.MockWebServer
import org.junit.After
import org.junit.Before

View File

@@ -1,11 +1,11 @@
package gq.kirmanak.mealient
package com.atridad.mealient
import dagger.hilt.android.testing.HiltAndroidTest
import gq.kirmanak.mealient.screen.AuthenticationScreen
import gq.kirmanak.mealient.screen.BaseUrlScreen
import gq.kirmanak.mealient.screen.DisclaimerScreen
import gq.kirmanak.mealient.screen.RecipesListScreen
import gq.kirmanak.mealient.ui.disclaimer.DisclaimerViewModel
import com.atridad.mealient.screen.AuthenticationScreen
import com.atridad.mealient.screen.BaseUrlScreen
import com.atridad.mealient.screen.DisclaimerScreen
import com.atridad.mealient.screen.RecipesListScreen
import com.atridad.mealient.ui.disclaimer.DisclaimerViewModel
import io.github.kakaocup.compose.node.element.ComposeScreen.Companion.onComposeScreen
import io.github.kakaocup.kakao.common.utilities.getResourceString
import org.junit.Before

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient
package com.atridad.mealient
import android.app.Application
import android.content.Context

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient
package com.atridad.mealient
import android.util.Log
import okhttp3.mockwebserver.Dispatcher

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.screen
package com.atridad.mealient.screen
import androidx.compose.ui.test.SemanticsNodeInteractionsProvider
import io.github.kakaocup.compose.node.element.ComposeScreen

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.screen
package com.atridad.mealient.screen
import androidx.compose.ui.test.SemanticsNodeInteractionsProvider
import io.github.kakaocup.compose.node.element.ComposeScreen

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.screen
package com.atridad.mealient.screen
import androidx.compose.ui.test.SemanticsNodeInteractionsProvider
import io.github.kakaocup.compose.node.element.ComposeScreen

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.screen
package com.atridad.mealient.screen
import io.github.kakaocup.compose.node.builder.ViewBuilder
import io.github.kakaocup.compose.node.core.BaseNode

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.screen
package com.atridad.mealient.screen
import androidx.compose.ui.test.SemanticsNodeInteractionsProvider
import io.github.kakaocup.compose.node.element.ComposeScreen

View File

@@ -6,7 +6,7 @@
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application
android:name="gq.kirmanak.mealient.App"
android:name="com.atridad.mealient.App"
android:allowBackup="false"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/full_backup_rules"

View File

@@ -1,13 +1,13 @@
package gq.kirmanak.mealient
package com.atridad.mealient
import android.app.Application
import coil.Coil
import coil.ImageLoader
import com.google.android.material.color.DynamicColors
import dagger.hilt.android.HiltAndroidApp
import gq.kirmanak.mealient.architecture.configuration.BuildConfiguration
import gq.kirmanak.mealient.data.migration.MigrationDetector
import gq.kirmanak.mealient.logging.Logger
import com.atridad.mealient.architecture.configuration.BuildConfiguration
import com.atridad.mealient.data.migration.MigrationDetector
import com.atridad.mealient.logging.Logger
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.Job

View File

@@ -0,0 +1,8 @@
package com.atridad.mealient.data.add
import com.atridad.mealient.datasource.models.AddRecipeInfo
interface AddRecipeDataSource {
suspend fun addRecipe(recipe: AddRecipeInfo): String
}

View File

@@ -1,6 +1,6 @@
package gq.kirmanak.mealient.data.add
package com.atridad.mealient.data.add
import gq.kirmanak.mealient.datasource.models.AddRecipeInfo
import com.atridad.mealient.datasource.models.AddRecipeInfo
import kotlinx.coroutines.flow.Flow
interface AddRecipeRepo {

View File

@@ -1,11 +1,11 @@
package gq.kirmanak.mealient.data.add.impl
package com.atridad.mealient.data.add.impl
import gq.kirmanak.mealient.data.add.AddRecipeDataSource
import gq.kirmanak.mealient.data.add.AddRecipeRepo
import gq.kirmanak.mealient.datasource.models.AddRecipeInfo
import gq.kirmanak.mealient.datastore.recipe.AddRecipeStorage
import gq.kirmanak.mealient.logging.Logger
import gq.kirmanak.mealient.model_mapper.ModelMapper
import com.atridad.mealient.data.add.AddRecipeDataSource
import com.atridad.mealient.data.add.AddRecipeRepo
import com.atridad.mealient.datasource.models.AddRecipeInfo
import com.atridad.mealient.datastore.recipe.AddRecipeStorage
import com.atridad.mealient.logging.Logger
import com.atridad.mealient.model_mapper.ModelMapper
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.first
import kotlinx.coroutines.flow.map

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.data.auth
package com.atridad.mealient.data.auth
interface AuthDataSource {
/**

View File

@@ -1,6 +1,6 @@
package gq.kirmanak.mealient.data.auth
package com.atridad.mealient.data.auth
import gq.kirmanak.mealient.shopping_lists.repo.ShoppingListsAuthRepo
import com.atridad.mealient.shopping_lists.repo.ShoppingListsAuthRepo
import kotlinx.coroutines.flow.Flow
interface AuthRepo : ShoppingListsAuthRepo {

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.data.auth
package com.atridad.mealient.data.auth
import kotlinx.coroutines.flow.Flow

View File

@@ -1,8 +1,8 @@
package gq.kirmanak.mealient.data.auth.impl
package com.atridad.mealient.data.auth.impl
import gq.kirmanak.mealient.data.auth.AuthDataSource
import gq.kirmanak.mealient.datasource.MealieDataSource
import gq.kirmanak.mealient.datasource.models.CreateApiTokenRequest
import com.atridad.mealient.data.auth.AuthDataSource
import com.atridad.mealient.datasource.MealieDataSource
import com.atridad.mealient.datasource.models.CreateApiTokenRequest
import javax.inject.Inject
class AuthDataSourceImpl @Inject constructor(

View File

@@ -1,10 +1,10 @@
package gq.kirmanak.mealient.data.auth.impl
package com.atridad.mealient.data.auth.impl
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.datasource.AuthenticationProvider
import gq.kirmanak.mealient.logging.Logger
import com.atridad.mealient.data.auth.AuthDataSource
import com.atridad.mealient.data.auth.AuthRepo
import com.atridad.mealient.data.auth.AuthStorage
import com.atridad.mealient.datasource.AuthenticationProvider
import com.atridad.mealient.logging.Logger
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.map
import javax.inject.Inject

View File

@@ -1,13 +1,13 @@
package gq.kirmanak.mealient.data.auth.impl
package com.atridad.mealient.data.auth.impl
import android.content.SharedPreferences
import androidx.annotation.VisibleForTesting
import androidx.core.content.edit
import gq.kirmanak.mealient.data.auth.AuthStorage
import gq.kirmanak.mealient.datasource.TokenChangeListener
import gq.kirmanak.mealient.datastore.DataStoreModule.Companion.ENCRYPTED
import gq.kirmanak.mealient.extensions.prefsChangeFlow
import gq.kirmanak.mealient.logging.Logger
import com.atridad.mealient.data.auth.AuthStorage
import com.atridad.mealient.datasource.TokenChangeListener
import com.atridad.mealient.datastore.DataStoreModule.Companion.ENCRYPTED
import com.atridad.mealient.extensions.prefsChangeFlow
import com.atridad.mealient.logging.Logger
import kotlinx.coroutines.asCoroutineDispatcher
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.distinctUntilChanged

View File

@@ -1,6 +1,6 @@
package gq.kirmanak.mealient.data.auth.impl
package com.atridad.mealient.data.auth.impl
import gq.kirmanak.mealient.logging.LogRedactor
import com.atridad.mealient.logging.LogRedactor
import kotlinx.coroutines.flow.MutableStateFlow
import java.net.URLEncoder
import javax.inject.Inject

View File

@@ -1,6 +1,6 @@
package gq.kirmanak.mealient.data.baseurl
package com.atridad.mealient.data.baseurl
import gq.kirmanak.mealient.datasource.models.VersionResponse
import com.atridad.mealient.datasource.models.VersionResponse
import kotlinx.coroutines.flow.Flow
interface ServerInfoRepo {

View File

@@ -1,8 +1,8 @@
package gq.kirmanak.mealient.data.baseurl
package com.atridad.mealient.data.baseurl
import gq.kirmanak.mealient.datasource.ServerUrlProvider
import gq.kirmanak.mealient.datasource.models.VersionResponse
import gq.kirmanak.mealient.logging.Logger
import com.atridad.mealient.datasource.ServerUrlProvider
import com.atridad.mealient.datasource.models.VersionResponse
import com.atridad.mealient.logging.Logger
import kotlinx.coroutines.flow.Flow
import javax.inject.Inject

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.data.baseurl
package com.atridad.mealient.data.baseurl
import kotlinx.coroutines.flow.Flow

View File

@@ -0,0 +1,8 @@
package com.atridad.mealient.data.baseurl
import com.atridad.mealient.datasource.models.VersionResponse
interface VersionDataSource {
suspend fun requestVersion(baseURL: String): VersionResponse
}

View File

@@ -1,7 +1,7 @@
package gq.kirmanak.mealient.data.baseurl
package com.atridad.mealient.data.baseurl
import gq.kirmanak.mealient.datasource.MealieDataSource
import gq.kirmanak.mealient.datasource.models.VersionResponse
import com.atridad.mealient.datasource.MealieDataSource
import com.atridad.mealient.datasource.models.VersionResponse
import javax.inject.Inject
class VersionDataSourceImpl @Inject constructor(

View File

@@ -1,9 +1,9 @@
package gq.kirmanak.mealient.data.baseurl.impl
package com.atridad.mealient.data.baseurl.impl
import androidx.core.net.toUri
import gq.kirmanak.mealient.architecture.configuration.AppDispatchers
import gq.kirmanak.mealient.data.storage.PreferencesStorage
import gq.kirmanak.mealient.logging.LogRedactor
import com.atridad.mealient.architecture.configuration.AppDispatchers
import com.atridad.mealient.data.storage.PreferencesStorage
import com.atridad.mealient.logging.LogRedactor
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.SupervisorJob
import kotlinx.coroutines.flow.MutableStateFlow

View File

@@ -1,8 +1,8 @@
package gq.kirmanak.mealient.data.baseurl.impl
package com.atridad.mealient.data.baseurl.impl
import androidx.datastore.preferences.core.Preferences
import gq.kirmanak.mealient.data.baseurl.ServerInfoStorage
import gq.kirmanak.mealient.data.storage.PreferencesStorage
import com.atridad.mealient.data.baseurl.ServerInfoStorage
import com.atridad.mealient.data.storage.PreferencesStorage
import kotlinx.coroutines.flow.Flow
import javax.inject.Inject

View File

@@ -1,7 +1,7 @@
package gq.kirmanak.mealient.data.configuration
package com.atridad.mealient.data.configuration
import gq.kirmanak.mealient.BuildConfig
import gq.kirmanak.mealient.architecture.configuration.BuildConfiguration
import com.atridad.mealient.BuildConfig
import com.atridad.mealient.architecture.configuration.BuildConfiguration
import javax.inject.Inject
class BuildConfigurationImpl @Inject constructor() : BuildConfiguration {

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.data.disclaimer
package com.atridad.mealient.data.disclaimer
import kotlinx.coroutines.flow.Flow

View File

@@ -1,8 +1,8 @@
package gq.kirmanak.mealient.data.disclaimer
package com.atridad.mealient.data.disclaimer
import androidx.datastore.preferences.core.Preferences
import gq.kirmanak.mealient.data.storage.PreferencesStorage
import gq.kirmanak.mealient.logging.Logger
import com.atridad.mealient.data.storage.PreferencesStorage
import com.atridad.mealient.logging.Logger
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.map
import javax.inject.Inject

View File

@@ -1,11 +1,11 @@
package gq.kirmanak.mealient.data.migration
package com.atridad.mealient.data.migration
import android.content.SharedPreferences
import androidx.core.content.edit
import gq.kirmanak.mealient.data.auth.AuthRepo
import gq.kirmanak.mealient.datasource.runCatchingExceptCancel
import gq.kirmanak.mealient.datastore.DataStoreModule.Companion.ENCRYPTED
import gq.kirmanak.mealient.logging.Logger
import com.atridad.mealient.data.auth.AuthRepo
import com.atridad.mealient.datasource.runCatchingExceptCancel
import com.atridad.mealient.datastore.DataStoreModule.Companion.ENCRYPTED
import com.atridad.mealient.logging.Logger
import javax.inject.Inject
import javax.inject.Named

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.data.migration
package com.atridad.mealient.data.migration
import android.content.SharedPreferences
import androidx.core.content.edit
@@ -6,7 +6,7 @@ import androidx.datastore.core.DataStore
import androidx.datastore.preferences.core.Preferences
import androidx.datastore.preferences.core.edit
import androidx.datastore.preferences.core.stringPreferencesKey
import gq.kirmanak.mealient.datastore.DataStoreModule
import com.atridad.mealient.datastore.DataStoreModule
import javax.inject.Inject
import javax.inject.Named

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.data.migration
package com.atridad.mealient.data.migration
interface MigrationDetector {

View File

@@ -1,9 +1,9 @@
package gq.kirmanak.mealient.data.migration
package com.atridad.mealient.data.migration
import gq.kirmanak.mealient.architecture.configuration.BuildConfiguration
import gq.kirmanak.mealient.data.storage.PreferencesStorage
import gq.kirmanak.mealient.datasource.runCatchingExceptCancel
import gq.kirmanak.mealient.logging.Logger
import com.atridad.mealient.architecture.configuration.BuildConfiguration
import com.atridad.mealient.data.storage.PreferencesStorage
import com.atridad.mealient.datasource.runCatchingExceptCancel
import com.atridad.mealient.logging.Logger
import javax.inject.Inject
class MigrationDetectorImpl @Inject constructor(

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.data.migration
package com.atridad.mealient.data.migration
interface MigrationExecutor {

View File

@@ -1,14 +1,14 @@
package gq.kirmanak.mealient.data.network
package com.atridad.mealient.data.network
import gq.kirmanak.mealient.data.add.AddRecipeDataSource
import gq.kirmanak.mealient.data.recipes.network.RecipeDataSource
import gq.kirmanak.mealient.data.share.ParseRecipeDataSource
import gq.kirmanak.mealient.datasource.MealieDataSource
import gq.kirmanak.mealient.datasource.models.AddRecipeInfo
import gq.kirmanak.mealient.datasource.models.GetRecipeResponse
import gq.kirmanak.mealient.datasource.models.GetRecipeSummaryResponse
import gq.kirmanak.mealient.datasource.models.ParseRecipeURLRequest
import gq.kirmanak.mealient.model_mapper.ModelMapper
import com.atridad.mealient.data.add.AddRecipeDataSource
import com.atridad.mealient.data.recipes.network.RecipeDataSource
import com.atridad.mealient.data.share.ParseRecipeDataSource
import com.atridad.mealient.datasource.MealieDataSource
import com.atridad.mealient.datasource.models.AddRecipeInfo
import com.atridad.mealient.datasource.models.GetRecipeResponse
import com.atridad.mealient.datasource.models.GetRecipeSummaryResponse
import com.atridad.mealient.datasource.models.ParseRecipeURLRequest
import com.atridad.mealient.model_mapper.ModelMapper
import javax.inject.Inject
class MealieDataSourceWrapper @Inject constructor(

View File

@@ -1,8 +1,8 @@
package gq.kirmanak.mealient.data.recipes
package com.atridad.mealient.data.recipes
import androidx.paging.Pager
import gq.kirmanak.mealient.database.recipe.entity.RecipeSummaryEntity
import gq.kirmanak.mealient.database.recipe.entity.RecipeWithSummaryAndIngredientsAndInstructions
import com.atridad.mealient.database.recipe.entity.RecipeSummaryEntity
import com.atridad.mealient.database.recipe.entity.RecipeWithSummaryAndIngredientsAndInstructions
interface RecipeRepo {

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.data.recipes.impl
package com.atridad.mealient.data.recipes.impl
interface RecipeImageUrlProvider {

View File

@@ -1,8 +1,8 @@
package gq.kirmanak.mealient.data.recipes.impl
package com.atridad.mealient.data.recipes.impl
import android.net.Uri
import gq.kirmanak.mealient.data.baseurl.ServerInfoRepo
import gq.kirmanak.mealient.logging.Logger
import com.atridad.mealient.data.baseurl.ServerInfoRepo
import com.atridad.mealient.logging.Logger
import javax.inject.Inject
class RecipeImageUrlProviderImpl @Inject constructor(

View File

@@ -1,7 +1,7 @@
package gq.kirmanak.mealient.data.recipes.impl
package com.atridad.mealient.data.recipes.impl
import androidx.paging.PagingSource
import gq.kirmanak.mealient.database.recipe.entity.RecipeSummaryEntity
import com.atridad.mealient.database.recipe.entity.RecipeSummaryEntity
interface RecipePagingSourceFactory : () -> PagingSource<Int, RecipeSummaryEntity> {
fun setQuery(newQuery: String?)

View File

@@ -1,8 +1,8 @@
package gq.kirmanak.mealient.data.recipes.impl
package com.atridad.mealient.data.recipes.impl
import androidx.paging.InvalidatingPagingSourceFactory
import gq.kirmanak.mealient.database.recipe.RecipeStorage
import gq.kirmanak.mealient.logging.Logger
import com.atridad.mealient.database.recipe.RecipeStorage
import com.atridad.mealient.logging.Logger
import java.util.concurrent.atomic.AtomicReference
import javax.inject.Inject
import javax.inject.Singleton

View File

@@ -1,17 +1,17 @@
package gq.kirmanak.mealient.data.recipes.impl
package com.atridad.mealient.data.recipes.impl
import androidx.paging.ExperimentalPagingApi
import androidx.paging.Pager
import androidx.paging.PagingConfig
import gq.kirmanak.mealient.data.recipes.RecipeRepo
import gq.kirmanak.mealient.data.recipes.network.RecipeDataSource
import gq.kirmanak.mealient.database.recipe.RecipeStorage
import gq.kirmanak.mealient.database.recipe.entity.RecipeIngredientToInstructionEntity
import gq.kirmanak.mealient.database.recipe.entity.RecipeSummaryEntity
import gq.kirmanak.mealient.database.recipe.entity.RecipeWithSummaryAndIngredientsAndInstructions
import gq.kirmanak.mealient.datasource.runCatchingExceptCancel
import gq.kirmanak.mealient.logging.Logger
import gq.kirmanak.mealient.model_mapper.ModelMapper
import com.atridad.mealient.data.recipes.RecipeRepo
import com.atridad.mealient.data.recipes.network.RecipeDataSource
import com.atridad.mealient.database.recipe.RecipeStorage
import com.atridad.mealient.database.recipe.entity.RecipeIngredientToInstructionEntity
import com.atridad.mealient.database.recipe.entity.RecipeSummaryEntity
import com.atridad.mealient.database.recipe.entity.RecipeWithSummaryAndIngredientsAndInstructions
import com.atridad.mealient.datasource.runCatchingExceptCancel
import com.atridad.mealient.logging.Logger
import com.atridad.mealient.model_mapper.ModelMapper
import javax.inject.Inject
@OptIn(ExperimentalPagingApi::class)

View File

@@ -1,16 +1,16 @@
package gq.kirmanak.mealient.data.recipes.impl
package com.atridad.mealient.data.recipes.impl
import androidx.annotation.VisibleForTesting
import androidx.paging.*
import androidx.paging.LoadType.PREPEND
import androidx.paging.LoadType.REFRESH
import gq.kirmanak.mealient.architecture.configuration.AppDispatchers
import gq.kirmanak.mealient.data.recipes.network.RecipeDataSource
import gq.kirmanak.mealient.database.recipe.RecipeStorage
import gq.kirmanak.mealient.database.recipe.entity.RecipeSummaryEntity
import gq.kirmanak.mealient.datasource.runCatchingExceptCancel
import gq.kirmanak.mealient.logging.Logger
import gq.kirmanak.mealient.model_mapper.ModelMapper
import com.atridad.mealient.architecture.configuration.AppDispatchers
import com.atridad.mealient.data.recipes.network.RecipeDataSource
import com.atridad.mealient.database.recipe.RecipeStorage
import com.atridad.mealient.database.recipe.entity.RecipeSummaryEntity
import com.atridad.mealient.datasource.runCatchingExceptCancel
import com.atridad.mealient.logging.Logger
import com.atridad.mealient.model_mapper.ModelMapper
import kotlinx.coroutines.async
import kotlinx.coroutines.coroutineScope
import kotlinx.coroutines.withContext

View File

@@ -1,7 +1,7 @@
package gq.kirmanak.mealient.data.recipes.network
package com.atridad.mealient.data.recipes.network
import gq.kirmanak.mealient.datasource.models.GetRecipeResponse
import gq.kirmanak.mealient.datasource.models.GetRecipeSummaryResponse
import com.atridad.mealient.datasource.models.GetRecipeResponse
import com.atridad.mealient.datasource.models.GetRecipeSummaryResponse
interface RecipeDataSource {
suspend fun requestRecipes(start: Int, limit: Int): List<GetRecipeSummaryResponse>

View File

@@ -1,6 +1,6 @@
package gq.kirmanak.mealient.data.share
package com.atridad.mealient.data.share
import gq.kirmanak.mealient.datasource.models.ParseRecipeURLRequest
import com.atridad.mealient.datasource.models.ParseRecipeURLRequest
interface ParseRecipeDataSource {

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.data.share
package com.atridad.mealient.data.share
interface ShareRecipeRepo {

View File

@@ -1,8 +1,8 @@
package gq.kirmanak.mealient.data.share
package com.atridad.mealient.data.share
import androidx.core.util.PatternsCompat
import gq.kirmanak.mealient.datasource.models.ParseRecipeURLRequest
import gq.kirmanak.mealient.logging.Logger
import com.atridad.mealient.datasource.models.ParseRecipeURLRequest
import com.atridad.mealient.logging.Logger
import javax.inject.Inject
class ShareRecipeRepoImpl @Inject constructor(

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.data.storage
package com.atridad.mealient.data.storage
import androidx.datastore.preferences.core.Preferences
import kotlinx.coroutines.flow.Flow

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.data.storage
package com.atridad.mealient.data.storage
import androidx.datastore.core.DataStore
import androidx.datastore.preferences.core.Preferences
@@ -6,7 +6,7 @@ import androidx.datastore.preferences.core.booleanPreferencesKey
import androidx.datastore.preferences.core.edit
import androidx.datastore.preferences.core.intPreferencesKey
import androidx.datastore.preferences.core.stringPreferencesKey
import gq.kirmanak.mealient.logging.Logger
import com.atridad.mealient.logging.Logger
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.distinctUntilChanged
import kotlinx.coroutines.flow.first

View File

@@ -1,15 +1,15 @@
package gq.kirmanak.mealient.di
package com.atridad.mealient.di
import dagger.Binds
import dagger.Module
import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent
import gq.kirmanak.mealient.data.add.AddRecipeDataSource
import gq.kirmanak.mealient.data.add.AddRecipeRepo
import gq.kirmanak.mealient.data.add.impl.AddRecipeRepoImpl
import gq.kirmanak.mealient.data.network.MealieDataSourceWrapper
import gq.kirmanak.mealient.datastore.recipe.AddRecipeStorage
import gq.kirmanak.mealient.datastore.recipe.AddRecipeStorageImpl
import com.atridad.mealient.data.add.AddRecipeDataSource
import com.atridad.mealient.data.add.AddRecipeRepo
import com.atridad.mealient.data.add.impl.AddRecipeRepoImpl
import com.atridad.mealient.data.network.MealieDataSourceWrapper
import com.atridad.mealient.datastore.recipe.AddRecipeStorage
import com.atridad.mealient.datastore.recipe.AddRecipeStorageImpl
@Module
@InstallIn(SingletonComponent::class)

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.di
package com.atridad.mealient.di
import android.content.Context
import androidx.datastore.core.DataStore
@@ -12,8 +12,8 @@ import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.android.qualifiers.ApplicationContext
import dagger.hilt.components.SingletonComponent
import gq.kirmanak.mealient.data.storage.PreferencesStorage
import gq.kirmanak.mealient.data.storage.PreferencesStorageImpl
import com.atridad.mealient.data.storage.PreferencesStorage
import com.atridad.mealient.data.storage.PreferencesStorageImpl
import okhttp3.OkHttpClient
import javax.inject.Singleton

View File

@@ -1,11 +1,11 @@
package gq.kirmanak.mealient.di
package com.atridad.mealient.di
import dagger.Binds
import dagger.Module
import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent
import gq.kirmanak.mealient.architecture.configuration.BuildConfiguration
import gq.kirmanak.mealient.data.configuration.BuildConfigurationImpl
import com.atridad.mealient.architecture.configuration.BuildConfiguration
import com.atridad.mealient.data.configuration.BuildConfigurationImpl
@Module
@InstallIn(SingletonComponent::class)

View File

@@ -1,20 +1,20 @@
package gq.kirmanak.mealient.di
package com.atridad.mealient.di
import dagger.Binds
import dagger.Module
import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent
import dagger.multibindings.IntoSet
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.AuthRepoImpl
import gq.kirmanak.mealient.data.auth.impl.AuthStorageImpl
import gq.kirmanak.mealient.data.auth.impl.CredentialsLogRedactor
import gq.kirmanak.mealient.datasource.AuthenticationProvider
import gq.kirmanak.mealient.logging.LogRedactor
import gq.kirmanak.mealient.shopping_lists.repo.ShoppingListsAuthRepo
import com.atridad.mealient.data.auth.AuthDataSource
import com.atridad.mealient.data.auth.AuthRepo
import com.atridad.mealient.data.auth.AuthStorage
import com.atridad.mealient.data.auth.impl.AuthDataSourceImpl
import com.atridad.mealient.data.auth.impl.AuthRepoImpl
import com.atridad.mealient.data.auth.impl.AuthStorageImpl
import com.atridad.mealient.data.auth.impl.CredentialsLogRedactor
import com.atridad.mealient.datasource.AuthenticationProvider
import com.atridad.mealient.logging.LogRedactor
import com.atridad.mealient.shopping_lists.repo.ShoppingListsAuthRepo
@Module
@InstallIn(SingletonComponent::class)

View File

@@ -1,15 +1,15 @@
package gq.kirmanak.mealient.di
package com.atridad.mealient.di
import dagger.Binds
import dagger.Module
import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent
import dagger.multibindings.IntoSet
import gq.kirmanak.mealient.data.baseurl.*
import gq.kirmanak.mealient.data.baseurl.impl.BaseUrlLogRedactor
import gq.kirmanak.mealient.data.baseurl.impl.ServerInfoStorageImpl
import gq.kirmanak.mealient.datasource.ServerUrlProvider
import gq.kirmanak.mealient.logging.LogRedactor
import com.atridad.mealient.data.baseurl.*
import com.atridad.mealient.data.baseurl.impl.BaseUrlLogRedactor
import com.atridad.mealient.data.baseurl.impl.ServerInfoStorageImpl
import com.atridad.mealient.datasource.ServerUrlProvider
import com.atridad.mealient.logging.LogRedactor
@Module
@InstallIn(SingletonComponent::class)

View File

@@ -1,11 +1,11 @@
package gq.kirmanak.mealient.di
package com.atridad.mealient.di
import dagger.Binds
import dagger.Module
import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent
import gq.kirmanak.mealient.data.disclaimer.DisclaimerStorage
import gq.kirmanak.mealient.data.disclaimer.DisclaimerStorageImpl
import com.atridad.mealient.data.disclaimer.DisclaimerStorage
import com.atridad.mealient.data.disclaimer.DisclaimerStorageImpl
@Module
@InstallIn(SingletonComponent::class)

View File

@@ -1,15 +1,15 @@
package gq.kirmanak.mealient.di
package com.atridad.mealient.di
import dagger.Binds
import dagger.Module
import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent
import dagger.multibindings.IntoSet
import gq.kirmanak.mealient.data.migration.From24AuthMigrationExecutor
import gq.kirmanak.mealient.data.migration.From30MigrationExecutor
import gq.kirmanak.mealient.data.migration.MigrationDetector
import gq.kirmanak.mealient.data.migration.MigrationDetectorImpl
import gq.kirmanak.mealient.data.migration.MigrationExecutor
import com.atridad.mealient.data.migration.From24AuthMigrationExecutor
import com.atridad.mealient.data.migration.From30MigrationExecutor
import com.atridad.mealient.data.migration.MigrationDetector
import com.atridad.mealient.data.migration.MigrationDetectorImpl
import com.atridad.mealient.data.migration.MigrationExecutor
@Module
@InstallIn(SingletonComponent::class)

View File

@@ -1,13 +1,13 @@
package gq.kirmanak.mealient.di
package com.atridad.mealient.di
import dagger.Binds
import dagger.Module
import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent
import gq.kirmanak.mealient.data.network.MealieDataSourceWrapper
import gq.kirmanak.mealient.data.recipes.RecipeRepo
import gq.kirmanak.mealient.data.recipes.impl.*
import gq.kirmanak.mealient.data.recipes.network.RecipeDataSource
import com.atridad.mealient.data.network.MealieDataSourceWrapper
import com.atridad.mealient.data.recipes.RecipeRepo
import com.atridad.mealient.data.recipes.impl.*
import com.atridad.mealient.data.recipes.network.RecipeDataSource
@Module
@InstallIn(SingletonComponent::class)

View File

@@ -1,13 +1,13 @@
package gq.kirmanak.mealient.di
package com.atridad.mealient.di
import dagger.Binds
import dagger.Module
import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent
import gq.kirmanak.mealient.data.network.MealieDataSourceWrapper
import gq.kirmanak.mealient.data.share.ParseRecipeDataSource
import gq.kirmanak.mealient.data.share.ShareRecipeRepo
import gq.kirmanak.mealient.data.share.ShareRecipeRepoImpl
import com.atridad.mealient.data.network.MealieDataSourceWrapper
import com.atridad.mealient.data.share.ParseRecipeDataSource
import com.atridad.mealient.data.share.ShareRecipeRepo
import com.atridad.mealient.data.share.ShareRecipeRepoImpl
@Module
@InstallIn(SingletonComponent::class)

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.extensions
package com.atridad.mealient.extensions
import android.app.Activity
import android.content.Context

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.extensions
package com.atridad.mealient.extensions
import android.content.Context
import android.content.SharedPreferences
@@ -7,7 +7,7 @@ import android.content.res.Configuration.UI_MODE_NIGHT_YES
import android.os.Build
import android.widget.Toast
import androidx.annotation.StringRes
import gq.kirmanak.mealient.logging.Logger
import com.atridad.mealient.logging.Logger
import kotlinx.coroutines.channels.ChannelResult
import kotlinx.coroutines.channels.awaitClose
import kotlinx.coroutines.channels.onClosed

View File

@@ -1,16 +1,16 @@
package gq.kirmanak.mealient.ui
package com.atridad.mealient.ui
import com.ramcosta.composedestinations.spec.DestinationSpec
import com.ramcosta.composedestinations.spec.NavGraphSpec
import com.ramcosta.composedestinations.spec.Route
import gq.kirmanak.mealient.shopping_lists.ui.destinations.ShoppingListScreenDestination
import gq.kirmanak.mealient.shopping_lists.ui.destinations.ShoppingListsScreenDestination
import gq.kirmanak.mealient.ui.destinations.AddRecipeScreenDestination
import gq.kirmanak.mealient.ui.destinations.AuthenticationScreenDestination
import gq.kirmanak.mealient.ui.destinations.BaseURLScreenDestination
import gq.kirmanak.mealient.ui.destinations.DisclaimerScreenDestination
import gq.kirmanak.mealient.ui.destinations.RecipeScreenDestination
import gq.kirmanak.mealient.ui.destinations.RecipesListDestination
import com.atridad.mealient.shopping_lists.ui.destinations.ShoppingListScreenDestination
import com.atridad.mealient.shopping_lists.ui.destinations.ShoppingListsScreenDestination
import com.atridad.mealient.ui.destinations.AddRecipeScreenDestination
import com.atridad.mealient.ui.destinations.AuthenticationScreenDestination
import com.atridad.mealient.ui.destinations.BaseURLScreenDestination
import com.atridad.mealient.ui.destinations.DisclaimerScreenDestination
import com.atridad.mealient.ui.destinations.RecipeScreenDestination
import com.atridad.mealient.ui.destinations.RecipesListDestination
internal object NavGraphs {

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.ui.activity
package com.atridad.mealient.ui.activity
import androidx.annotation.StringRes
import androidx.compose.material.icons.Icons
@@ -22,12 +22,12 @@ import com.ramcosta.composedestinations.spec.Direction
import com.ramcosta.composedestinations.spec.NavGraphSpec
import com.ramcosta.composedestinations.utils.contains
import com.ramcosta.composedestinations.utils.currentDestinationAsState
import gq.kirmanak.mealient.R
import gq.kirmanak.mealient.ui.NavGraphs
import gq.kirmanak.mealient.ui.components.DrawerItem
import gq.kirmanak.mealient.ui.destinations.AddRecipeScreenDestination
import gq.kirmanak.mealient.ui.destinations.BaseURLScreenDestination
import gq.kirmanak.mealient.ui.destinations.RecipesListDestination
import com.atridad.mealient.R
import com.atridad.mealient.ui.NavGraphs
import com.atridad.mealient.ui.components.DrawerItem
import com.atridad.mealient.ui.destinations.AddRecipeScreenDestination
import com.atridad.mealient.ui.destinations.BaseURLScreenDestination
import com.atridad.mealient.ui.destinations.RecipesListDestination
import kotlinx.coroutines.launch
@Composable

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.ui.activity
package com.atridad.mealient.ui.activity
import android.os.Bundle
import androidx.activity.ComponentActivity
@@ -7,9 +7,9 @@ import androidx.activity.viewModels
import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
import androidx.core.view.WindowInsetsControllerCompat
import dagger.hilt.android.AndroidEntryPoint
import gq.kirmanak.mealient.extensions.isDarkThemeOn
import gq.kirmanak.mealient.logging.Logger
import gq.kirmanak.mealient.ui.AppTheme
import com.atridad.mealient.extensions.isDarkThemeOn
import com.atridad.mealient.logging.Logger
import com.atridad.mealient.ui.AppTheme
import javax.inject.Inject
@AndroidEntryPoint

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.ui.activity
package com.atridad.mealient.ui.activity
import android.app.Application
import android.content.Intent
@@ -7,16 +7,16 @@ import androidx.core.content.FileProvider
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import dagger.hilt.android.lifecycle.HiltViewModel
import gq.kirmanak.mealient.R
import gq.kirmanak.mealient.data.auth.AuthRepo
import gq.kirmanak.mealient.data.baseurl.ServerInfoRepo
import gq.kirmanak.mealient.data.disclaimer.DisclaimerStorage
import gq.kirmanak.mealient.logging.Logger
import gq.kirmanak.mealient.logging.getLogFile
import gq.kirmanak.mealient.ui.destinations.AuthenticationScreenDestination
import gq.kirmanak.mealient.ui.destinations.BaseURLScreenDestination
import gq.kirmanak.mealient.ui.destinations.DirectionDestination
import gq.kirmanak.mealient.ui.destinations.DisclaimerScreenDestination
import com.atridad.mealient.R
import com.atridad.mealient.data.auth.AuthRepo
import com.atridad.mealient.data.baseurl.ServerInfoRepo
import com.atridad.mealient.data.disclaimer.DisclaimerStorage
import com.atridad.mealient.logging.Logger
import com.atridad.mealient.logging.getLogFile
import com.atridad.mealient.ui.destinations.AuthenticationScreenDestination
import com.atridad.mealient.ui.destinations.BaseURLScreenDestination
import com.atridad.mealient.ui.destinations.DirectionDestination
import com.atridad.mealient.ui.destinations.DisclaimerScreenDestination
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.asStateFlow

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.ui.activity
package com.atridad.mealient.ui.activity
import android.content.Intent
import androidx.compose.material3.AlertDialog
@@ -21,8 +21,8 @@ import com.ramcosta.composedestinations.spec.DestinationSpec
import com.ramcosta.composedestinations.spec.NavHostEngine
import com.ramcosta.composedestinations.spec.Route
import com.ramcosta.composedestinations.utils.currentDestinationAsState
import gq.kirmanak.mealient.ui.NavGraphs
import gq.kirmanak.mealient.ui.components.rememberBaseScreenState
import com.atridad.mealient.ui.NavGraphs
import com.atridad.mealient.ui.components.rememberBaseScreenState
@Composable
internal fun MealientApp(

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.ui.add
package com.atridad.mealient.ui.add
import androidx.annotation.StringRes
import androidx.compose.foundation.layout.Arrangement
@@ -29,14 +29,14 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.input.ImeAction
import androidx.hilt.navigation.compose.hiltViewModel
import com.ramcosta.composedestinations.annotation.Destination
import gq.kirmanak.mealient.R
import gq.kirmanak.mealient.ui.AppTheme
import gq.kirmanak.mealient.ui.Dimens
import gq.kirmanak.mealient.ui.components.BaseScreenState
import gq.kirmanak.mealient.ui.components.BaseScreenWithNavigation
import gq.kirmanak.mealient.ui.components.TopProgressIndicator
import gq.kirmanak.mealient.ui.components.previewBaseScreenState
import gq.kirmanak.mealient.ui.preview.ColorSchemePreview
import com.atridad.mealient.R
import com.atridad.mealient.ui.AppTheme
import com.atridad.mealient.ui.Dimens
import com.atridad.mealient.ui.components.BaseScreenState
import com.atridad.mealient.ui.components.BaseScreenWithNavigation
import com.atridad.mealient.ui.components.TopProgressIndicator
import com.atridad.mealient.ui.components.previewBaseScreenState
import com.atridad.mealient.ui.preview.ColorSchemePreview
@Destination
@Composable

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.ui.add
package com.atridad.mealient.ui.add
internal sealed interface AddRecipeScreenEvent {

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.ui.add
package com.atridad.mealient.ui.add
internal data class AddRecipeScreenState(
val snackbarMessage: AddRecipeSnackbarMessage? = null,

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.ui.add
package com.atridad.mealient.ui.add
internal sealed interface AddRecipeSnackbarMessage {

View File

@@ -1,16 +1,16 @@
package gq.kirmanak.mealient.ui.add
package com.atridad.mealient.ui.add
import androidx.annotation.VisibleForTesting
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import dagger.hilt.android.lifecycle.HiltViewModel
import gq.kirmanak.mealient.data.add.AddRecipeRepo
import gq.kirmanak.mealient.datasource.models.AddRecipeInfo
import gq.kirmanak.mealient.datasource.models.AddRecipeIngredientInfo
import gq.kirmanak.mealient.datasource.models.AddRecipeInstructionInfo
import gq.kirmanak.mealient.datasource.models.AddRecipeSettingsInfo
import gq.kirmanak.mealient.datasource.runCatchingExceptCancel
import gq.kirmanak.mealient.logging.Logger
import com.atridad.mealient.data.add.AddRecipeRepo
import com.atridad.mealient.datasource.models.AddRecipeInfo
import com.atridad.mealient.datasource.models.AddRecipeIngredientInfo
import com.atridad.mealient.datasource.models.AddRecipeInstructionInfo
import com.atridad.mealient.datasource.models.AddRecipeSettingsInfo
import com.atridad.mealient.datasource.runCatchingExceptCancel
import com.atridad.mealient.logging.Logger
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.asStateFlow

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.ui.auth
package com.atridad.mealient.ui.auth
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
@@ -25,12 +25,12 @@ import androidx.compose.ui.text.input.ImeAction
import androidx.hilt.navigation.compose.hiltViewModel
import androidx.navigation.NavController
import com.ramcosta.composedestinations.annotation.Destination
import gq.kirmanak.mealient.R
import gq.kirmanak.mealient.ui.AppTheme
import gq.kirmanak.mealient.ui.Dimens
import gq.kirmanak.mealient.ui.components.BaseScreen
import gq.kirmanak.mealient.ui.components.TopProgressIndicator
import gq.kirmanak.mealient.ui.preview.ColorSchemePreview
import com.atridad.mealient.R
import com.atridad.mealient.ui.AppTheme
import com.atridad.mealient.ui.Dimens
import com.atridad.mealient.ui.components.BaseScreen
import com.atridad.mealient.ui.components.TopProgressIndicator
import com.atridad.mealient.ui.preview.ColorSchemePreview
@Destination
@Composable

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.ui.auth
package com.atridad.mealient.ui.auth
internal sealed interface AuthenticationScreenEvent {

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.ui.auth
package com.atridad.mealient.ui.auth
internal data class AuthenticationScreenState(
val isLoading: Boolean = false,

View File

@@ -1,14 +1,14 @@
package gq.kirmanak.mealient.ui.auth
package com.atridad.mealient.ui.auth
import android.app.Application
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import dagger.hilt.android.lifecycle.HiltViewModel
import gq.kirmanak.mealient.R
import gq.kirmanak.mealient.data.auth.AuthRepo
import gq.kirmanak.mealient.datasource.NetworkError
import gq.kirmanak.mealient.datasource.runCatchingExceptCancel
import gq.kirmanak.mealient.logging.Logger
import com.atridad.mealient.R
import com.atridad.mealient.data.auth.AuthRepo
import com.atridad.mealient.datasource.NetworkError
import com.atridad.mealient.datasource.runCatchingExceptCancel
import com.atridad.mealient.logging.Logger
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.asStateFlow
import kotlinx.coroutines.flow.update

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.ui.auth
package com.atridad.mealient.ui.auth
import androidx.compose.ui.ExperimentalComposeUiApi
import androidx.compose.ui.Modifier

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.ui.auth
package com.atridad.mealient.ui.auth
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.text.KeyboardActions
@@ -21,7 +21,7 @@ import androidx.compose.ui.semantics.testTag
import androidx.compose.ui.text.input.ImeAction
import androidx.compose.ui.text.input.PasswordVisualTransformation
import androidx.compose.ui.text.input.VisualTransformation
import gq.kirmanak.mealient.R
import com.atridad.mealient.R
@OptIn(ExperimentalComposeUiApi::class)
@Composable

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.ui.baseurl
package com.atridad.mealient.ui.baseurl
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
@@ -27,15 +27,15 @@ import androidx.compose.ui.text.input.ImeAction
import androidx.hilt.navigation.compose.hiltViewModel
import androidx.navigation.NavController
import com.ramcosta.composedestinations.annotation.Destination
import gq.kirmanak.mealient.R
import gq.kirmanak.mealient.ui.AppTheme
import gq.kirmanak.mealient.ui.Dimens
import gq.kirmanak.mealient.ui.components.BaseScreen
import gq.kirmanak.mealient.ui.components.BaseScreenState
import gq.kirmanak.mealient.ui.components.BaseScreenWithNavigation
import gq.kirmanak.mealient.ui.components.TopProgressIndicator
import gq.kirmanak.mealient.ui.components.previewBaseScreenState
import gq.kirmanak.mealient.ui.preview.ColorSchemePreview
import com.atridad.mealient.R
import com.atridad.mealient.ui.AppTheme
import com.atridad.mealient.ui.Dimens
import com.atridad.mealient.ui.components.BaseScreen
import com.atridad.mealient.ui.components.BaseScreenState
import com.atridad.mealient.ui.components.BaseScreenWithNavigation
import com.atridad.mealient.ui.components.TopProgressIndicator
import com.atridad.mealient.ui.components.previewBaseScreenState
import com.atridad.mealient.ui.preview.ColorSchemePreview
@Destination
@Composable

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.ui.baseurl
package com.atridad.mealient.ui.baseurl
import java.security.cert.X509Certificate

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.ui.baseurl
package com.atridad.mealient.ui.baseurl
internal data class BaseURLScreenState(
val isConfigured: Boolean = false,

View File

@@ -1,19 +1,19 @@
package gq.kirmanak.mealient.ui.baseurl
package com.atridad.mealient.ui.baseurl
import android.app.Application
import androidx.lifecycle.AndroidViewModel
import androidx.lifecycle.viewModelScope
import dagger.hilt.android.lifecycle.HiltViewModel
import gq.kirmanak.mealient.R
import gq.kirmanak.mealient.data.auth.AuthRepo
import gq.kirmanak.mealient.data.baseurl.ServerInfoRepo
import gq.kirmanak.mealient.data.baseurl.impl.BaseUrlLogRedactor
import gq.kirmanak.mealient.data.recipes.RecipeRepo
import gq.kirmanak.mealient.datasource.CertificateCombinedException
import gq.kirmanak.mealient.datasource.NetworkError
import gq.kirmanak.mealient.datasource.TrustedCertificatesStore
import gq.kirmanak.mealient.datasource.findCauseAsInstanceOf
import gq.kirmanak.mealient.logging.Logger
import com.atridad.mealient.R
import com.atridad.mealient.data.auth.AuthRepo
import com.atridad.mealient.data.baseurl.ServerInfoRepo
import com.atridad.mealient.data.baseurl.impl.BaseUrlLogRedactor
import com.atridad.mealient.data.recipes.RecipeRepo
import com.atridad.mealient.datasource.CertificateCombinedException
import com.atridad.mealient.datasource.NetworkError
import com.atridad.mealient.datasource.TrustedCertificatesStore
import com.atridad.mealient.datasource.findCauseAsInstanceOf
import com.atridad.mealient.logging.Logger
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.asStateFlow
import kotlinx.coroutines.flow.update

View File

@@ -1,13 +1,13 @@
package gq.kirmanak.mealient.ui.baseurl
package com.atridad.mealient.ui.baseurl
import androidx.compose.material3.AlertDialog
import androidx.compose.material3.Text
import androidx.compose.material3.TextButton
import androidx.compose.runtime.Composable
import androidx.compose.ui.res.stringResource
import gq.kirmanak.mealient.R
import gq.kirmanak.mealient.ui.AppTheme
import gq.kirmanak.mealient.ui.preview.ColorSchemePreview
import com.atridad.mealient.R
import com.atridad.mealient.ui.AppTheme
import com.atridad.mealient.ui.preview.ColorSchemePreview
@Composable
internal fun InvalidCertificateDialog(

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.ui.disclaimer
package com.atridad.mealient.ui.disclaimer
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
@@ -20,11 +20,11 @@ import androidx.compose.ui.semantics.testTag
import androidx.hilt.navigation.compose.hiltViewModel
import androidx.navigation.NavController
import com.ramcosta.composedestinations.annotation.Destination
import gq.kirmanak.mealient.R
import gq.kirmanak.mealient.ui.AppTheme
import gq.kirmanak.mealient.ui.Dimens
import gq.kirmanak.mealient.ui.components.BaseScreen
import gq.kirmanak.mealient.ui.preview.ColorSchemePreview
import com.atridad.mealient.R
import com.atridad.mealient.ui.AppTheme
import com.atridad.mealient.ui.Dimens
import com.atridad.mealient.ui.components.BaseScreen
import com.atridad.mealient.ui.preview.ColorSchemePreview
@Destination
@Composable

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.ui.disclaimer
package com.atridad.mealient.ui.disclaimer
internal data class DisclaimerScreenState(
val isCountDownOver: Boolean,

View File

@@ -1,11 +1,11 @@
package gq.kirmanak.mealient.ui.disclaimer
package com.atridad.mealient.ui.disclaimer
import androidx.annotation.VisibleForTesting
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import dagger.hilt.android.lifecycle.HiltViewModel
import gq.kirmanak.mealient.data.disclaimer.DisclaimerStorage
import gq.kirmanak.mealient.logging.Logger
import com.atridad.mealient.data.disclaimer.DisclaimerStorage
import com.atridad.mealient.logging.Logger
import kotlinx.coroutines.delay
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.SharingStarted

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.ui.recipes.info
package com.atridad.mealient.ui.recipes.info
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
@@ -17,8 +17,8 @@ import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import coil.compose.AsyncImage
import gq.kirmanak.mealient.R
import gq.kirmanak.mealient.ui.Dimens
import com.atridad.mealient.R
import com.atridad.mealient.ui.Dimens
@Composable
internal fun HeaderSection(

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.ui.recipes.info
package com.atridad.mealient.ui.recipes.info
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
@@ -19,9 +19,9 @@ import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import gq.kirmanak.mealient.R
import gq.kirmanak.mealient.database.recipe.entity.RecipeIngredientEntity
import gq.kirmanak.mealient.ui.Dimens
import com.atridad.mealient.R
import com.atridad.mealient.database.recipe.entity.RecipeIngredientEntity
import com.atridad.mealient.ui.Dimens
@Composable
internal fun IngredientsSection(

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.ui.recipes.info
package com.atridad.mealient.ui.recipes.info
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
@@ -13,10 +13,10 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import gq.kirmanak.mealient.R
import gq.kirmanak.mealient.database.recipe.entity.RecipeIngredientEntity
import gq.kirmanak.mealient.database.recipe.entity.RecipeInstructionEntity
import gq.kirmanak.mealient.ui.Dimens
import com.atridad.mealient.R
import com.atridad.mealient.database.recipe.entity.RecipeIngredientEntity
import com.atridad.mealient.database.recipe.entity.RecipeInstructionEntity
import com.atridad.mealient.ui.Dimens
@Composable
internal fun InstructionsSection(

View File

@@ -1,10 +1,10 @@
package gq.kirmanak.mealient.ui.recipes.info
package com.atridad.mealient.ui.recipes.info
import android.view.WindowManager
import androidx.compose.runtime.Composable
import androidx.compose.runtime.DisposableEffect
import androidx.compose.ui.platform.LocalContext
import gq.kirmanak.mealient.extensions.findActivity
import com.atridad.mealient.extensions.findActivity
@Composable
fun KeepScreenOn() {

View File

@@ -1,8 +1,8 @@
package gq.kirmanak.mealient.ui.recipes.info
package com.atridad.mealient.ui.recipes.info
import gq.kirmanak.mealient.database.recipe.entity.RecipeIngredientEntity
import gq.kirmanak.mealient.database.recipe.entity.RecipeInstructionEntity
import gq.kirmanak.mealient.database.recipe.entity.RecipeSummaryEntity
import com.atridad.mealient.database.recipe.entity.RecipeIngredientEntity
import com.atridad.mealient.database.recipe.entity.RecipeInstructionEntity
import com.atridad.mealient.database.recipe.entity.RecipeSummaryEntity
import kotlinx.datetime.LocalDate
internal val INGREDIENT_TWO = RecipeIngredientEntity(

View File

@@ -1,8 +1,8 @@
package gq.kirmanak.mealient.ui.recipes.info
package com.atridad.mealient.ui.recipes.info
import gq.kirmanak.mealient.database.recipe.entity.RecipeIngredientEntity
import gq.kirmanak.mealient.database.recipe.entity.RecipeInstructionEntity
import gq.kirmanak.mealient.database.recipe.entity.RecipeSummaryEntity
import com.atridad.mealient.database.recipe.entity.RecipeIngredientEntity
import com.atridad.mealient.database.recipe.entity.RecipeInstructionEntity
import com.atridad.mealient.database.recipe.entity.RecipeSummaryEntity
data class RecipeInfoUiState(
val showIngredients: Boolean = false,

View File

@@ -1,16 +1,16 @@
package gq.kirmanak.mealient.ui.recipes.info
package com.atridad.mealient.ui.recipes.info
import androidx.lifecycle.SavedStateHandle
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import dagger.hilt.android.lifecycle.HiltViewModel
import gq.kirmanak.mealient.data.recipes.RecipeRepo
import gq.kirmanak.mealient.data.recipes.impl.RecipeImageUrlProvider
import gq.kirmanak.mealient.database.recipe.entity.RecipeIngredientEntity
import gq.kirmanak.mealient.database.recipe.entity.RecipeInstructionEntity
import gq.kirmanak.mealient.database.recipe.entity.RecipeWithSummaryAndIngredientsAndInstructions
import gq.kirmanak.mealient.logging.Logger
import gq.kirmanak.mealient.ui.navArgs
import com.atridad.mealient.data.recipes.RecipeRepo
import com.atridad.mealient.data.recipes.impl.RecipeImageUrlProvider
import com.atridad.mealient.database.recipe.entity.RecipeIngredientEntity
import com.atridad.mealient.database.recipe.entity.RecipeInstructionEntity
import com.atridad.mealient.database.recipe.entity.RecipeWithSummaryAndIngredientsAndInstructions
import com.atridad.mealient.logging.Logger
import com.atridad.mealient.ui.navArgs
import kotlinx.coroutines.flow.SharingStarted
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.flow

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.ui.recipes.info
package com.atridad.mealient.ui.recipes.info
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
@@ -11,10 +11,10 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.hilt.navigation.compose.hiltViewModel
import com.ramcosta.composedestinations.annotation.Destination
import gq.kirmanak.mealient.ui.AppTheme
import gq.kirmanak.mealient.ui.Dimens
import gq.kirmanak.mealient.ui.components.BaseScreen
import gq.kirmanak.mealient.ui.preview.ColorSchemePreview
import com.atridad.mealient.ui.AppTheme
import com.atridad.mealient.ui.Dimens
import com.atridad.mealient.ui.components.BaseScreen
import com.atridad.mealient.ui.preview.ColorSchemePreview
data class RecipeScreenArgs(
val recipeId: String,

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.ui.recipes.list
package com.atridad.mealient.ui.recipes.list
import androidx.compose.material3.AlertDialog
import androidx.compose.material3.Text
@@ -6,7 +6,7 @@ import androidx.compose.material3.TextButton
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import gq.kirmanak.mealient.R
import com.atridad.mealient.R
@Composable
internal fun ConfirmDeleteDialog(

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.ui.recipes.list
package com.atridad.mealient.ui.recipes.list
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Arrangement
@@ -25,11 +25,11 @@ import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextOverflow
import coil.compose.AsyncImage
import gq.kirmanak.mealient.R
import gq.kirmanak.mealient.ui.AppTheme
import gq.kirmanak.mealient.ui.Dimens
import gq.kirmanak.mealient.ui.preview.ColorSchemePreview
import gq.kirmanak.mealient.ui.recipes.info.SUMMARY_ENTITY
import com.atridad.mealient.R
import com.atridad.mealient.ui.AppTheme
import com.atridad.mealient.ui.Dimens
import com.atridad.mealient.ui.preview.ColorSchemePreview
import com.atridad.mealient.ui.recipes.info.SUMMARY_ENTITY
import kotlin.random.Random
@Composable

View File

@@ -1,6 +1,6 @@
package gq.kirmanak.mealient.ui.recipes.list
package com.atridad.mealient.ui.recipes.list
import gq.kirmanak.mealient.database.recipe.entity.RecipeSummaryEntity
import com.atridad.mealient.database.recipe.entity.RecipeSummaryEntity
data class RecipeListItemState(
val imageUrl: String?,

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.ui.recipes.list
package com.atridad.mealient.ui.recipes.list
internal sealed interface RecipeListSnackbar {

Some files were not shown because too many files have changed in this diff Show More