package com.badoo.chateau.core.repos.istyping; import android.support.annotation.NonNull; import com.badoo.barf.data.repo.Query; import com.badoo.chateau.core.model.User; /** * Query class for performing operations on the IsTypingRepository */ public abstract class IsTypingQueries { /** * Query for notifying that the current user is typing */ public static class SendIsTyping implements Query<Void> { private final String mConversationId; public SendIsTyping(@NonNull String conversationId) { mConversationId = conversationId; } public String getConversationId() { return mConversationId; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; SendIsTyping that = (SendIsTyping) o; return mConversationId.equals(that.mConversationId); } @Override public int hashCode() { int result = super.hashCode(); result = 31 * result + mConversationId.hashCode(); return result; } @Override public String toString() { return "SendIsTyping{" + "mConversationId='" + mConversationId + '\'' + '}'; } } /** * Query for subscribing to updates when other users are typing */ public static class SubscribeToUsersTypingQuery<U extends User> implements Query<U> { private final String mConversationId; public SubscribeToUsersTypingQuery(@NonNull String conversationId) { mConversationId = conversationId; } public String getConversationId() { return mConversationId; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; SubscribeToUsersTypingQuery that = (SubscribeToUsersTypingQuery) o; return mConversationId.equals(that.mConversationId); } @Override public int hashCode() { int result = super.hashCode(); result = 31 * result + mConversationId.hashCode(); return result; } @Override public String toString() { return "SubscribeToUsersTyping{" + "mConversationId='" + mConversationId + '\'' + '}'; } } }