Я разрабатываю приложение чата с использованием MVP и хочу отобразить изображение профиля (аватар) пользователя, отправляющего сообщение, как обычные приложения чата, но я не знаю, как получить доступ к узлу «пользователи»на основе отправителя сообщения.Моя структура базы данных выглядит следующим образом:

Я получаю сообщения, подобные этому:
Interactor:
@Override
public void getChatRoomMessages(String uid) {
mMessageReference.child(uid).addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
mMessage = dataSnapshot.getValue(Message.class);
mMessagePresenter.showMessages(mMessage);
}
@Override
public void onChildChanged(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
}
...
}
Мой класс адаптера:
public class MessageAdapter extends RecyclerView.Adapter<MessageAdapter.MessageViewHolder> {
private List<Message> mMessages = new ArrayList<>();
@Override
public void onBindViewHolder(@NonNull MessageAdapter.MessageViewHolder holder, int position) {
//set avatar of user
Message msg = mMessages.get(position);
int userid = msg.getSender();
//use userid to query user node
}
public void addMessages(Message message) {
mMessages.add(message);
notifyItemChanged(mMessages.size() - 1);
}
Мне нужно запросить пользовательский узел на основе идентификатора пользователя «отправителя», но с подходом MVP я не могу сделать это в классе адаптера.Где и как я могу запросить пользовательский узел, используя идентификатор пользователя из «отправителя»?