Fix #612 (again? :D)

Signed-off-by: Mario Danic <mario@lovelyhq.com>
This commit is contained in:
Mario Danic 2019-09-03 13:45:24 +02:00
parent 639c0e8e5a
commit 98e1168b25
3 changed files with 75 additions and 2 deletions

View file

@ -48,6 +48,7 @@ import com.nextcloud.talk.application.NextcloudTalkApplication;
import com.nextcloud.talk.controllers.base.BaseController;
import com.nextcloud.talk.events.BottomSheetLockEvent;
import com.nextcloud.talk.models.json.conversations.Conversation;
import com.nextcloud.talk.utils.EmojiTextInputEditText;
import com.nextcloud.talk.utils.ShareUtils;
import com.nextcloud.talk.utils.bundle.BundleKeys;
import com.nextcloud.talk.utils.database.user.UserUtils;
@ -71,7 +72,7 @@ public class EntryMenuController extends BaseController {
Button proceedButton;
@BindView(R.id.text_edit)
TextInputEditText editText;
EmojiTextInputEditText editText;
@BindView(R.id.text_input_layout)
TextInputLayout textInputLayout;

View file

@ -0,0 +1,72 @@
/*
* Nextcloud Talk application
*
* @author Mario Danic
* Copyright (C) 2017-2019 Mario Danic <mario@lovelyhq.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.nextcloud.talk.utils;
import android.content.Context;
import android.util.AttributeSet;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputConnection;
import androidx.emoji.widget.EmojiEditTextHelper;
import com.google.android.material.textfield.TextInputEditText;
public class EmojiTextInputEditText extends TextInputEditText {
private EmojiEditTextHelper emojiEditTextHelper;
public EmojiTextInputEditText(Context context) {
super(context);
init();
}
public EmojiTextInputEditText(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public EmojiTextInputEditText(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
private void init() {
super.setKeyListener(getEmojiEditTextHelper().getKeyListener(getKeyListener()));
}
@Override
public void setKeyListener(android.text.method.KeyListener keyListener) {
super.setKeyListener(getEmojiEditTextHelper().getKeyListener(keyListener));
}
@Override
public InputConnection onCreateInputConnection(EditorInfo outAttrs) {
InputConnection inputConnection = super.onCreateInputConnection(outAttrs);
return getEmojiEditTextHelper().onCreateInputConnection(inputConnection, outAttrs);
}
private EmojiEditTextHelper getEmojiEditTextHelper() {
if (emojiEditTextHelper == null) {
emojiEditTextHelper = new EmojiEditTextHelper(this);
}
return emojiEditTextHelper;
}
}

View file

@ -54,7 +54,7 @@
app:passwordToggleDrawable="@drawable/asl_password_visibility"
app:passwordToggleTint="@color/grey_600">
<com.google.android.material.textfield.TextInputEditText
<com.nextcloud.talk.utils.EmojiTextInputEditText
android:id="@+id/text_edit"
android:layout_width="match_parent"
android:layout_height="wrap_content"