1- Create a radio list of the following options where one of them can be selected for downloading: https://github.com/bumptech/glide https://github.com/udacity/nd940-c3-advanced-android-programming-project-starter https://github.com/square/retrofit
2- Create a custom loading button by extending View class and assigning custom attributes to it
3- Animate properties of the custom button once it’s clicked
4- Add the custom button to the main screen, set on click listener and call download() function with selected Url
5- If there is no selected option, display a Toast to let the user know to select one.
6- Once the download is complete, send a notification with custom style and design
7- Add a button with action to the notification, that opens a detailed screen of a downloaded repository
8- Create the details screen and display the name of the repository and status of the download
9- Use declarative XML with motionLayout to coordinate animations across the views on the detail screen
10- Add a button to the detail screen to return back to the main screen.