I'm new to Android Architecture Components / MVVM and would like to know what's the best way to implement communication between views.
So let's say I have A_View, A_View_Model, B_View and B_View_Model classes. As the user is interacting with A_View I need to update B_View (display a new image for example). Is it ok for A_View to get reference to B_View_Model and call a method that would trigger a LiveData causing B_View to update? To generalize the question, is it ok for a View to access other ViewModels to communicate with other Views?
Google's fragment communication example uses a "common" ViewModel to communicate. Is this necessary? Can't I just use the View's own ViewModel?
Also how do you handle if you want to update multiple views. Do you create a Controller/Presenter that has references to multiple ViewModels and invoke them accordingly?