Files
rr3-apk/decompiled-community/sources/androidx/emoji2/viewsintegration/EmojiEditableFactory.java
Daniel Elliott c080f0d97f Add Discord community version (64-bit only)
- 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
2026-02-18 15:48:36 -08:00

51 lines
1.5 KiB
Java

package androidx.emoji2.viewsintegration;
import android.annotation.SuppressLint;
import android.text.Editable;
import androidx.annotation.GuardedBy;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.emoji2.text.SpannableBuilder;
/* loaded from: classes.dex */
final class EmojiEditableFactory extends Editable.Factory {
private static final Object INSTANCE_LOCK = new Object();
@GuardedBy("INSTANCE_LOCK")
private static volatile Editable.Factory sInstance;
@Nullable
private static Class<?> sWatcherClass;
@SuppressLint({"PrivateApi"})
private EmojiEditableFactory() {
try {
sWatcherClass = Class.forName("android.text.DynamicLayout$ChangeWatcher", false, EmojiEditableFactory.class.getClassLoader());
} catch (Throwable unused) {
}
}
public static Editable.Factory getInstance() {
if (sInstance == null) {
synchronized (INSTANCE_LOCK) {
try {
if (sInstance == null) {
sInstance = new EmojiEditableFactory();
}
} finally {
}
}
}
return sInstance;
}
@Override // android.text.Editable.Factory
public Editable newEditable(@NonNull CharSequence charSequence) {
Class<?> cls = sWatcherClass;
if (cls != null) {
return SpannableBuilder.create(cls, charSequence);
}
return super.newEditable(charSequence);
}
}