From 750729c87de4cb4b818ff4e97b6560c507b901f8 Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Mon, 10 Jul 2017 14:49:04 +0200 Subject: [PATCH] fix markdown display --- Habitica/AndroidManifest.xml | 4 +-- .../social/ChatRecyclerViewAdapter.java | 34 +++++++++---------- .../ui/fragments/social/ChatListFragment.java | 2 +- .../social/InboxMessageListFragment.java | 4 +-- .../social/party/PartyDetailFragment.java | 3 +- .../utils/ChatMessageDeserializer.java | 2 -- 6 files changed, 23 insertions(+), 26 deletions(-) diff --git a/Habitica/AndroidManifest.xml b/Habitica/AndroidManifest.xml index e0552226e..8f583ead6 100644 --- a/Habitica/AndroidManifest.xml +++ b/Habitica/AndroidManifest.xml @@ -2,8 +2,8 @@ diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/ChatRecyclerViewAdapter.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/ChatRecyclerViewAdapter.java index f7402aa31..c292930cd 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/ChatRecyclerViewAdapter.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/ChatRecyclerViewAdapter.java @@ -19,6 +19,7 @@ import com.habitrpg.android.habitica.R; import com.habitrpg.android.habitica.models.social.ChatMessage; import com.habitrpg.android.habitica.models.user.User; import com.habitrpg.android.habitica.ui.helpers.DataBindingUtils; +import com.habitrpg.android.habitica.ui.helpers.MarkdownParser; import net.pherth.android.emoji_library.EmojiTextView; @@ -30,15 +31,14 @@ import butterknife.OnClick; import io.realm.OrderedRealmCollection; import io.realm.RealmRecyclerViewAdapter; import rx.Observable; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; import rx.subjects.PublishSubject; public class ChatRecyclerViewAdapter extends RealmRecyclerViewAdapter { private User user; private String uuid; - private String groupId; - private boolean isInboxChat = false; - private String replyToUserUUID; private User sendingUser; private PublishSubject likeMessageEvents = PublishSubject.create(); @@ -49,17 +49,10 @@ public class ChatRecyclerViewAdapter extends RealmRecyclerViewAdapter copyMessageAsTodoEvents = PublishSubject.create(); private PublishSubject copyMessageEvents = PublishSubject.create(); - public ChatRecyclerViewAdapter(@Nullable OrderedRealmCollection data, boolean autoUpdate, User user, String groupId) { + public ChatRecyclerViewAdapter(@Nullable OrderedRealmCollection data, boolean autoUpdate, User user) { super(data, autoUpdate); this.user = user; if (user != null) this.uuid = user.getId(); - this.groupId = groupId; - } - - - public void setToInboxChat(String replyToUserUUID) { - this.replyToUserUUID = replyToUserUUID; - this.isInboxChat = true; } public void setSendingUser(@Nullable User user) { @@ -70,7 +63,7 @@ public class ChatRecyclerViewAdapter extends RealmRecyclerViewAdapter { + chatMessage.parsedText = parsedText; + messageText.setText(chatMessage.parsedText); + }, Throwable::printStackTrace); } this.messageText.setMovementMethod(LinkMovementMethod.getInstance()); } @@ -260,8 +262,6 @@ public class ChatRecyclerViewAdapter extends RealmRecyclerViewAdapter FullProfileActivity.open(getContext(), userId), RxErrorHandler.handleEmptyError())); compositeSubscription.add(chatAdapter.getDeleteMessageEvents().subscribe(this::showDeleteConfirmationDialog, RxErrorHandler.handleEmptyError())); compositeSubscription.add(chatAdapter.getFlatMessageEvents().subscribe(this::showFlagConfirmationDialog, RxErrorHandler.handleEmptyError())); diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxMessageListFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxMessageListFragment.java index e5a0cc564..fd1156729 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxMessageListFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxMessageListFragment.java @@ -79,8 +79,7 @@ public class InboxMessageListFragment extends BaseMainFragment //layoutManager.setStackFromEnd(false); recyclerView.setLayoutManager(layoutManager); - chatAdapter = new ChatRecyclerViewAdapter(null, true, user, null); - chatAdapter.setToInboxChat(this.replyToUserUUID); + chatAdapter = new ChatRecyclerViewAdapter(null, true, user); chatAdapter.setSendingUser(this.user); recyclerView.setAdapter(chatAdapter); compositeSubscription.add(chatAdapter.getUserLabelClickEvents().subscribe(userId -> FullProfileActivity.open(getContext(), userId), RxErrorHandler.handleEmptyError())); @@ -156,7 +155,6 @@ public class InboxMessageListFragment extends BaseMainFragment UiUtils.dismissKeyboard(getActivity()); } - public void setReceivingUser(String chatRoomUser, String replyToUserUUID) { this.chatRoomUser = chatRoomUser; this.replyToUserUUID = replyToUserUUID; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartyDetailFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartyDetailFragment.java index 9b2dd87a7..2ede01b90 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartyDetailFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/party/PartyDetailFragment.java @@ -24,6 +24,7 @@ import com.habitrpg.android.habitica.models.user.User; import com.habitrpg.android.habitica.modules.AppModule; import com.habitrpg.android.habitica.ui.fragments.BaseFragment; import com.habitrpg.android.habitica.ui.helpers.DataBindingUtils; +import com.habitrpg.android.habitica.ui.helpers.MarkdownParser; import com.habitrpg.android.habitica.ui.views.social.QuestProgressView; import javax.inject.Inject; @@ -138,7 +139,7 @@ public class PartyDetailFragment extends BaseFragment { return; } titleView.setText(party.name); - descriptionView.setText(party.description); + descriptionView.setText(MarkdownParser.parseMarkdown(party.description)); if (quest.key != null) { newQuestButton.setVisibility(View.GONE); diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/ChatMessageDeserializer.java b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/ChatMessageDeserializer.java index e574aad8b..0af1c5b0b 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/ChatMessageDeserializer.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/ChatMessageDeserializer.java @@ -5,14 +5,12 @@ import com.google.gson.JsonDeserializer; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParseException; -import com.google.gson.reflect.TypeToken; import com.habitrpg.android.habitica.models.social.Backer; import com.habitrpg.android.habitica.models.social.ChatMessage; import com.habitrpg.android.habitica.models.social.ChatMessageLike; import com.habitrpg.android.habitica.models.user.ContributorInfo; import java.lang.reflect.Type; -import java.util.HashMap; import java.util.Map; import io.realm.RealmList;