darrenatherton49 / upnext Goto Github PK
View Code? Open in Web Editor NEWAn Android app to track your favourite movies and TV shows.
License: Apache License 2.0
An Android app to track your favourite movies and TV shows.
License: Apache License 2.0
Always test the release APK, especially for missing ProGuard rules etc.
Update the iconography in the app, for example:
On the content detail screen, a movie or TV show has a list of genre chips. These chips should be clickable. When clicked, the user should be shown movies or TV shows for that genre (as a discover filter/tab).
Add setting to navigate to show or movie watch list after adding it on the detail screen.
One the tv show detail screen, show only the first runtime by default.
Add setting to show all runtimes for episodes instead of just one.
Use the release checklist to make sure everything is done:
https://developer.android.com/distribute/best-practices/launch/launch-checklist
When the user clicks the view mode toggle from grid -> list, the app should show a list of movies or TV shows instead of a grid.
Implement the list mode XML layout.
Implement a screen similar to YouTube where you can create a new list. If this screen is navigated to from the 'add to list' dialog, automatically add the movie/tv show passed in after the new list has been created.
Decide when to invalidate/delete some of the past searches. E.g. only keep the 50 most recent searches and search results.
RoomSearchTerm
RoomSearchResult
Abstract the Dao's and Retrofit services behind a 'DataSource' interface for testing.
Go through the play store listing and optimise everything.
Go through every screen and make sure they are consistent with each other - there should be some sort of 'design language' feel to the app.
For each screen that can have errors, change error layout so that whole screen is clickable to retry instead of just a button.
Have option to sort the list items, e.g. in the movie watch list
Pre-load and cache the data needed for discover to work instantly (use WorkManager to periodically fetch data and also fetch it on first app run).
Show fallback data and offline message (as a SnackBar) if the network requests fail but we still have database data for each screen.
Fetch and store a new config every 3 days (call the ConfigRepository refreshConfig() function) as per TMDB documentation.
Check for Google play policy compliance - read the guidelines on compliance and the different rules, especially on copyright etc.
Implement advanced search/filters. E.g. by genre (using Discover API). Advanced search can be found on the 'Discover' screen.
fun onMenuItemClicked(menuItem: MenuItem): Boolean
in each Fragment.Add ability to follow a person as well as a tv show and movie so you can go through and watch someone's filmography.
Implement person detail screen - use a RecyclerView
similar to the content detail screen so that we can customise and re-order sections.
Figure out when to invalidate data, e.g. stored movies, tv shows and people.
Ensure that all XML layouts are shallow and fast - use ConstraintLayout where needed.
Add privacy policy:
Have a look at the different ViewMapper files and see if they can be sorted or split out into better-related functionality.
Go through all TextViews and Buttons and ensure that:
Implement remaining sections on detail screen such as 'seasons' in the buildContentDetailSections
function.
RoomMovieListJoin
entity when constructing list items. If the movie exists in that table for a given list id
, then the item isChecked
should be true
. Return a list of ContentListStatus
containing the list data and the isChecked
status.ViewMapper files (e.g. data -> domain) have many functions in now. We need to either find a way to split them into separate files or organise the functions by functionality.
Have option to sort the list items, e.g.
When user navigates to the content detail screen, we should show whether or not the movie or TV show has been watched.
The discover screen shows data in tabs from different data sources such as 'Now Playing' and 'Popular'. Figure out which tabs are best to show and in what order.
When each screen rotates, it should:
Implement Shows Screen
This should be displayed as tabs in ShowsFragment
.
Add genres tab to the discover screen tabs to easily look at genre (as well as in the advanced filter).
Cut down all data models I don't use to decrease memory footprint.
For example on the list/grid screens, we probably don't need a lot of the attributes other than the name and the image urls for the content. Then when we navigate to the detail screen, we get everything.
Ensure that all ViewHolders use 'LayoutContainer' from kotlin android extensions on ViewHolders for view caching.
Every screen should have consistent loading and error visuals.
We need to create a launcher icon (an adaptive icon).
https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive
https://proandroiddev.com/android-adaptive-icons-are-easier-than-you-think-3c66be2dd4dd
Look at the pre-launch report and fix any issues in there.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.