- Added realracing3-community.apk (71.57 MB) - Removed 32-bit support (armeabi-v7a) - Only includes arm64-v8a libraries - Decompiled source code included - Added README-community.md with analysis
58 lines
2.6 KiB
Java
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);
|
|
}
|
|
}
|
|
}
|
|
}
|