Commit Graph

532 Commits

Author SHA1 Message Date
Kirill Kamakin
5ed1acb678 Simplify network layer (#175)
* Use Ktor for network requests

* Remove V0 version

* Remove Retrofit dependency

* Fix url

* Update versions of dependencies

* Revert kotlinx-datetime

Due to https://github.com/Kotlin/kotlinx-datetime/issues/304

* Rename leftovers

* Remove OkHttp

* Remove unused manifest

* Remove unused Hilt module

* Fix building empty image URLs

* Use OkHttp as engine for Ktor

* Reduce visibility of internal classes

* Fix first set up test

* Store only auth token, not header

* Remove UnitInfo/FoodInfo/VersionInfo/NewShoppingListItemInfo

* Remove RecipeSummaryInfo and ShoppingListsInfo

* Remove FullShoppingListInfo

* Remove ParseRecipeURLInfo

* Remove FullRecipeInfo

* Sign out if access token does not work

* Rename getVersionInfo method

* Update version name
2023-11-05 15:01:19 +01:00
Kirill Kamakin
eb7c8bf02a Keep screen on while viewing a recipe (#169)
* Keep screen on while user is on recipe details screen

* Update version code
2023-08-26 15:00:27 +02:00
Kirill Kamakin
accf4d93e8 New Crowdin updates (#161)
* New translations strings.xml (French)

* New translations strings.xml (Spanish)

* New translations strings.xml (German)

* New translations strings.xml (Dutch)

* New translations strings.xml (Portuguese)

* New translations strings.xml (Russian)
2023-07-05 09:45:43 +02:00
Kirill Kamakin
79dee6a9ad Allow users to trust self-signed certificates (#160)
* Implement CERT-Store

* Trust user-added certificates

* Improve code readability

* Implement saving self-signed certs to storage

* Create interface for TrustedCertificatesStore

* Remove unused code

* Make datasource implementation internal

* Bump app version to 29 (0.4.0)

---------

Co-authored-by: fz72 <fz72@gmx.de>
2023-07-04 22:53:05 +02:00
Kirill Kamakin
2375be0329 Reduce memory footprint of Hilt (#159)
* Remove @Singleton where it is not needed

* Use @AssistedFactory where possible
2023-07-04 18:22:16 +02:00
Kirill Kamakin
2bc2bb76e4 Add supported languages to app language list (#158) 2023-07-03 15:50:00 +02:00
Kirill Kamakin
9e56efa8da New Crowdin updates (#157)
* New translations strings.xml (French)

* New translations strings.xml (Spanish)

* New translations strings.xml (German)

* New translations strings.xml (Dutch)

* New translations strings.xml (Portuguese)

* New translations plurals.xml (French)

* New translations plurals.xml (German)

* New translations plurals.xml (Dutch)

* New translations plurals.xml (Portuguese)

* New translations strings.xml (French)

* New translations strings.xml (Spanish)

* New translations strings.xml (German)

* New translations strings.xml (Dutch)

* New translations strings.xml (Portuguese)
2023-07-03 15:35:06 +02:00
Kirill Kamakin
1e5e727e92 Implement shopping lists screen (#129)
* Initialize shopping lists feature

* Start shopping lists screen with Compose

* Add icon to shopping list name

* Add shopping lists to menu

* Set max size for the list

* Replace compose-adapter with accompanist

* Remove unused fields from shopping lists response

* Show list of shopping lists from BE

* Hide shopping lists if Mealie is 0.5.6

* Add shopping list item click listener

* Create material app theme for Compose

* Use shorter names

* Load shopping lists by pages and save to db

* Make page handling logic match recipes

* Add swipe to refresh to shopping lists

* Extract SwipeToRefresh Composable

* Make LazyPagingColumn generic

* Show refresh only when mediator is refreshing

* Do not refresh automatically

* Allow controlling Activity state from modules

* Implement navigating to shopping list screen

* Move Compose libraries setup to a plugin

* Implement loading full shopping list info

* Move Storage classes to database module

* Save shopping list items to DB

* Use separate names for separate ids

* Do only one DB version update

* Use unique names for all columns

* Display shopping list items

* Move OperationUiState to ui module

* Subscribe to shopping lists updates

* Indicate progress with progress bar

* Use strings from resources

* Format shopping list item quantities

* Hide unit/food/note/quantity if they are not set

* Implement updating shopping list item checked state

* Remove unnecessary null checks

* Disable checkbox when it is being updated

* Split shopping list screen into composables

* Show items immediately if they are saved

* Fix showing "list is empty" before the items

* Show Snackbar when error happens

* Reduce shopping list items paddings

* Remove shopping lists when URL is changed

* Add error/empty state handling to shopping lists

* Fix empty error state

* Fix tests compilation

* Add margin between text and button

* Add divider between checked and unchecked items

* Move divider to the item

* Refresh the shopping lists on authentication

* Use retry when necessary

* Remove excessive logging

* Fix pages bounds check

* Move FlowExtensionsTest

* Update Compose version

* Fix showing loading indicator for shopping lists

* Add Russian translation

* Fix SDK version lint check

* Rename parameter to match interface

* Add DB migration TODO

* Get rid of DB migrations

* Do not use pagination with shopping lists

* Cleanup after the pagination removal

* Load shopping list items

* Remove shopping lists storage

* Rethrow CancellationException in LoadingHelper

* Add pull-to-refresh on shopping list screen

* Extract LazyColumnWithLoadingState

* Split refresh errors and loading state

* Reuse LazyColumnWithLoadingState for shopping list items

* Remove paging-compose dependency

* Refresh shopping list items on authentication

* Disable missing translation lint check

* Update Compose and Kotlin versions

* Fix order of checked items

* Hide useless information from a shopping list item
2023-07-03 15:07:19 +02:00
Kirill Kamakin
a40f9a78ea Bump app version (#154) 2023-07-02 09:23:20 +02:00
Kirill Kamakin
3f93578ff0 Enable per-app language support (#153) 2023-07-02 09:20:05 +02:00
Kirill Kamakin
53c4950a00 New Crowdin updates (#150)
* New translations strings.xml (Spanish)

* New translations short_description.txt (Spanish)

* New translations full_description.txt (Spanish)

* New translations 23.txt (Spanish)

* New translations 24.txt (Spanish)

* New translations 25.txt (Spanish)

* New translations 26.txt (Spanish)

* New translations 27.txt (Spanish)

* New translations plurals.xml (Spanish)

* New translations title.txt (Spanish)
2023-07-02 08:49:13 +02:00
Kirill Kamakin
266afddbe2 New Crowdin updates (#148)
* New translations strings.xml (Russian)

* New translations plurals.xml (Russian)
2023-06-29 20:42:32 +02:00
Kirill Kamakin
980bcb1f43 Update email input field hint 2023-04-07 15:05:18 +02:00
Kirill Kamakin
559ddb6056 Add search icon 2023-04-07 14:29:52 +02:00
Kirill Kamakin
9b03cfcbb4 Show Toast when recipe favorite status is updated 2023-04-07 14:14:25 +02:00
Kirill Kamakin
b78d30790f Increase space between recipes 2023-04-07 14:13:45 +02:00
Kirill Kamakin
132e12cab7 Increase search bar size 2023-04-07 14:13:45 +02:00
Kirill Kamakin
05f1c974a6 Update unit tests accordingly 2023-04-07 13:58:09 +02:00
Kirill Kamakin
12d39282de Bump version to 0.3.12 (27) 2023-04-07 13:38:40 +02:00
Kirill Kamakin
fba266fcb0 Fallback to V1 if server version is unknown 2023-04-07 13:30:35 +02:00
Kirill Kamakin
f322112405 Fallback to HTTP if 443 is closed too 2022-12-22 18:48:46 +01:00
Kirill Kamakin
05058091e9 Add BaseURLViewModel tests 2022-12-22 18:39:31 +01:00
Kirill Kamakin
0bf4747d18 Inline scheme names 2022-12-21 22:44:47 +01:00
Kirill Kamakin
04474c3055 Remove redundant trim from base URL VM 2022-12-21 22:36:02 +01:00
Kirill Kamakin
e8077f460a Improve logging of base URL recovery 2022-12-21 22:26:50 +01:00
Kirill Kamakin
8e509894f8 Bump app version 2022-12-21 22:26:27 +01:00
Kirill Kamakin
99fcbaa899 Fix showing SSL errors if no scheme was specified 2022-12-21 22:25:03 +01:00
Kirill Kamakin
67bd83bf44 Extract URLs dispatcher to a separate method 2022-12-17 11:44:33 +01:00
Kirill Kamakin
e16dee3ee5 Extract base test case 2022-12-16 22:10:03 +01:00
Kirill Kamakin
0ebcc8709c Add Gradle managed virtual device 2022-12-16 21:50:12 +01:00
Kirill Kamakin
caaebfd127 Remove redundant / in test data 2022-12-16 21:43:35 +01:00
Kirill Kamakin
77395a07f4 Add base url setup to sign in test 2022-12-16 21:43:35 +01:00
Kirill Kamakin
8c3ec9a40d Enable AndroidX test orchestrator 2022-12-16 21:43:34 +01:00
Kirill Kamakin
24388192e1 Add first Kaspresso test 2022-12-16 21:43:34 +01:00
Kirill Kamakin
913ac84310 Fix authentication with API token on v0.5.6 2022-12-16 21:27:17 +01:00
Kirill Kamakin
c1a292851a Add ViewModel tests 2022-12-16 21:19:19 +01:00
Kirill Kamakin
9a3a30aca2 Add repo tests 2022-12-16 20:49:33 +01:00
Kirill Kamakin
226097d096 Remove recipe from local db when deleted 2022-12-16 20:24:40 +01:00
Kirill Kamakin
28fa19c988 Fix delete icon end margin 2022-12-16 20:07:55 +01:00
Kirill Kamakin
878fc8f080 Replace LiveData with Flow for delete result 2022-12-16 20:06:44 +01:00
Kirill Kamakin
0c532f9d7a Add missing Russian translations 2022-12-16 19:43:59 +01:00
Kirill Kamakin
822fdf86e4 Show confirmation dialog before deleting recipe 2022-12-16 19:42:46 +01:00
Kirill Kamakin
9ab86e7be3 Initialize recipe removal feature 2022-12-16 17:56:03 +01:00
Kirill Kamakin
7da36931ac Fix failing tests 2022-12-16 17:48:15 +01:00
Kirill Kamakin
16421d6a2a Add tests for some affected components 2022-12-16 17:41:01 +01:00
Kirill Kamakin
95fc135923 Add missing Russian translation 2022-12-16 17:24:35 +01:00
Kirill Kamakin
a20694e7fd Hide/show favorite icon on sign-out/sign-in 2022-12-16 17:24:35 +01:00
Kirill Kamakin
cd3931e147 Show error message when favorite update fails 2022-12-16 17:24:35 +01:00
Kirill Kamakin
30ee8ecdea Add TODOs 2022-12-16 17:24:35 +01:00
Kirill Kamakin
0b65c59b59 Ignore favorites errors when updating recipes 2022-12-16 17:24:34 +01:00