You have to create a sample app with following:
A launcher screen with 2 buttons
On tap of Button 1, Screen 1 (Task 1):
Open a blank screen with two shapes, circle and square on bottom and an undo icon. If user taps circle, add a circle on the screen anywhere randomly.
If user taps on the square, add a square anywhere on the screen randomly. Undo icon will remove the last added shape from the screen.
Bonus: if you can avoid collisions of the shapes.
On tap of Button 2, Screen 2 (Task 2):
Open a screen and show a grid view of popular images from up splash using their public API. Bonus: if you use proper architecture, pagination and caching.
Reference https://unsplash.com/developers
Both of these tasks are designed to help us understand your knowledge of the framework. The first task is to understand your familiarity with UI layer and
2nd task it to understand your familiarity with architecture, latest components, threading and api integration.
Note: You are free to use any library you want which you will use in the production code.
The app has been implemented based on above requirements using MVVM, databinding, Kotlin coroutines, Retrofit for api call, Glide for image loading and caching. Implemented bonus points also for both tasks.
App has following UI classes.
Launcher and host activity for fragments.
Home screen containing 2 buttons to open task 1 and task 2.
Task 1 screen showing shape task
Task 2 screen showing images list in grid with pagination and caching. Popular images will be loaded from Unsplash public api.