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! 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. 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 I hereby state, to the best of my knowledge and belief, that I have not programmed this app to
@@ -10,7 +10,5 @@ collect any personally identifiable information. All data created by the you (th
the Mealie server(s) that you connect to. It can be removed by the administrator(s) of this (these) the Mealie server(s) that you connect to. It can be removed by the administrator(s) of this (these)
server(s). server(s).
Yours sincerely, Yours sincerely,
Kirill Kamakin. Kirill Kamakin and Atridad Lahiji
Stockholm, Sweden
mealient@gmail.com

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 # 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 ## DISCLAIMER
This project is developed independently from the core Mealie project. It is NOT associated with the 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! available!
The list of shopping lists is also available, each shopping list can be viewed and modified. 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 ## How to install
There are three ways: Download the latest apk from the releases page.
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.
## Contribution ## Contribution

View File

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

View File

@@ -1,11 +1,11 @@
package gq.kirmanak.mealient package com.atridad.mealient
import androidx.compose.ui.test.junit4.createAndroidComposeRule import androidx.compose.ui.test.junit4.createAndroidComposeRule
import com.kaspersky.components.composesupport.config.withComposeSupport import com.kaspersky.components.composesupport.config.withComposeSupport
import com.kaspersky.kaspresso.kaspresso.Kaspresso import com.kaspersky.kaspresso.kaspresso.Kaspresso
import com.kaspersky.kaspresso.testcases.api.testcase.TestCase import com.kaspersky.kaspresso.testcases.api.testcase.TestCase
import dagger.hilt.android.testing.HiltAndroidRule 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 okhttp3.mockwebserver.MockWebServer
import org.junit.After import org.junit.After
import org.junit.Before 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 dagger.hilt.android.testing.HiltAndroidTest
import gq.kirmanak.mealient.screen.AuthenticationScreen import com.atridad.mealient.screen.AuthenticationScreen
import gq.kirmanak.mealient.screen.BaseUrlScreen import com.atridad.mealient.screen.BaseUrlScreen
import gq.kirmanak.mealient.screen.DisclaimerScreen import com.atridad.mealient.screen.DisclaimerScreen
import gq.kirmanak.mealient.screen.RecipesListScreen import com.atridad.mealient.screen.RecipesListScreen
import gq.kirmanak.mealient.ui.disclaimer.DisclaimerViewModel import com.atridad.mealient.ui.disclaimer.DisclaimerViewModel
import io.github.kakaocup.compose.node.element.ComposeScreen.Companion.onComposeScreen import io.github.kakaocup.compose.node.element.ComposeScreen.Companion.onComposeScreen
import io.github.kakaocup.kakao.common.utilities.getResourceString import io.github.kakaocup.kakao.common.utilities.getResourceString
import org.junit.Before import org.junit.Before

View File

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

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient package com.atridad.mealient
import android.util.Log import android.util.Log
import okhttp3.mockwebserver.Dispatcher 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 androidx.compose.ui.test.SemanticsNodeInteractionsProvider
import io.github.kakaocup.compose.node.element.ComposeScreen 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 androidx.compose.ui.test.SemanticsNodeInteractionsProvider
import io.github.kakaocup.compose.node.element.ComposeScreen 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 androidx.compose.ui.test.SemanticsNodeInteractionsProvider
import io.github.kakaocup.compose.node.element.ComposeScreen 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.builder.ViewBuilder
import io.github.kakaocup.compose.node.core.BaseNode 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 androidx.compose.ui.test.SemanticsNodeInteractionsProvider
import io.github.kakaocup.compose.node.element.ComposeScreen import io.github.kakaocup.compose.node.element.ComposeScreen

View File

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

View File

@@ -1,13 +1,13 @@
package gq.kirmanak.mealient package com.atridad.mealient
import android.app.Application import android.app.Application
import coil.Coil import coil.Coil
import coil.ImageLoader import coil.ImageLoader
import com.google.android.material.color.DynamicColors import com.google.android.material.color.DynamicColors
import dagger.hilt.android.HiltAndroidApp import dagger.hilt.android.HiltAndroidApp
import gq.kirmanak.mealient.architecture.configuration.BuildConfiguration import com.atridad.mealient.architecture.configuration.BuildConfiguration
import gq.kirmanak.mealient.data.migration.MigrationDetector import com.atridad.mealient.data.migration.MigrationDetector
import gq.kirmanak.mealient.logging.Logger import com.atridad.mealient.logging.Logger
import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.Job 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 import kotlinx.coroutines.flow.Flow
interface AddRecipeRepo { 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 com.atridad.mealient.data.add.AddRecipeDataSource
import gq.kirmanak.mealient.data.add.AddRecipeRepo import com.atridad.mealient.data.add.AddRecipeRepo
import gq.kirmanak.mealient.datasource.models.AddRecipeInfo import com.atridad.mealient.datasource.models.AddRecipeInfo
import gq.kirmanak.mealient.datastore.recipe.AddRecipeStorage import com.atridad.mealient.datastore.recipe.AddRecipeStorage
import gq.kirmanak.mealient.logging.Logger import com.atridad.mealient.logging.Logger
import gq.kirmanak.mealient.model_mapper.ModelMapper import com.atridad.mealient.model_mapper.ModelMapper
import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.first import kotlinx.coroutines.flow.first
import kotlinx.coroutines.flow.map 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 { 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 import kotlinx.coroutines.flow.Flow
interface AuthRepo : ShoppingListsAuthRepo { 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 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 com.atridad.mealient.data.auth.AuthDataSource
import gq.kirmanak.mealient.datasource.MealieDataSource import com.atridad.mealient.datasource.MealieDataSource
import gq.kirmanak.mealient.datasource.models.CreateApiTokenRequest import com.atridad.mealient.datasource.models.CreateApiTokenRequest
import javax.inject.Inject import javax.inject.Inject
class AuthDataSourceImpl @Inject constructor( 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 com.atridad.mealient.data.auth.AuthDataSource
import gq.kirmanak.mealient.data.auth.AuthRepo import com.atridad.mealient.data.auth.AuthRepo
import gq.kirmanak.mealient.data.auth.AuthStorage import com.atridad.mealient.data.auth.AuthStorage
import gq.kirmanak.mealient.datasource.AuthenticationProvider import com.atridad.mealient.datasource.AuthenticationProvider
import gq.kirmanak.mealient.logging.Logger import com.atridad.mealient.logging.Logger
import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.map
import javax.inject.Inject 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 android.content.SharedPreferences
import androidx.annotation.VisibleForTesting import androidx.annotation.VisibleForTesting
import androidx.core.content.edit import androidx.core.content.edit
import gq.kirmanak.mealient.data.auth.AuthStorage import com.atridad.mealient.data.auth.AuthStorage
import gq.kirmanak.mealient.datasource.TokenChangeListener import com.atridad.mealient.datasource.TokenChangeListener
import gq.kirmanak.mealient.datastore.DataStoreModule.Companion.ENCRYPTED import com.atridad.mealient.datastore.DataStoreModule.Companion.ENCRYPTED
import gq.kirmanak.mealient.extensions.prefsChangeFlow import com.atridad.mealient.extensions.prefsChangeFlow
import gq.kirmanak.mealient.logging.Logger import com.atridad.mealient.logging.Logger
import kotlinx.coroutines.asCoroutineDispatcher import kotlinx.coroutines.asCoroutineDispatcher
import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.distinctUntilChanged 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 kotlinx.coroutines.flow.MutableStateFlow
import java.net.URLEncoder import java.net.URLEncoder
import javax.inject.Inject 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 import kotlinx.coroutines.flow.Flow
interface ServerInfoRepo { 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 com.atridad.mealient.datasource.ServerUrlProvider
import gq.kirmanak.mealient.datasource.models.VersionResponse import com.atridad.mealient.datasource.models.VersionResponse
import gq.kirmanak.mealient.logging.Logger import com.atridad.mealient.logging.Logger
import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.Flow
import javax.inject.Inject 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 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 com.atridad.mealient.datasource.MealieDataSource
import gq.kirmanak.mealient.datasource.models.VersionResponse import com.atridad.mealient.datasource.models.VersionResponse
import javax.inject.Inject import javax.inject.Inject
class VersionDataSourceImpl @Inject constructor( 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 androidx.core.net.toUri
import gq.kirmanak.mealient.architecture.configuration.AppDispatchers import com.atridad.mealient.architecture.configuration.AppDispatchers
import gq.kirmanak.mealient.data.storage.PreferencesStorage import com.atridad.mealient.data.storage.PreferencesStorage
import gq.kirmanak.mealient.logging.LogRedactor import com.atridad.mealient.logging.LogRedactor
import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.SupervisorJob import kotlinx.coroutines.SupervisorJob
import kotlinx.coroutines.flow.MutableStateFlow 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 androidx.datastore.preferences.core.Preferences
import gq.kirmanak.mealient.data.baseurl.ServerInfoStorage import com.atridad.mealient.data.baseurl.ServerInfoStorage
import gq.kirmanak.mealient.data.storage.PreferencesStorage import com.atridad.mealient.data.storage.PreferencesStorage
import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.Flow
import javax.inject.Inject 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 com.atridad.mealient.BuildConfig
import gq.kirmanak.mealient.architecture.configuration.BuildConfiguration import com.atridad.mealient.architecture.configuration.BuildConfiguration
import javax.inject.Inject import javax.inject.Inject
class BuildConfigurationImpl @Inject constructor() : BuildConfiguration { 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 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 androidx.datastore.preferences.core.Preferences
import gq.kirmanak.mealient.data.storage.PreferencesStorage import com.atridad.mealient.data.storage.PreferencesStorage
import gq.kirmanak.mealient.logging.Logger import com.atridad.mealient.logging.Logger
import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.map
import javax.inject.Inject 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 android.content.SharedPreferences
import androidx.core.content.edit import androidx.core.content.edit
import gq.kirmanak.mealient.data.auth.AuthRepo import com.atridad.mealient.data.auth.AuthRepo
import gq.kirmanak.mealient.datasource.runCatchingExceptCancel import com.atridad.mealient.datasource.runCatchingExceptCancel
import gq.kirmanak.mealient.datastore.DataStoreModule.Companion.ENCRYPTED import com.atridad.mealient.datastore.DataStoreModule.Companion.ENCRYPTED
import gq.kirmanak.mealient.logging.Logger import com.atridad.mealient.logging.Logger
import javax.inject.Inject import javax.inject.Inject
import javax.inject.Named 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 android.content.SharedPreferences
import androidx.core.content.edit 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.Preferences
import androidx.datastore.preferences.core.edit import androidx.datastore.preferences.core.edit
import androidx.datastore.preferences.core.stringPreferencesKey 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.Inject
import javax.inject.Named import javax.inject.Named

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.data.migration package com.atridad.mealient.data.migration
interface MigrationDetector { 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 com.atridad.mealient.architecture.configuration.BuildConfiguration
import gq.kirmanak.mealient.data.storage.PreferencesStorage import com.atridad.mealient.data.storage.PreferencesStorage
import gq.kirmanak.mealient.datasource.runCatchingExceptCancel import com.atridad.mealient.datasource.runCatchingExceptCancel
import gq.kirmanak.mealient.logging.Logger import com.atridad.mealient.logging.Logger
import javax.inject.Inject import javax.inject.Inject
class MigrationDetectorImpl @Inject constructor( class MigrationDetectorImpl @Inject constructor(

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.data.migration package com.atridad.mealient.data.migration
interface MigrationExecutor { 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 com.atridad.mealient.data.add.AddRecipeDataSource
import gq.kirmanak.mealient.data.recipes.network.RecipeDataSource import com.atridad.mealient.data.recipes.network.RecipeDataSource
import gq.kirmanak.mealient.data.share.ParseRecipeDataSource import com.atridad.mealient.data.share.ParseRecipeDataSource
import gq.kirmanak.mealient.datasource.MealieDataSource import com.atridad.mealient.datasource.MealieDataSource
import gq.kirmanak.mealient.datasource.models.AddRecipeInfo import com.atridad.mealient.datasource.models.AddRecipeInfo
import gq.kirmanak.mealient.datasource.models.GetRecipeResponse import com.atridad.mealient.datasource.models.GetRecipeResponse
import gq.kirmanak.mealient.datasource.models.GetRecipeSummaryResponse import com.atridad.mealient.datasource.models.GetRecipeSummaryResponse
import gq.kirmanak.mealient.datasource.models.ParseRecipeURLRequest import com.atridad.mealient.datasource.models.ParseRecipeURLRequest
import gq.kirmanak.mealient.model_mapper.ModelMapper import com.atridad.mealient.model_mapper.ModelMapper
import javax.inject.Inject import javax.inject.Inject
class MealieDataSourceWrapper @Inject constructor( 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 androidx.paging.Pager
import gq.kirmanak.mealient.database.recipe.entity.RecipeSummaryEntity import com.atridad.mealient.database.recipe.entity.RecipeSummaryEntity
import gq.kirmanak.mealient.database.recipe.entity.RecipeWithSummaryAndIngredientsAndInstructions import com.atridad.mealient.database.recipe.entity.RecipeWithSummaryAndIngredientsAndInstructions
interface RecipeRepo { interface RecipeRepo {

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.data.recipes.impl package com.atridad.mealient.data.recipes.impl
interface RecipeImageUrlProvider { 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 android.net.Uri
import gq.kirmanak.mealient.data.baseurl.ServerInfoRepo import com.atridad.mealient.data.baseurl.ServerInfoRepo
import gq.kirmanak.mealient.logging.Logger import com.atridad.mealient.logging.Logger
import javax.inject.Inject import javax.inject.Inject
class RecipeImageUrlProviderImpl @Inject constructor( 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 androidx.paging.PagingSource
import gq.kirmanak.mealient.database.recipe.entity.RecipeSummaryEntity import com.atridad.mealient.database.recipe.entity.RecipeSummaryEntity
interface RecipePagingSourceFactory : () -> PagingSource<Int, RecipeSummaryEntity> { interface RecipePagingSourceFactory : () -> PagingSource<Int, RecipeSummaryEntity> {
fun setQuery(newQuery: String?) 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 androidx.paging.InvalidatingPagingSourceFactory
import gq.kirmanak.mealient.database.recipe.RecipeStorage import com.atridad.mealient.database.recipe.RecipeStorage
import gq.kirmanak.mealient.logging.Logger import com.atridad.mealient.logging.Logger
import java.util.concurrent.atomic.AtomicReference import java.util.concurrent.atomic.AtomicReference
import javax.inject.Inject import javax.inject.Inject
import javax.inject.Singleton 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.ExperimentalPagingApi
import androidx.paging.Pager import androidx.paging.Pager
import androidx.paging.PagingConfig import androidx.paging.PagingConfig
import gq.kirmanak.mealient.data.recipes.RecipeRepo import com.atridad.mealient.data.recipes.RecipeRepo
import gq.kirmanak.mealient.data.recipes.network.RecipeDataSource import com.atridad.mealient.data.recipes.network.RecipeDataSource
import gq.kirmanak.mealient.database.recipe.RecipeStorage import com.atridad.mealient.database.recipe.RecipeStorage
import gq.kirmanak.mealient.database.recipe.entity.RecipeIngredientToInstructionEntity import com.atridad.mealient.database.recipe.entity.RecipeIngredientToInstructionEntity
import gq.kirmanak.mealient.database.recipe.entity.RecipeSummaryEntity import com.atridad.mealient.database.recipe.entity.RecipeSummaryEntity
import gq.kirmanak.mealient.database.recipe.entity.RecipeWithSummaryAndIngredientsAndInstructions import com.atridad.mealient.database.recipe.entity.RecipeWithSummaryAndIngredientsAndInstructions
import gq.kirmanak.mealient.datasource.runCatchingExceptCancel import com.atridad.mealient.datasource.runCatchingExceptCancel
import gq.kirmanak.mealient.logging.Logger import com.atridad.mealient.logging.Logger
import gq.kirmanak.mealient.model_mapper.ModelMapper import com.atridad.mealient.model_mapper.ModelMapper
import javax.inject.Inject import javax.inject.Inject
@OptIn(ExperimentalPagingApi::class) @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.annotation.VisibleForTesting
import androidx.paging.* import androidx.paging.*
import androidx.paging.LoadType.PREPEND import androidx.paging.LoadType.PREPEND
import androidx.paging.LoadType.REFRESH import androidx.paging.LoadType.REFRESH
import gq.kirmanak.mealient.architecture.configuration.AppDispatchers import com.atridad.mealient.architecture.configuration.AppDispatchers
import gq.kirmanak.mealient.data.recipes.network.RecipeDataSource import com.atridad.mealient.data.recipes.network.RecipeDataSource
import gq.kirmanak.mealient.database.recipe.RecipeStorage import com.atridad.mealient.database.recipe.RecipeStorage
import gq.kirmanak.mealient.database.recipe.entity.RecipeSummaryEntity import com.atridad.mealient.database.recipe.entity.RecipeSummaryEntity
import gq.kirmanak.mealient.datasource.runCatchingExceptCancel import com.atridad.mealient.datasource.runCatchingExceptCancel
import gq.kirmanak.mealient.logging.Logger import com.atridad.mealient.logging.Logger
import gq.kirmanak.mealient.model_mapper.ModelMapper import com.atridad.mealient.model_mapper.ModelMapper
import kotlinx.coroutines.async import kotlinx.coroutines.async
import kotlinx.coroutines.coroutineScope import kotlinx.coroutines.coroutineScope
import kotlinx.coroutines.withContext 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 com.atridad.mealient.datasource.models.GetRecipeResponse
import gq.kirmanak.mealient.datasource.models.GetRecipeSummaryResponse import com.atridad.mealient.datasource.models.GetRecipeSummaryResponse
interface RecipeDataSource { interface RecipeDataSource {
suspend fun requestRecipes(start: Int, limit: Int): List<GetRecipeSummaryResponse> 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 { interface ParseRecipeDataSource {

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.data.share package com.atridad.mealient.data.share
interface ShareRecipeRepo { 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 androidx.core.util.PatternsCompat
import gq.kirmanak.mealient.datasource.models.ParseRecipeURLRequest import com.atridad.mealient.datasource.models.ParseRecipeURLRequest
import gq.kirmanak.mealient.logging.Logger import com.atridad.mealient.logging.Logger
import javax.inject.Inject import javax.inject.Inject
class ShareRecipeRepoImpl @Inject constructor( 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 androidx.datastore.preferences.core.Preferences
import kotlinx.coroutines.flow.Flow 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.core.DataStore
import androidx.datastore.preferences.core.Preferences 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.edit
import androidx.datastore.preferences.core.intPreferencesKey import androidx.datastore.preferences.core.intPreferencesKey
import androidx.datastore.preferences.core.stringPreferencesKey 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.Flow
import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.flow.distinctUntilChanged
import kotlinx.coroutines.flow.first 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.Binds
import dagger.Module import dagger.Module
import dagger.hilt.InstallIn import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent import dagger.hilt.components.SingletonComponent
import gq.kirmanak.mealient.data.add.AddRecipeDataSource import com.atridad.mealient.data.add.AddRecipeDataSource
import gq.kirmanak.mealient.data.add.AddRecipeRepo import com.atridad.mealient.data.add.AddRecipeRepo
import gq.kirmanak.mealient.data.add.impl.AddRecipeRepoImpl import com.atridad.mealient.data.add.impl.AddRecipeRepoImpl
import gq.kirmanak.mealient.data.network.MealieDataSourceWrapper import com.atridad.mealient.data.network.MealieDataSourceWrapper
import gq.kirmanak.mealient.datastore.recipe.AddRecipeStorage import com.atridad.mealient.datastore.recipe.AddRecipeStorage
import gq.kirmanak.mealient.datastore.recipe.AddRecipeStorageImpl import com.atridad.mealient.datastore.recipe.AddRecipeStorageImpl
@Module @Module
@InstallIn(SingletonComponent::class) @InstallIn(SingletonComponent::class)

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.di package com.atridad.mealient.di
import android.content.Context import android.content.Context
import androidx.datastore.core.DataStore import androidx.datastore.core.DataStore
@@ -12,8 +12,8 @@ import dagger.Provides
import dagger.hilt.InstallIn import dagger.hilt.InstallIn
import dagger.hilt.android.qualifiers.ApplicationContext import dagger.hilt.android.qualifiers.ApplicationContext
import dagger.hilt.components.SingletonComponent import dagger.hilt.components.SingletonComponent
import gq.kirmanak.mealient.data.storage.PreferencesStorage import com.atridad.mealient.data.storage.PreferencesStorage
import gq.kirmanak.mealient.data.storage.PreferencesStorageImpl import com.atridad.mealient.data.storage.PreferencesStorageImpl
import okhttp3.OkHttpClient import okhttp3.OkHttpClient
import javax.inject.Singleton 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.Binds
import dagger.Module import dagger.Module
import dagger.hilt.InstallIn import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent import dagger.hilt.components.SingletonComponent
import gq.kirmanak.mealient.architecture.configuration.BuildConfiguration import com.atridad.mealient.architecture.configuration.BuildConfiguration
import gq.kirmanak.mealient.data.configuration.BuildConfigurationImpl import com.atridad.mealient.data.configuration.BuildConfigurationImpl
@Module @Module
@InstallIn(SingletonComponent::class) @InstallIn(SingletonComponent::class)

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,13 +1,13 @@
package gq.kirmanak.mealient.di package com.atridad.mealient.di
import dagger.Binds import dagger.Binds
import dagger.Module import dagger.Module
import dagger.hilt.InstallIn import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent import dagger.hilt.components.SingletonComponent
import gq.kirmanak.mealient.data.network.MealieDataSourceWrapper import com.atridad.mealient.data.network.MealieDataSourceWrapper
import gq.kirmanak.mealient.data.share.ParseRecipeDataSource import com.atridad.mealient.data.share.ParseRecipeDataSource
import gq.kirmanak.mealient.data.share.ShareRecipeRepo import com.atridad.mealient.data.share.ShareRecipeRepo
import gq.kirmanak.mealient.data.share.ShareRecipeRepoImpl import com.atridad.mealient.data.share.ShareRecipeRepoImpl
@Module @Module
@InstallIn(SingletonComponent::class) @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.app.Activity
import android.content.Context 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.Context
import android.content.SharedPreferences import android.content.SharedPreferences
@@ -7,7 +7,7 @@ import android.content.res.Configuration.UI_MODE_NIGHT_YES
import android.os.Build import android.os.Build
import android.widget.Toast import android.widget.Toast
import androidx.annotation.StringRes 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.ChannelResult
import kotlinx.coroutines.channels.awaitClose import kotlinx.coroutines.channels.awaitClose
import kotlinx.coroutines.channels.onClosed 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.DestinationSpec
import com.ramcosta.composedestinations.spec.NavGraphSpec import com.ramcosta.composedestinations.spec.NavGraphSpec
import com.ramcosta.composedestinations.spec.Route import com.ramcosta.composedestinations.spec.Route
import gq.kirmanak.mealient.shopping_lists.ui.destinations.ShoppingListScreenDestination import com.atridad.mealient.shopping_lists.ui.destinations.ShoppingListScreenDestination
import gq.kirmanak.mealient.shopping_lists.ui.destinations.ShoppingListsScreenDestination import com.atridad.mealient.shopping_lists.ui.destinations.ShoppingListsScreenDestination
import gq.kirmanak.mealient.ui.destinations.AddRecipeScreenDestination import com.atridad.mealient.ui.destinations.AddRecipeScreenDestination
import gq.kirmanak.mealient.ui.destinations.AuthenticationScreenDestination import com.atridad.mealient.ui.destinations.AuthenticationScreenDestination
import gq.kirmanak.mealient.ui.destinations.BaseURLScreenDestination import com.atridad.mealient.ui.destinations.BaseURLScreenDestination
import gq.kirmanak.mealient.ui.destinations.DisclaimerScreenDestination import com.atridad.mealient.ui.destinations.DisclaimerScreenDestination
import gq.kirmanak.mealient.ui.destinations.RecipeScreenDestination import com.atridad.mealient.ui.destinations.RecipeScreenDestination
import gq.kirmanak.mealient.ui.destinations.RecipesListDestination import com.atridad.mealient.ui.destinations.RecipesListDestination
internal object NavGraphs { 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.annotation.StringRes
import androidx.compose.material.icons.Icons 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.spec.NavGraphSpec
import com.ramcosta.composedestinations.utils.contains import com.ramcosta.composedestinations.utils.contains
import com.ramcosta.composedestinations.utils.currentDestinationAsState import com.ramcosta.composedestinations.utils.currentDestinationAsState
import gq.kirmanak.mealient.R import com.atridad.mealient.R
import gq.kirmanak.mealient.ui.NavGraphs import com.atridad.mealient.ui.NavGraphs
import gq.kirmanak.mealient.ui.components.DrawerItem import com.atridad.mealient.ui.components.DrawerItem
import gq.kirmanak.mealient.ui.destinations.AddRecipeScreenDestination import com.atridad.mealient.ui.destinations.AddRecipeScreenDestination
import gq.kirmanak.mealient.ui.destinations.BaseURLScreenDestination import com.atridad.mealient.ui.destinations.BaseURLScreenDestination
import gq.kirmanak.mealient.ui.destinations.RecipesListDestination import com.atridad.mealient.ui.destinations.RecipesListDestination
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
@Composable @Composable

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.ui.activity package com.atridad.mealient.ui.activity
import android.os.Bundle import android.os.Bundle
import androidx.activity.ComponentActivity import androidx.activity.ComponentActivity
@@ -7,9 +7,9 @@ import androidx.activity.viewModels
import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
import androidx.core.view.WindowInsetsControllerCompat import androidx.core.view.WindowInsetsControllerCompat
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import gq.kirmanak.mealient.extensions.isDarkThemeOn import com.atridad.mealient.extensions.isDarkThemeOn
import gq.kirmanak.mealient.logging.Logger import com.atridad.mealient.logging.Logger
import gq.kirmanak.mealient.ui.AppTheme import com.atridad.mealient.ui.AppTheme
import javax.inject.Inject import javax.inject.Inject
@AndroidEntryPoint @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.app.Application
import android.content.Intent import android.content.Intent
@@ -7,16 +7,16 @@ import androidx.core.content.FileProvider
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.mealient.R import com.atridad.mealient.R
import gq.kirmanak.mealient.data.auth.AuthRepo import com.atridad.mealient.data.auth.AuthRepo
import gq.kirmanak.mealient.data.baseurl.ServerInfoRepo import com.atridad.mealient.data.baseurl.ServerInfoRepo
import gq.kirmanak.mealient.data.disclaimer.DisclaimerStorage import com.atridad.mealient.data.disclaimer.DisclaimerStorage
import gq.kirmanak.mealient.logging.Logger import com.atridad.mealient.logging.Logger
import gq.kirmanak.mealient.logging.getLogFile import com.atridad.mealient.logging.getLogFile
import gq.kirmanak.mealient.ui.destinations.AuthenticationScreenDestination import com.atridad.mealient.ui.destinations.AuthenticationScreenDestination
import gq.kirmanak.mealient.ui.destinations.BaseURLScreenDestination import com.atridad.mealient.ui.destinations.BaseURLScreenDestination
import gq.kirmanak.mealient.ui.destinations.DirectionDestination import com.atridad.mealient.ui.destinations.DirectionDestination
import gq.kirmanak.mealient.ui.destinations.DisclaimerScreenDestination import com.atridad.mealient.ui.destinations.DisclaimerScreenDestination
import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.asStateFlow 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 android.content.Intent
import androidx.compose.material3.AlertDialog 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.NavHostEngine
import com.ramcosta.composedestinations.spec.Route import com.ramcosta.composedestinations.spec.Route
import com.ramcosta.composedestinations.utils.currentDestinationAsState import com.ramcosta.composedestinations.utils.currentDestinationAsState
import gq.kirmanak.mealient.ui.NavGraphs import com.atridad.mealient.ui.NavGraphs
import gq.kirmanak.mealient.ui.components.rememberBaseScreenState import com.atridad.mealient.ui.components.rememberBaseScreenState
@Composable @Composable
internal fun MealientApp( 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.annotation.StringRes
import androidx.compose.foundation.layout.Arrangement 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.compose.ui.text.input.ImeAction
import androidx.hilt.navigation.compose.hiltViewModel import androidx.hilt.navigation.compose.hiltViewModel
import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.Destination
import gq.kirmanak.mealient.R import com.atridad.mealient.R
import gq.kirmanak.mealient.ui.AppTheme import com.atridad.mealient.ui.AppTheme
import gq.kirmanak.mealient.ui.Dimens import com.atridad.mealient.ui.Dimens
import gq.kirmanak.mealient.ui.components.BaseScreenState import com.atridad.mealient.ui.components.BaseScreenState
import gq.kirmanak.mealient.ui.components.BaseScreenWithNavigation import com.atridad.mealient.ui.components.BaseScreenWithNavigation
import gq.kirmanak.mealient.ui.components.TopProgressIndicator import com.atridad.mealient.ui.components.TopProgressIndicator
import gq.kirmanak.mealient.ui.components.previewBaseScreenState import com.atridad.mealient.ui.components.previewBaseScreenState
import gq.kirmanak.mealient.ui.preview.ColorSchemePreview import com.atridad.mealient.ui.preview.ColorSchemePreview
@Destination @Destination
@Composable @Composable

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.ui.add package com.atridad.mealient.ui.add
internal sealed interface AddRecipeScreenEvent { 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( internal data class AddRecipeScreenState(
val snackbarMessage: AddRecipeSnackbarMessage? = null, 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 { 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.annotation.VisibleForTesting
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.mealient.data.add.AddRecipeRepo import com.atridad.mealient.data.add.AddRecipeRepo
import gq.kirmanak.mealient.datasource.models.AddRecipeInfo import com.atridad.mealient.datasource.models.AddRecipeInfo
import gq.kirmanak.mealient.datasource.models.AddRecipeIngredientInfo import com.atridad.mealient.datasource.models.AddRecipeIngredientInfo
import gq.kirmanak.mealient.datasource.models.AddRecipeInstructionInfo import com.atridad.mealient.datasource.models.AddRecipeInstructionInfo
import gq.kirmanak.mealient.datasource.models.AddRecipeSettingsInfo import com.atridad.mealient.datasource.models.AddRecipeSettingsInfo
import gq.kirmanak.mealient.datasource.runCatchingExceptCancel import com.atridad.mealient.datasource.runCatchingExceptCancel
import gq.kirmanak.mealient.logging.Logger import com.atridad.mealient.logging.Logger
import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.asStateFlow 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.Arrangement
import androidx.compose.foundation.layout.Column 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.hilt.navigation.compose.hiltViewModel
import androidx.navigation.NavController import androidx.navigation.NavController
import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.Destination
import gq.kirmanak.mealient.R import com.atridad.mealient.R
import gq.kirmanak.mealient.ui.AppTheme import com.atridad.mealient.ui.AppTheme
import gq.kirmanak.mealient.ui.Dimens import com.atridad.mealient.ui.Dimens
import gq.kirmanak.mealient.ui.components.BaseScreen import com.atridad.mealient.ui.components.BaseScreen
import gq.kirmanak.mealient.ui.components.TopProgressIndicator import com.atridad.mealient.ui.components.TopProgressIndicator
import gq.kirmanak.mealient.ui.preview.ColorSchemePreview import com.atridad.mealient.ui.preview.ColorSchemePreview
@Destination @Destination
@Composable @Composable

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.ui.auth package com.atridad.mealient.ui.auth
internal sealed interface AuthenticationScreenEvent { 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( internal data class AuthenticationScreenState(
val isLoading: Boolean = false, 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 android.app.Application
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.mealient.R import com.atridad.mealient.R
import gq.kirmanak.mealient.data.auth.AuthRepo import com.atridad.mealient.data.auth.AuthRepo
import gq.kirmanak.mealient.datasource.NetworkError import com.atridad.mealient.datasource.NetworkError
import gq.kirmanak.mealient.datasource.runCatchingExceptCancel import com.atridad.mealient.datasource.runCatchingExceptCancel
import gq.kirmanak.mealient.logging.Logger import com.atridad.mealient.logging.Logger
import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.flow.asStateFlow
import kotlinx.coroutines.flow.update 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.ExperimentalComposeUiApi
import androidx.compose.ui.Modifier 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.layout.fillMaxWidth
import androidx.compose.foundation.text.KeyboardActions 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.ImeAction
import androidx.compose.ui.text.input.PasswordVisualTransformation import androidx.compose.ui.text.input.PasswordVisualTransformation
import androidx.compose.ui.text.input.VisualTransformation import androidx.compose.ui.text.input.VisualTransformation
import gq.kirmanak.mealient.R import com.atridad.mealient.R
@OptIn(ExperimentalComposeUiApi::class) @OptIn(ExperimentalComposeUiApi::class)
@Composable @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.Arrangement
import androidx.compose.foundation.layout.Column 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.hilt.navigation.compose.hiltViewModel
import androidx.navigation.NavController import androidx.navigation.NavController
import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.Destination
import gq.kirmanak.mealient.R import com.atridad.mealient.R
import gq.kirmanak.mealient.ui.AppTheme import com.atridad.mealient.ui.AppTheme
import gq.kirmanak.mealient.ui.Dimens import com.atridad.mealient.ui.Dimens
import gq.kirmanak.mealient.ui.components.BaseScreen import com.atridad.mealient.ui.components.BaseScreen
import gq.kirmanak.mealient.ui.components.BaseScreenState import com.atridad.mealient.ui.components.BaseScreenState
import gq.kirmanak.mealient.ui.components.BaseScreenWithNavigation import com.atridad.mealient.ui.components.BaseScreenWithNavigation
import gq.kirmanak.mealient.ui.components.TopProgressIndicator import com.atridad.mealient.ui.components.TopProgressIndicator
import gq.kirmanak.mealient.ui.components.previewBaseScreenState import com.atridad.mealient.ui.components.previewBaseScreenState
import gq.kirmanak.mealient.ui.preview.ColorSchemePreview import com.atridad.mealient.ui.preview.ColorSchemePreview
@Destination @Destination
@Composable @Composable

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.ui.baseurl package com.atridad.mealient.ui.baseurl
import java.security.cert.X509Certificate 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( internal data class BaseURLScreenState(
val isConfigured: Boolean = false, 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 android.app.Application
import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.AndroidViewModel
import androidx.lifecycle.viewModelScope import androidx.lifecycle.viewModelScope
import dagger.hilt.android.lifecycle.HiltViewModel import dagger.hilt.android.lifecycle.HiltViewModel
import gq.kirmanak.mealient.R import com.atridad.mealient.R
import gq.kirmanak.mealient.data.auth.AuthRepo import com.atridad.mealient.data.auth.AuthRepo
import gq.kirmanak.mealient.data.baseurl.ServerInfoRepo import com.atridad.mealient.data.baseurl.ServerInfoRepo
import gq.kirmanak.mealient.data.baseurl.impl.BaseUrlLogRedactor import com.atridad.mealient.data.baseurl.impl.BaseUrlLogRedactor
import gq.kirmanak.mealient.data.recipes.RecipeRepo import com.atridad.mealient.data.recipes.RecipeRepo
import gq.kirmanak.mealient.datasource.CertificateCombinedException import com.atridad.mealient.datasource.CertificateCombinedException
import gq.kirmanak.mealient.datasource.NetworkError import com.atridad.mealient.datasource.NetworkError
import gq.kirmanak.mealient.datasource.TrustedCertificatesStore import com.atridad.mealient.datasource.TrustedCertificatesStore
import gq.kirmanak.mealient.datasource.findCauseAsInstanceOf import com.atridad.mealient.datasource.findCauseAsInstanceOf
import gq.kirmanak.mealient.logging.Logger import com.atridad.mealient.logging.Logger
import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.flow.asStateFlow
import kotlinx.coroutines.flow.update 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.AlertDialog
import androidx.compose.material3.Text import androidx.compose.material3.Text
import androidx.compose.material3.TextButton import androidx.compose.material3.TextButton
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import gq.kirmanak.mealient.R import com.atridad.mealient.R
import gq.kirmanak.mealient.ui.AppTheme import com.atridad.mealient.ui.AppTheme
import gq.kirmanak.mealient.ui.preview.ColorSchemePreview import com.atridad.mealient.ui.preview.ColorSchemePreview
@Composable @Composable
internal fun InvalidCertificateDialog( 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.Arrangement
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
@@ -20,11 +20,11 @@ import androidx.compose.ui.semantics.testTag
import androidx.hilt.navigation.compose.hiltViewModel import androidx.hilt.navigation.compose.hiltViewModel
import androidx.navigation.NavController import androidx.navigation.NavController
import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.Destination
import gq.kirmanak.mealient.R import com.atridad.mealient.R
import gq.kirmanak.mealient.ui.AppTheme import com.atridad.mealient.ui.AppTheme
import gq.kirmanak.mealient.ui.Dimens import com.atridad.mealient.ui.Dimens
import gq.kirmanak.mealient.ui.components.BaseScreen import com.atridad.mealient.ui.components.BaseScreen
import gq.kirmanak.mealient.ui.preview.ColorSchemePreview import com.atridad.mealient.ui.preview.ColorSchemePreview
@Destination @Destination
@Composable @Composable

View File

@@ -1,4 +1,4 @@
package gq.kirmanak.mealient.ui.disclaimer package com.atridad.mealient.ui.disclaimer
internal data class DisclaimerScreenState( internal data class DisclaimerScreenState(
val isCountDownOver: Boolean, 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.annotation.VisibleForTesting
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.mealient.data.disclaimer.DisclaimerStorage import com.atridad.mealient.data.disclaimer.DisclaimerStorage
import gq.kirmanak.mealient.logging.Logger import com.atridad.mealient.logging.Logger
import kotlinx.coroutines.delay import kotlinx.coroutines.delay
import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.SharingStarted 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.Arrangement
import androidx.compose.foundation.layout.Column 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.res.stringResource
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import coil.compose.AsyncImage import coil.compose.AsyncImage
import gq.kirmanak.mealient.R import com.atridad.mealient.R
import gq.kirmanak.mealient.ui.Dimens import com.atridad.mealient.ui.Dimens
@Composable @Composable
internal fun HeaderSection( 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.Arrangement
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
@@ -19,9 +19,9 @@ import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import gq.kirmanak.mealient.R import com.atridad.mealient.R
import gq.kirmanak.mealient.database.recipe.entity.RecipeIngredientEntity import com.atridad.mealient.database.recipe.entity.RecipeIngredientEntity
import gq.kirmanak.mealient.ui.Dimens import com.atridad.mealient.ui.Dimens
@Composable @Composable
internal fun IngredientsSection( 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.Arrangement
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
@@ -13,10 +13,10 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import gq.kirmanak.mealient.R import com.atridad.mealient.R
import gq.kirmanak.mealient.database.recipe.entity.RecipeIngredientEntity import com.atridad.mealient.database.recipe.entity.RecipeIngredientEntity
import gq.kirmanak.mealient.database.recipe.entity.RecipeInstructionEntity import com.atridad.mealient.database.recipe.entity.RecipeInstructionEntity
import gq.kirmanak.mealient.ui.Dimens import com.atridad.mealient.ui.Dimens
@Composable @Composable
internal fun InstructionsSection( 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 android.view.WindowManager
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.DisposableEffect import androidx.compose.runtime.DisposableEffect
import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalContext
import gq.kirmanak.mealient.extensions.findActivity import com.atridad.mealient.extensions.findActivity
@Composable @Composable
fun KeepScreenOn() { 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 com.atridad.mealient.database.recipe.entity.RecipeIngredientEntity
import gq.kirmanak.mealient.database.recipe.entity.RecipeInstructionEntity import com.atridad.mealient.database.recipe.entity.RecipeInstructionEntity
import gq.kirmanak.mealient.database.recipe.entity.RecipeSummaryEntity import com.atridad.mealient.database.recipe.entity.RecipeSummaryEntity
import kotlinx.datetime.LocalDate import kotlinx.datetime.LocalDate
internal val INGREDIENT_TWO = RecipeIngredientEntity( 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 com.atridad.mealient.database.recipe.entity.RecipeIngredientEntity
import gq.kirmanak.mealient.database.recipe.entity.RecipeInstructionEntity import com.atridad.mealient.database.recipe.entity.RecipeInstructionEntity
import gq.kirmanak.mealient.database.recipe.entity.RecipeSummaryEntity import com.atridad.mealient.database.recipe.entity.RecipeSummaryEntity
data class RecipeInfoUiState( data class RecipeInfoUiState(
val showIngredients: Boolean = false, 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.SavedStateHandle
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.mealient.data.recipes.RecipeRepo import com.atridad.mealient.data.recipes.RecipeRepo
import gq.kirmanak.mealient.data.recipes.impl.RecipeImageUrlProvider import com.atridad.mealient.data.recipes.impl.RecipeImageUrlProvider
import gq.kirmanak.mealient.database.recipe.entity.RecipeIngredientEntity import com.atridad.mealient.database.recipe.entity.RecipeIngredientEntity
import gq.kirmanak.mealient.database.recipe.entity.RecipeInstructionEntity import com.atridad.mealient.database.recipe.entity.RecipeInstructionEntity
import gq.kirmanak.mealient.database.recipe.entity.RecipeWithSummaryAndIngredientsAndInstructions import com.atridad.mealient.database.recipe.entity.RecipeWithSummaryAndIngredientsAndInstructions
import gq.kirmanak.mealient.logging.Logger import com.atridad.mealient.logging.Logger
import gq.kirmanak.mealient.ui.navArgs import com.atridad.mealient.ui.navArgs
import kotlinx.coroutines.flow.SharingStarted import kotlinx.coroutines.flow.SharingStarted
import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.flow 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.Arrangement
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
@@ -11,10 +11,10 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.hilt.navigation.compose.hiltViewModel import androidx.hilt.navigation.compose.hiltViewModel
import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.Destination
import gq.kirmanak.mealient.ui.AppTheme import com.atridad.mealient.ui.AppTheme
import gq.kirmanak.mealient.ui.Dimens import com.atridad.mealient.ui.Dimens
import gq.kirmanak.mealient.ui.components.BaseScreen import com.atridad.mealient.ui.components.BaseScreen
import gq.kirmanak.mealient.ui.preview.ColorSchemePreview import com.atridad.mealient.ui.preview.ColorSchemePreview
data class RecipeScreenArgs( data class RecipeScreenArgs(
val recipeId: String, 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.AlertDialog
import androidx.compose.material3.Text import androidx.compose.material3.Text
@@ -6,7 +6,7 @@ import androidx.compose.material3.TextButton
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import gq.kirmanak.mealient.R import com.atridad.mealient.R
@Composable @Composable
internal fun ConfirmDeleteDialog( 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.clickable
import androidx.compose.foundation.layout.Arrangement 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.res.stringResource
import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.text.style.TextOverflow
import coil.compose.AsyncImage import coil.compose.AsyncImage
import gq.kirmanak.mealient.R import com.atridad.mealient.R
import gq.kirmanak.mealient.ui.AppTheme import com.atridad.mealient.ui.AppTheme
import gq.kirmanak.mealient.ui.Dimens import com.atridad.mealient.ui.Dimens
import gq.kirmanak.mealient.ui.preview.ColorSchemePreview import com.atridad.mealient.ui.preview.ColorSchemePreview
import gq.kirmanak.mealient.ui.recipes.info.SUMMARY_ENTITY import com.atridad.mealient.ui.recipes.info.SUMMARY_ENTITY
import kotlin.random.Random import kotlin.random.Random
@Composable @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( data class RecipeListItemState(
val imageUrl: String?, 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 { internal sealed interface RecipeListSnackbar {

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