Introduce ViewModel for IntroductionActivity (and ContactChooserFragment)
The IntroductionActivity and its two fragments do lots of work on the UI level, this should be migrated to a ViewModel scoped to the activity that both fragments also access.
Subtask of #1823.
- Check that contact list used displays correctly
- Go into a conversation
- menu → make introduction
- check that list does not contain the contact you're introducing
- Check that contact list used updates properly
- On some device (A) repeat steps from 1.
- While the contact selection list is open: use a different device (B) and sent a message to (A). Make sure the number of unread messages displayed on (A) updates and also the contact moves up to the top as it now is the contact with the last recent message
- Check that selecting a contact works
- Repeat steps from 1.
- select a contact and check that the next screen show the expected contacts
- Make sure going back to contact selection and repeatedly selecting contacts works as expected
- Repeat steps from 3.
- Navigate back to the list of contacts to introduce your contact to
- Select a different contact than before, check that the next screen show the contact selected the second time
- Just to be sure, try again with a third contact
- Check screen rotation doesn't break anything
- Repeat steps from 4.
- During navigation, rotate device at different times during the process