Rabbit-R1/android (non root)/java/sources/androidx/emoji2/viewsintegration/EmojiInputConnection.java
2024-05-21 17:08:36 -04:00

53 lines
2.4 KiB
Java

package androidx.emoji2.viewsintegration;
import android.text.Editable;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputConnection;
import android.view.inputmethod.InputConnectionWrapper;
import android.widget.TextView;
import androidx.emoji2.text.EmojiCompat;
/* loaded from: classes2.dex */
final class EmojiInputConnection extends InputConnectionWrapper {
private final EmojiCompatDeleteHelper mEmojiCompatDeleteHelper;
private final TextView mTextView;
/* JADX INFO: Access modifiers changed from: package-private */
public EmojiInputConnection(TextView textView, InputConnection inputConnection, EditorInfo editorInfo) {
this(textView, inputConnection, editorInfo, new EmojiCompatDeleteHelper());
}
EmojiInputConnection(TextView textView, InputConnection inputConnection, EditorInfo editorInfo, EmojiCompatDeleteHelper emojiCompatDeleteHelper) {
super(inputConnection, false);
this.mTextView = textView;
this.mEmojiCompatDeleteHelper = emojiCompatDeleteHelper;
emojiCompatDeleteHelper.updateEditorInfoAttrs(editorInfo);
}
@Override // android.view.inputmethod.InputConnectionWrapper, android.view.inputmethod.InputConnection
public boolean deleteSurroundingText(int i, int i2) {
return this.mEmojiCompatDeleteHelper.handleDeleteSurroundingText(this, getEditable(), i, i2, false) || super.deleteSurroundingText(i, i2);
}
@Override // android.view.inputmethod.InputConnectionWrapper, android.view.inputmethod.InputConnection
public boolean deleteSurroundingTextInCodePoints(int i, int i2) {
return this.mEmojiCompatDeleteHelper.handleDeleteSurroundingText(this, getEditable(), i, i2, true) || super.deleteSurroundingTextInCodePoints(i, i2);
}
private Editable getEditable() {
return this.mTextView.getEditableText();
}
/* loaded from: classes2.dex */
public static class EmojiCompatDeleteHelper {
public boolean handleDeleteSurroundingText(InputConnection inputConnection, Editable editable, int i, int i2, boolean z) {
return EmojiCompat.handleDeleteSurroundingText(inputConnection, editable, i, i2, z);
}
public void updateEditorInfoAttrs(EditorInfo editorInfo) {
if (EmojiCompat.isConfigured()) {
EmojiCompat.get().updateEditorInfo(editorInfo);
}
}
}
}