MVP vs MVVM vs MVI
Short summary of this really well written article:
Pattern overview
MVP, MVVM, and MVI are some of the common patterns in Android and they can broadly be thought of as different flavours of the same core concept — abstracting logic from the UI into classes without references to Android. The main way in which they differ is how those classes accept their inputs and how they then output updates to the UI.MVP
The defining feature of MVP is that data is communicated back to the view imperatively.