The native Android app for Madlub website. Utilizes the GraphQL API that runs in that project
- Enable Apollo caching
Implement account through Android accounts- Add proper account selection
Handle no accounts inaccountManager.getAccountsByType
by sending them to AuthenticatorActivityMake network interface which adds operators to the network observable that on a 401 status invalidates token (throughmAccountManager.invalidateAuthToken
) and repeats once. The account manager should take over from there and call our authenticator that knows how to log in again to refresh
Implement login screen that uses the APIMake main activity the launcher activity, and thoroughly test the "go to login screen" logicImplement authenticated network access.Add logic that makes sure data is fetched/re-fetched in case user was thrown into authentication activityImplement configuration change persistence- Implement ShimmerLayout and/or ShimmerRecyclerView for loading dinners
Implement View type for dinners where user cooksParticipation countImplement participation shows correctly- Shopping icon should perform mutation
- Cancelling participation icon should perform mutation
- Dinnerclub infinite scroll
Implement scroll listenerIf nothing loaded, tell user end is reached- load more when scrolled to bottom
- load previous when scrolled to top, remember to reset scroll
If list is to short, replace bottom loader- Decide what to do when list is short. Do we do "Load more" button or make it try to load next segment?
- Dinnerclub list refresh
- On refresh reset date range we look at
- Headers showing month we are in.
- Make headers sticky
- Make action bar disappear on scroll, so there is more room for list and sticky header
- Add floating action button to create new dinners
- Implement fancy calendar selection, maybe with Squares claendar dialog view?
- Dinnerclub detail activities
- One for participant view
- Fix transition when selecting element partially underneath statusbar. Link
Make shared transition of appropriate icon depending on if participant or cookMake mail icon to edit icon, and make it show a pop-up dialog for typing a new meal, and perform mutationDiplay data from server, mix properly with local data- implement mutations for cancelled, shopped, participating, price etc.
- One for cook view
- One for participant view
- Fancy drag-and-drop for your dinners where user cook?
- When drag, add blank elements to signify free dates
- Create notifications that tell the user there is a dinnerclub the same day (if there is of course)
- Settings activity
- Enable/disable reminder notification
- Set notification reminder time
- Log out