I don't think it's an acceptable solution to store (duplicatively) the user's profile in the preference and then fake a log-in in the interface. The model (or the firebase library) should be authoritative on user status, especially given that authentication happens in the back-end.
The correct solution in my view, would be to make sure that the log-in state is accurate in the presenter.
Discussed in private, this is actually a relatively common practice.
Discussed in private, this is actually a relatively common practice.