* adding tests around the onboarding view model
- cases for the personalisation and display name actions
* adding base choose name fragment with UI
* add click handling for the display name actions
* adding tests around the onboarding view model
- cases for the personalisation and display name actions
* adding barebones profile picture fragment with ability to select a user avatar
* extracting uri filename resolving to a class which can be injected
- includes tests
* updating upstream avatar on profile picture save and continue step
- moves the personalisation state to a dedicated model to allow for back and forth state restoration
* adding test case for skipping profile picture setting
* taking the profile loading into account when rendering the onboarding loading
* extracting method for the handling of the profile picture selection
* adding dedicated camera icon for choosing profile picture
* adding toolbar to back to profile picture page
- this toolbar will fade in with the fragment as it sits at the fragment level, probably worth revisiting once more pages have a toolbar
* changing edit/add picture icon based on if we're already selected an image
* making use of debounced clicks to avoid potential extra clicks
* making the avatar height and camera icon relative percentage based
- also makes the avatar itself clicking, including a foreground ripple
* fixing formatting
* making use of fake session id for user id assertion
* using a real matrix id syntax for the fake session user id
* removing duplicated dimens
* using self closing imageview tag
* adding base choose name fragment with UI
* add click handling for the display name actions
* updating real account display name
* setting the initial disabled state when the view is created
* adding header padding which would have been a toolbar
* exiting the flow on display name updated or skipped, the next PR will introduce the profile picture screen
* updating view model state testing to take all emissions into account
* adding tests around the onboarding view model
- cases for the personalisation and display name actions
* using colorSecondary instead of accent as per quality script rule
* making use of viewevent delegating action for the back handling
* using debounced clicks
* consuming the back action when existing the display name fragment via viewmodel
* making the keyboard imeDone update the display name