Skip to content

Conversation

@aitorvs
Copy link
Collaborator

@aitorvs aitorvs commented Mar 8, 2021

Task/Issue URL: https://app.asana.com/0/414730916066338/1199916263225062/f
Tech Design URL:
CC:

Description:
The ViewModelFactory is in charge of creating all the view models for the whole app. Before it had to:

  • depend on all the dependencies required by the view models
  • have visibility of all the view model types
  • classes that needed a view model had to have a reference to the view model factory

By using the plugin pattern in this class we:

  • decoupled the view model Factory class from the actual factories that create the view models
  • both factories and the view model Factory can now live in different modules if needed without creating circular dependencies

Steps to test this PR:
This PR affects pretty much the whole app as it touches all the view models we've got. To test the PR test the common app screens to see if something is amiss.

  1. App compiles
  2. install/upgrade the app from this branch
  3. use the SERP to perform searches
  4. form the SERP, open several tabs
  5. add/remove bookmarks
  6. add/remove fireproof sites
  7. navigate to settings screen
  8. use fire button
  9. clear app data and go through onboarding UX
  10. for all above, verify app works as expected

Internal references:

Software Engineering Expectations
Technical Design Template

@aitorvs aitorvs requested a review from marcosholgado March 8, 2021 15:08
@aitorvs aitorvs force-pushed the feature/aitor/vmf_plugin branch from 62c957b to e704323 Compare March 8, 2021 15:10
@aitorvs aitorvs force-pushed the feature/aitor/vmf_plugin branch from e704323 to d8216fa Compare March 9, 2021 13:55
Copy link
Contributor

@marcosholgado marcosholgado left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice one @aitorvs! Ship 🇮🇹 !

@aitorvs aitorvs merged commit c3b4098 into develop Mar 11, 2021
@aitorvs aitorvs deleted the feature/aitor/vmf_plugin branch March 11, 2021 12:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants