diff options
author | desperateCoder <echotodevnull@gmail.com> | 2020-09-04 19:36:44 +0300 |
---|---|---|
committer | Niedermann IT-Dienstleistungen <stefan-niedermann@users.noreply.github.com> | 2020-09-04 20:03:12 +0300 |
commit | 2d6506f070391e0a123ecf9f63a4af356897cb16 (patch) | |
tree | 267069500e871aa4e3d320882f2e723dd7592b23 /app/src/main/java/it/niedermann/nextcloud/deck/ui/card | |
parent | 1f0df276cb8729f92acb190c59d8be084718c4f0 (diff) |
#673 username substitution
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud/deck/ui/card')
-rw-r--r-- | app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CardCommentsMentionProposer.java | 29 |
1 files changed, 20 insertions, 9 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CardCommentsMentionProposer.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CardCommentsMentionProposer.java index eab2771d1..bc9178857 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CardCommentsMentionProposer.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/comments/CardCommentsMentionProposer.java @@ -83,15 +83,8 @@ public class CardCommentsMentionProposer implements TextWatcher { for (User user : users) { final ImageView avatar = new ImageView(mentionProposerLayout.getContext()); avatar.setLayoutParams(layoutParams); - avatar.setOnClickListener((c) -> { - editText.setText( - s.subSequence(0, mentionProposal.second) + - user.getUid() + - s.subSequence(mentionProposal.second + mentionProposal.first.length() + 1, s.length() - 1) - ); - editText.setSelection(mentionProposal.second + user.getUid().length()); - mentionProposerLayout.setVisibility(View.GONE); - }); + updateListenerOfView(avatar, s, mentionProposal, user); + mentionProposerLayout.addView(avatar); Glide.with(avatar.getContext()) @@ -102,6 +95,12 @@ public class CardCommentsMentionProposer implements TextWatcher { } this.users.clear(); this.users.addAll(users); + } else { + int i = 0; + for (User user : users) { + updateListenerOfView(mentionProposerLayout.getChildAt(i), s, mentionProposal, user); + i++; + } } }); } else { @@ -112,6 +111,18 @@ public class CardCommentsMentionProposer implements TextWatcher { } } + private void updateListenerOfView(View avatar, CharSequence s, Pair<String, Integer> mentionProposal, User user) { + avatar.setOnClickListener((c) -> { + editText.setText( + s.subSequence(0, mentionProposal.second) + + user.getUid() + + s.subSequence(mentionProposal.second + mentionProposal.first.length(), s.length()) + ); + editText.setSelection(mentionProposal.second + user.getUid().length()); + mentionProposerLayout.setVisibility(View.GONE); + }); + } + @Override public void afterTextChanged(Editable s) { |