Files
rr3-apk/decompiled/sources/androidx/emoji2/viewsintegration/EmojiInputConnection.java
Daniel Elliott f9d20bb3fc Add decompiled APK source code (JADX)
- 28,932 files
- Full Java source code
- Smali files
- Resources

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-18 14:52:23 -08:00

58 lines
2.6 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.annotation.IntRange;
import androidx.annotation.NonNull;
import androidx.annotation.RequiresApi;
import androidx.annotation.RestrictTo;
import androidx.emoji2.text.EmojiCompat;
@RequiresApi(19)
@RestrictTo({RestrictTo.Scope.LIBRARY})
/* loaded from: classes.dex */
final class EmojiInputConnection extends InputConnectionWrapper {
private final EmojiCompatDeleteHelper mEmojiCompatDeleteHelper;
private final TextView mTextView;
public EmojiInputConnection(@NonNull TextView textView, @NonNull InputConnection inputConnection, @NonNull EditorInfo editorInfo) {
this(textView, inputConnection, editorInfo, new EmojiCompatDeleteHelper());
}
public EmojiInputConnection(@NonNull TextView textView, @NonNull InputConnection inputConnection, @NonNull EditorInfo editorInfo, @NonNull 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();
}
public static class EmojiCompatDeleteHelper {
public boolean handleDeleteSurroundingText(@NonNull InputConnection inputConnection, @NonNull Editable editable, @IntRange(from = 0) int i, @IntRange(from = 0) int i2, boolean z) {
return EmojiCompat.handleDeleteSurroundingText(inputConnection, editable, i, i2, z);
}
public void updateEditorInfoAttrs(@NonNull EditorInfo editorInfo) {
if (EmojiCompat.isConfigured()) {
EmojiCompat.get().updateEditorInfo(editorInfo);
}
}
}
}