Kirill Kamakin
edfac85e8e
Extract dagger modules to di package
2021-12-27 11:03:38 +03:00
Kirill Kamakin
b5249e4bf6
Replace Glide with Picasso ( #19 )
2021-11-28 13:41:21 +00:00
Kirill Kamakin
cc2fb77269
Add Stetho to debug application ( #18 )
2021-11-28 13:32:05 +00:00
Kirill Kamakin
a15fac7c7e
Hide error when text is entered ( #14 )
2021-11-27 16:36:30 +00:00
Kirill Kamakin
44458dd146
Fix a number of lint issues ( #2 )
...
* Fix systemUiVisibility deprecation warnings
This commit extracts setSystemUiVisibility as
an extension and uses the new API depending on
the Build.VERSION
* Fix splash fragment vector issues
Clip-path isn't available before V24 and
width/height should not exceed 200 dp.
* Remove unused disclaimer fragment header
* Remove unused ic_launcher_round
* Ignore IconMissingDensityFolder lint
Ignoring it because all the images are vector
* Ignore UnusedAttribute lint
It warns about networkSecurityConfig which
is used only in debug builds to allow
user SSL certificates. Lint says it's not
available before v24. But it doesn't matter
since before v24 the user SSL certificates
were allowed by default.
* Use plurals for disclaimer count down
2021-11-27 13:10:00 +00:00
Kirill Kamakin
0586776a3e
Fix image loader duplicating slashes
2021-11-27 12:34:37 +03:00
Kirill Kamakin
339f8327de
Implement URL input format checks
2021-11-27 12:27:25 +03:00
Kirill Kamakin
9ea2facc8d
Extract recipe info adapters to ViewModel
2021-11-27 10:44:28 +03:00
Kirill Kamakin
715e63a1d4
Specify RecipeInfoFragment's layout managers in xml
2021-11-27 10:39:57 +03:00
Kirill Kamakin
cc5c9edb1f
Refactor RecipesFragment
...
This commit extracts SwipeRefreshLayout extension to a
separate file. Additionally, it refactors RecipesFragment in
order to move all the logic to the ViewModel from the View.
2021-11-27 00:22:52 +03:00
Kirill Kamakin
897698ab02
Extract remote classes to local ones mapping
2021-11-27 00:21:15 +03:00
Kirill Kamakin
b3d03c5281
Extract SharedPreferences extensions to a file
2021-11-27 00:19:49 +03:00
Kirill Kamakin
dc6084ee25
Move auth response handling to runCatching
...
runCatching is easier to read and understand than mapCatching
2021-11-27 00:18:56 +03:00
Kirill Kamakin
b5606f3241
Move network extensions to separate file
2021-11-27 00:18:12 +03:00
Kirill Kamakin
20c19fd644
Move RoomTypeConverters to util
2021-11-27 00:17:18 +03:00
Kirill Kamakin
91078de1a7
Replace PagingSource factory with Google's impl
2021-11-26 19:39:44 +03:00
Kirill Kamakin
e701b5d7df
Show recipe info in bottom sheet dialog
2021-11-25 20:06:53 +03:00
Kirill Kamakin
57babcbd1f
Fix using trySendBlocking where trySend must be
2021-11-23 23:48:53 +03:00
Kirill Kamakin
db2a0b4a94
Wait a second on splash to show image properly
2021-11-23 22:16:22 +03:00
Kirill Kamakin
20cb747b2a
Change fullscreen state as soon as possible in splash
2021-11-23 22:16:05 +03:00
Kirill Kamakin
d8b4245eef
Remove app title after user authenticates
2021-11-23 21:04:16 +03:00
Kirill Kamakin
0b00868acc
Add icon to the app toolbar
2021-11-23 21:03:43 +03:00
Kirill Kamakin
5639fe4517
Implement toolbar hiding on scroll
2021-11-21 20:45:15 +03:00
Kirill Kamakin
d36ebfe50c
Show auth errors to the user
2021-11-21 17:29:44 +03:00
Kirill Kamakin
808e1ce359
Map auth errors to internal representation
2021-11-21 17:27:22 +03:00
Kirill Kamakin
0121e90c99
Make bottom left toolbar corner rounded
2021-11-21 15:41:27 +03:00
Kirill Kamakin
0a0472c17d
Fix ability to click login twice
2021-11-20 22:59:13 +03:00
Kirill Kamakin
dd9c302729
Reuse OkHttp instance
2021-11-20 22:23:51 +03:00
Kirill Kamakin
a6e948ca6b
Fix calling navigateToAuth twice and even more
...
Calling that method several times in a row is not supported,
Navigation library throws an Exception saying it doesn't know how
to navigate there
2021-11-20 22:07:43 +03:00
Kirill Kamakin
70c0df1cf7
Fix ConcurrentModificationException in RecipePagingSourceFactory
...
It seems that it is possible to launch several coroutines on same
main thread of application. That's why it is possible to launch both
invoke and invalidate at the same time even though they are marked as
synchronized. To fix the issue this commit uses a concurrent collection
instead of synchronization.
2021-11-20 21:13:26 +03:00
Kirill Kamakin
8239f11f13
Add more verbose logging
2021-11-20 20:32:37 +03:00
Kirill Kamakin
1d2c5584a8
Read instructions step header from resources
2021-11-20 20:21:46 +03:00
Kirill Kamakin
ff4be6807f
Add splash screen
2021-11-20 20:11:19 +03:00
Kirill Kamakin
4b817ba404
Add disclaimer fragment
2021-11-20 18:43:33 +03:00
Kirill Kamakin
0e4016150a
Observe auth statuses as LiveData, not Flow
2021-11-20 15:37:03 +03:00
Kirill Kamakin
e39b8ae354
Provide SharedPreferences via Hilt
2021-11-20 15:36:13 +03:00
Kirill Kamakin
1985764340
Fix ConcurrentModificationException caused by coroutines
2021-11-20 14:07:09 +03:00
Kirill Kamakin
5866584d14
Replace "Mealie" with "Mealient" everywhere
2021-11-20 13:44:07 +03:00
Kirill Kamakin
9d948616c9
Remove empty file
2021-11-20 00:47:37 +03:00
Kirill Kamakin
d64a49b31f
Fix opening recipe info without ingredients/instructions
2021-11-17 23:21:37 +03:00
Kirill Kamakin
a67a3a5de0
Implement opening of recipe info card
2021-11-17 22:59:01 +03:00
Kirill Kamakin
7ebe89adfc
Implement loading and saving full recipe info
2021-11-17 20:44:14 +03:00
Kirill Kamakin
de6ca65b19
Rename RecipeEntity to RecipeSummaryEntity
2021-11-17 19:34:45 +03:00
Kirill Kamakin
c2129c763e
Implement proper loading of recipe summaries
2021-11-16 22:41:21 +03:00
Kirill Kamakin
c3cc48e911
Update diff callback logic
2021-11-15 19:43:30 +03:00
Kirill Kamakin
9da3c44d40
Support showing placeholders in recipe view holders
2021-11-15 19:43:30 +03:00
Kirill Kamakin
96d337e7a1
Fit image
2021-11-15 19:43:30 +03:00
Kirill Kamakin
37e89d0c2b
Allow loading images from null urls with Glide
2021-11-15 19:43:30 +03:00
Kirill Kamakin
e2050f3f28
Fix attempts to load images with null slug
2021-11-15 19:43:30 +03:00
Kirill Kamakin
99c5d24a98
Extract recipe view holder to separate file
2021-11-15 19:43:29 +03:00