Commit 43321322 authored by Leonardo Aramaki's avatar Leonardo Aramaki

Add onMessageTap method to RoomPresenter differentiating a tap from a long press

parent f19c9522
......@@ -54,6 +54,8 @@ public interface RoomContract {
void onMessageSelected(@Nullable Message message);
void onMessageTap(@Nullable Message message);
void sendMessage(String messageText);
void resendMessage(@NonNull Message message);
......
......@@ -97,6 +97,7 @@ public class RoomFragment extends AbstractChatRoomFragment implements
OnBackPressListener,
ExtraActionPickerDialogFragment.Callback,
ModelListAdapter.OnItemLongClickListener<PairedMessage>,
ModelListAdapter.OnItemClickListener<PairedMessage>,
RoomContract.View {
private static final int DIALOG_ID = 1;
......@@ -208,6 +209,7 @@ public class RoomFragment extends AbstractChatRoomFragment implements
messageListAdapter = new MessageListAdapter(getContext(), hostname);
messageRecyclerView.setAdapter(messageListAdapter);
messageListAdapter.setOnItemLongClickListener(this);
messageListAdapter.setOnItemClickListener(this);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, true);
messageRecyclerView.setLayoutManager(linearLayoutManager);
......@@ -297,6 +299,11 @@ public class RoomFragment extends AbstractChatRoomFragment implements
return true;
}
@Override
public void onItemClick(PairedMessage pairedMessage) {
presenter.onMessageTap(pairedMessage.target);
}
private void setupToolbar() {
toolbar = getActivity().findViewById(R.id.activity_main_toolbar);
toolbar.getMenu().clear();
......
......@@ -112,16 +112,23 @@ public class RoomPresenter extends BasePresenter<RoomContract.View>
return;
}
if (message.getSyncState() == SyncState.FAILED) {
view.showMessageSendFailure(message);
}
if (message.getType() == null) {
if (message.getType() == null && message.getSyncState() == SyncState.SYNCED) {
// If message is not a system message show applicable actions.
view.showMessageActions(message);
}
}
@Override
public void onMessageTap(@Nullable Message message) {
if (message == null) {
return;
}
if (message.getSyncState() == SyncState.FAILED) {
view.showMessageSendFailure(message);
}
}
@Override
public void replyMessage(@NonNull Message message, boolean justQuote) {
this.absoluteUrlHelper.getRocketChatAbsoluteUrl()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment