Commit Graph

40 Commits

Author SHA1 Message Date
Kirill Kamakin
1ee0456494 Use repeatOnLifecycle 2022-11-05 10:57:56 +01:00
Kirill Kamakin
b7bb6c8566 Simplify edge case handling 2022-11-05 10:40:15 +01:00
Kirill Kamakin
33bdaf9726 Show load end/load failure toasts 2022-11-04 22:13:57 +01:00
Kirill Kamakin
714ff7d33f Request recipes on successful authorization 2022-11-04 21:51:14 +01:00
Kirill Kamakin
6280445a7c Move runCatchingExceptCancel to datasource 2022-10-29 19:31:02 +02:00
Kirill Kamakin
47addc3b90 Fix opening recipes on v0.5.6 2022-10-29 17:46:28 +02:00
Kirill Kamakin
45b1b07372 Fix absent images on v0.5.6 2022-10-29 17:33:39 +02:00
Kirill Kamakin
95205f8ffe Initialize v1 support 2022-08-14 18:19:42 +02:00
Kirill Kamakin
e0a4442e72 Create network module 2022-08-06 18:23:10 +02:00
Kirill Kamakin
107bb64256 Replace Timber with Logger 2022-08-05 20:16:29 +02:00
Kirill Kamakin
53b40bbc60 Extract database module 2022-08-04 19:34:21 +02:00
Kirill Kamakin
e18f726da5 Implement adding recipes through app 2022-06-12 12:49:18 +02:00
Kirill Kamakin
3079cd9588 Implement Glide image preload in RecyclerView 2022-04-18 18:08:06 +02:00
Kirill Kamakin
2686f757ea Replace Picasso with Glide 2022-04-18 13:17:07 +02:00
Kirill Kamakin
a5ae5e91cd Disable Picasso logging 2022-04-09 17:32:18 +05:00
Kirill Kamakin
a9e0842a38 Simplify RecipeInfoFragment code 2022-04-09 03:38:30 +05:00
Kirill Kamakin
e7620400b8 Use single UI state for activity 2022-04-09 03:06:02 +05:00
Kirill Kamakin
d2029438d7 Fix handling result in BaseURLFragment and AuthenticationFragment 2022-04-08 21:19:05 +05:00
Kirill Kamakin
7c081c199a Replace AccountManager with EncryptedSharedPreferences 2022-04-08 20:07:32 +05:00
Kirill Kamakin
eca325ebe4 Simplify error handling 2022-04-05 15:35:18 +05:00
Kirill Kamakin
f14afd2ebe Fix IllegalStateException when clicking login after logout
The previous login result was stored as live data and
prevented AuthenticationFragment from being shown
properly. However, an attempt to destroy RecipesFragment
was made. This attempt caused IllegalStateException
when accessing view in onDestroyView.
2022-04-04 20:52:14 +05:00
Kirill Kamakin
fb10333c2c Fix showing login/logout button on initial screens 2022-04-04 19:34:21 +05:00
Kirill Kamakin
c98feceab4 Fix pressing back on AuthenticationFragment
If login request isn't disabled when user presses
back then they might get navigated back to
authentication again.
2022-04-04 18:54:48 +05:00
Kirill Kamakin
468aa8c02a Implement login/logout functionality 2022-04-04 16:42:22 +05:00
Kirill Kamakin
f44f54522d Extract Base URL from authentication 2022-04-04 03:34:50 +05:00
Kirill Kamakin
7fc2887dc7 Major code refactoring
Main goals are:
1. Ability to use mocks in unit tests instead of
having to setup mock web server as if it was an
integration test.
2. Cache Retrofit services in memory
3. Make it easier to read
4. Use OptIn where possible instead of propagating
Experimental* annotations everywhere
2022-04-03 00:17:28 +05:00
Kirill Kamakin
b56f267979 Use viewLifecycleOwner to observe auth status
Even though views aren't modified when auth
status changes, we still need to operate
only when view is visible.
2022-04-02 18:12:32 +05:00
Kirill Kamakin
c8019e9c85 Implement hiding ingredients and instructions 2021-12-27 19:41:56 +03:00
Kirill Kamakin
50f6066416 Fix memory leaks found by LeakCanary 2021-12-27 14:26:35 +03:00
Kirill Kamakin
a36fec226d Use view binding property delegate (#22) 2021-12-27 08:37:10 +00: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
e701b5d7df Show recipe info in bottom sheet dialog 2021-11-25 20:06:53 +03:00
Kirill Kamakin
d8b4245eef Remove app title after user authenticates 2021-11-23 21:04:16 +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
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
0e4016150a Observe auth statuses as LiveData, not Flow 2021-11-20 15:37:03 +03:00
Kirill Kamakin
5866584d14 Replace "Mealie" with "Mealient" everywhere 2021-11-20 13:44:07 +03:00