- Imported from https://github.com/supermegamestre/Project-Real-Resurrection-3 - APKTool decompilation (Smali bytecode) for modding and rebuilding APK - Supports both 32-bit (armeabi-v7a) and 64-bit (arm64-v8a) architectures - Includes full Smali source, resources, and native libraries - Ready to rebuild APK after modifications with apktool b command - Added comprehensive README-apktool.md with modding guide This branch complements the JADX branches: - Use JADX (main/discord-community) to UNDERSTAND code (readable Java) - Use APKTool (this branch) to MODIFY and REBUILD APK (editable Smali) Total: 44,417 files, 538.51 MB Smali source code
1752 lines
51 KiB
Smali
1752 lines
51 KiB
Smali
.class public Landroidx/emoji2/text/EmojiCompat;
|
|
.super Ljava/lang/Object;
|
|
.source "SourceFile"
|
|
|
|
|
|
# annotations
|
|
.annotation build Landroidx/annotation/AnyThread;
|
|
.end annotation
|
|
|
|
.annotation system Ldalvik/annotation/MemberClasses;
|
|
value = {
|
|
Landroidx/emoji2/text/EmojiCompat$GlyphChecker;,
|
|
Landroidx/emoji2/text/EmojiCompat$SpanFactory;,
|
|
Landroidx/emoji2/text/EmojiCompat$Config;,
|
|
Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoader;,
|
|
Landroidx/emoji2/text/EmojiCompat$DefaultSpanFactory;,
|
|
Landroidx/emoji2/text/EmojiCompat$CompatInternal;,
|
|
Landroidx/emoji2/text/EmojiCompat$CompatInternal19;,
|
|
Landroidx/emoji2/text/EmojiCompat$ListenerDispatcher;,
|
|
Landroidx/emoji2/text/EmojiCompat$InitCallback;,
|
|
Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;,
|
|
Landroidx/emoji2/text/EmojiCompat$CodepointSequenceMatchResult;,
|
|
Landroidx/emoji2/text/EmojiCompat$LoadStrategy;,
|
|
Landroidx/emoji2/text/EmojiCompat$ReplaceStrategy;
|
|
}
|
|
.end annotation
|
|
|
|
|
|
# static fields
|
|
.field private static final CONFIG_LOCK:Ljava/lang/Object;
|
|
|
|
.field public static final EDITOR_INFO_METAVERSION_KEY:Ljava/lang/String; = "android.support.text.emoji.emojiCompat_metadataVersion"
|
|
|
|
.field public static final EDITOR_INFO_REPLACE_ALL_KEY:Ljava/lang/String; = "android.support.text.emoji.emojiCompat_replaceAll"
|
|
|
|
.field static final EMOJI_COUNT_UNLIMITED:I = 0x7fffffff
|
|
.annotation build Landroidx/annotation/RestrictTo;
|
|
value = {
|
|
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
|
|
}
|
|
.end annotation
|
|
.end field
|
|
|
|
.field public static final EMOJI_FALLBACK:I = 0x2
|
|
|
|
.field public static final EMOJI_SUPPORTED:I = 0x1
|
|
|
|
.field public static final EMOJI_UNSUPPORTED:I = 0x0
|
|
|
|
.field private static final INSTANCE_LOCK:Ljava/lang/Object;
|
|
|
|
.field public static final LOAD_STATE_DEFAULT:I = 0x3
|
|
|
|
.field public static final LOAD_STATE_FAILED:I = 0x2
|
|
|
|
.field public static final LOAD_STATE_LOADING:I = 0x0
|
|
|
|
.field public static final LOAD_STATE_SUCCEEDED:I = 0x1
|
|
|
|
.field public static final LOAD_STRATEGY_DEFAULT:I = 0x0
|
|
|
|
.field public static final LOAD_STRATEGY_MANUAL:I = 0x1
|
|
|
|
.field private static final NOT_INITIALIZED_ERROR_TEXT:Ljava/lang/String; = "EmojiCompat is not initialized.\n\nYou must initialize EmojiCompat prior to referencing the EmojiCompat instance.\n\nThe most likely cause of this error is disabling the EmojiCompatInitializer\neither explicitly in AndroidManifest.xml, or by including\nandroidx.emoji2:emoji2-bundled.\n\nAutomatic initialization is typically performed by EmojiCompatInitializer. If\nyou are not expecting to initialize EmojiCompat manually in your application,\nplease check to ensure it has not been removed from your APK\'s manifest. You can\ndo this in Android Studio using Build > Analyze APK.\n\nIn the APK Analyzer, ensure that the startup entry for\nEmojiCompatInitializer and InitializationProvider is present in\n AndroidManifest.xml. If it is missing or contains tools:node=\"remove\", and you\nintend to use automatic configuration, verify:\n\n 1. Your application does not include emoji2-bundled\n 2. All modules do not contain an exclusion manifest rule for\n EmojiCompatInitializer or InitializationProvider. For more information\n about manifest exclusions see the documentation for the androidx startup\n library.\n\nIf you intend to use emoji2-bundled, please call EmojiCompat.init. You can\nlearn more in the documentation for BundledEmojiCompatConfig.\n\nIf you intended to perform manual configuration, it is recommended that you call\nEmojiCompat.init immediately on application startup.\n\nIf you still cannot resolve this issue, please open a bug with your specific\nconfiguration to help improve error message."
|
|
|
|
.field public static final REPLACE_STRATEGY_ALL:I = 0x1
|
|
|
|
.field public static final REPLACE_STRATEGY_DEFAULT:I = 0x0
|
|
|
|
.field public static final REPLACE_STRATEGY_NON_EXISTENT:I = 0x2
|
|
|
|
.field private static volatile sHasDoneDefaultConfigLookup:Z
|
|
.annotation build Landroidx/annotation/GuardedBy;
|
|
value = "CONFIG_LOCK"
|
|
.end annotation
|
|
.end field
|
|
|
|
.field private static volatile sInstance:Landroidx/emoji2/text/EmojiCompat;
|
|
.annotation build Landroidx/annotation/GuardedBy;
|
|
value = "INSTANCE_LOCK"
|
|
.end annotation
|
|
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
.end field
|
|
|
|
|
|
# instance fields
|
|
.field final mEmojiAsDefaultStyleExceptions:[I
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
.end field
|
|
|
|
.field private final mEmojiSpanIndicatorColor:I
|
|
|
|
.field private final mEmojiSpanIndicatorEnabled:Z
|
|
|
|
.field private final mGlyphChecker:Landroidx/emoji2/text/EmojiCompat$GlyphChecker;
|
|
|
|
.field private final mHelper:Landroidx/emoji2/text/EmojiCompat$CompatInternal;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end field
|
|
|
|
.field private final mInitCallbacks:Ljava/util/Set;
|
|
.annotation build Landroidx/annotation/GuardedBy;
|
|
value = "mInitLock"
|
|
.end annotation
|
|
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
|
|
.annotation system Ldalvik/annotation/Signature;
|
|
value = {
|
|
"Ljava/util/Set<",
|
|
"Landroidx/emoji2/text/EmojiCompat$InitCallback;",
|
|
">;"
|
|
}
|
|
.end annotation
|
|
.end field
|
|
|
|
.field private final mInitLock:Ljava/util/concurrent/locks/ReadWriteLock;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end field
|
|
|
|
.field private volatile mLoadState:I
|
|
.annotation build Landroidx/annotation/GuardedBy;
|
|
value = "mInitLock"
|
|
.end annotation
|
|
.end field
|
|
|
|
.field private final mMainHandler:Landroid/os/Handler;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end field
|
|
|
|
.field private final mMetadataLoadStrategy:I
|
|
|
|
.field final mMetadataLoader:Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoader;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end field
|
|
|
|
.field final mReplaceAll:Z
|
|
|
|
.field private final mSpanFactory:Landroidx/emoji2/text/EmojiCompat$SpanFactory;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end field
|
|
|
|
.field final mUseEmojiAsDefaultStyle:Z
|
|
|
|
|
|
# direct methods
|
|
.method static constructor <clinit>()V
|
|
.locals 1
|
|
|
|
.line 349
|
|
new-instance v0, Ljava/lang/Object;
|
|
|
|
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
|
|
|
|
sput-object v0, Landroidx/emoji2/text/EmojiCompat;->INSTANCE_LOCK:Ljava/lang/Object;
|
|
|
|
.line 350
|
|
new-instance v0, Ljava/lang/Object;
|
|
|
|
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
|
|
|
|
sput-object v0, Landroidx/emoji2/text/EmojiCompat;->CONFIG_LOCK:Ljava/lang/Object;
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method private constructor <init>(Landroidx/emoji2/text/EmojiCompat$Config;)V
|
|
.locals 2
|
|
.param p1 # Landroidx/emoji2/text/EmojiCompat$Config;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
|
|
.line 461
|
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
|
|
|
.line 462
|
|
new-instance v0, Ljava/util/concurrent/locks/ReentrantReadWriteLock;
|
|
|
|
invoke-direct {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;-><init>()V
|
|
|
|
iput-object v0, p0, Landroidx/emoji2/text/EmojiCompat;->mInitLock:Ljava/util/concurrent/locks/ReadWriteLock;
|
|
|
|
const/4 v0, 0x3
|
|
|
|
iput v0, p0, Landroidx/emoji2/text/EmojiCompat;->mLoadState:I
|
|
|
|
.line 464
|
|
iget-boolean v0, p1, Landroidx/emoji2/text/EmojiCompat$Config;->mReplaceAll:Z
|
|
|
|
iput-boolean v0, p0, Landroidx/emoji2/text/EmojiCompat;->mReplaceAll:Z
|
|
|
|
.line 465
|
|
iget-boolean v0, p1, Landroidx/emoji2/text/EmojiCompat$Config;->mUseEmojiAsDefaultStyle:Z
|
|
|
|
iput-boolean v0, p0, Landroidx/emoji2/text/EmojiCompat;->mUseEmojiAsDefaultStyle:Z
|
|
|
|
.line 466
|
|
iget-object v0, p1, Landroidx/emoji2/text/EmojiCompat$Config;->mEmojiAsDefaultStyleExceptions:[I
|
|
|
|
iput-object v0, p0, Landroidx/emoji2/text/EmojiCompat;->mEmojiAsDefaultStyleExceptions:[I
|
|
|
|
.line 467
|
|
iget-boolean v0, p1, Landroidx/emoji2/text/EmojiCompat$Config;->mEmojiSpanIndicatorEnabled:Z
|
|
|
|
iput-boolean v0, p0, Landroidx/emoji2/text/EmojiCompat;->mEmojiSpanIndicatorEnabled:Z
|
|
|
|
.line 468
|
|
iget v0, p1, Landroidx/emoji2/text/EmojiCompat$Config;->mEmojiSpanIndicatorColor:I
|
|
|
|
iput v0, p0, Landroidx/emoji2/text/EmojiCompat;->mEmojiSpanIndicatorColor:I
|
|
|
|
.line 469
|
|
iget-object v0, p1, Landroidx/emoji2/text/EmojiCompat$Config;->mMetadataLoader:Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoader;
|
|
|
|
iput-object v0, p0, Landroidx/emoji2/text/EmojiCompat;->mMetadataLoader:Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoader;
|
|
|
|
.line 470
|
|
iget v0, p1, Landroidx/emoji2/text/EmojiCompat$Config;->mMetadataLoadStrategy:I
|
|
|
|
iput v0, p0, Landroidx/emoji2/text/EmojiCompat;->mMetadataLoadStrategy:I
|
|
|
|
.line 471
|
|
iget-object v0, p1, Landroidx/emoji2/text/EmojiCompat$Config;->mGlyphChecker:Landroidx/emoji2/text/EmojiCompat$GlyphChecker;
|
|
|
|
iput-object v0, p0, Landroidx/emoji2/text/EmojiCompat;->mGlyphChecker:Landroidx/emoji2/text/EmojiCompat$GlyphChecker;
|
|
|
|
.line 472
|
|
new-instance v0, Landroid/os/Handler;
|
|
|
|
invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-direct {v0, v1}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V
|
|
|
|
iput-object v0, p0, Landroidx/emoji2/text/EmojiCompat;->mMainHandler:Landroid/os/Handler;
|
|
|
|
.line 473
|
|
new-instance v0, Landroidx/collection/ArraySet;
|
|
|
|
invoke-direct {v0}, Landroidx/collection/ArraySet;-><init>()V
|
|
|
|
iput-object v0, p0, Landroidx/emoji2/text/EmojiCompat;->mInitCallbacks:Ljava/util/Set;
|
|
|
|
.line 474
|
|
iget-object v1, p1, Landroidx/emoji2/text/EmojiCompat$Config;->mSpanFactory:Landroidx/emoji2/text/EmojiCompat$SpanFactory;
|
|
|
|
if-eqz v1, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
.line 475
|
|
:cond_0
|
|
new-instance v1, Landroidx/emoji2/text/EmojiCompat$DefaultSpanFactory;
|
|
|
|
invoke-direct {v1}, Landroidx/emoji2/text/EmojiCompat$DefaultSpanFactory;-><init>()V
|
|
|
|
:goto_0
|
|
iput-object v1, p0, Landroidx/emoji2/text/EmojiCompat;->mSpanFactory:Landroidx/emoji2/text/EmojiCompat$SpanFactory;
|
|
|
|
.line 476
|
|
iget-object v1, p1, Landroidx/emoji2/text/EmojiCompat$Config;->mInitCallbacks:Ljava/util/Set;
|
|
|
|
if-eqz v1, :cond_1
|
|
|
|
invoke-interface {v1}, Ljava/util/Set;->isEmpty()Z
|
|
|
|
move-result v1
|
|
|
|
if-nez v1, :cond_1
|
|
|
|
.line 477
|
|
iget-object p1, p1, Landroidx/emoji2/text/EmojiCompat$Config;->mInitCallbacks:Ljava/util/Set;
|
|
|
|
invoke-interface {v0, p1}, Ljava/util/Set;->addAll(Ljava/util/Collection;)Z
|
|
|
|
.line 479
|
|
:cond_1
|
|
new-instance p1, Landroidx/emoji2/text/EmojiCompat$CompatInternal19;
|
|
|
|
invoke-direct {p1, p0}, Landroidx/emoji2/text/EmojiCompat$CompatInternal19;-><init>(Landroidx/emoji2/text/EmojiCompat;)V
|
|
|
|
iput-object p1, p0, Landroidx/emoji2/text/EmojiCompat;->mHelper:Landroidx/emoji2/text/EmojiCompat$CompatInternal;
|
|
|
|
.line 481
|
|
invoke-direct {p0}, Landroidx/emoji2/text/EmojiCompat;->loadMetadata()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public static synthetic access$000(Landroidx/emoji2/text/EmojiCompat;)Landroidx/emoji2/text/EmojiCompat$SpanFactory;
|
|
.locals 0
|
|
|
|
.line 111
|
|
iget-object p0, p0, Landroidx/emoji2/text/EmojiCompat;->mSpanFactory:Landroidx/emoji2/text/EmojiCompat$SpanFactory;
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static synthetic access$100(Landroidx/emoji2/text/EmojiCompat;)Landroidx/emoji2/text/EmojiCompat$GlyphChecker;
|
|
.locals 0
|
|
|
|
.line 111
|
|
iget-object p0, p0, Landroidx/emoji2/text/EmojiCompat;->mGlyphChecker:Landroidx/emoji2/text/EmojiCompat$GlyphChecker;
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static get()Landroidx/emoji2/text/EmojiCompat;
|
|
.locals 4
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
|
|
sget-object v0, Landroidx/emoji2/text/EmojiCompat;->INSTANCE_LOCK:Ljava/lang/Object;
|
|
|
|
.line 652
|
|
monitor-enter v0
|
|
|
|
:try_start_0
|
|
sget-object v1, Landroidx/emoji2/text/EmojiCompat;->sInstance:Landroidx/emoji2/text/EmojiCompat;
|
|
|
|
if-eqz v1, :cond_0
|
|
|
|
const/4 v2, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 v2, 0x0
|
|
|
|
:goto_0
|
|
const-string v3, "EmojiCompat is not initialized.\n\nYou must initialize EmojiCompat prior to referencing the EmojiCompat instance.\n\nThe most likely cause of this error is disabling the EmojiCompatInitializer\neither explicitly in AndroidManifest.xml, or by including\nandroidx.emoji2:emoji2-bundled.\n\nAutomatic initialization is typically performed by EmojiCompatInitializer. If\nyou are not expecting to initialize EmojiCompat manually in your application,\nplease check to ensure it has not been removed from your APK\'s manifest. You can\ndo this in Android Studio using Build > Analyze APK.\n\nIn the APK Analyzer, ensure that the startup entry for\nEmojiCompatInitializer and InitializationProvider is present in\n AndroidManifest.xml. If it is missing or contains tools:node=\"remove\", and you\nintend to use automatic configuration, verify:\n\n 1. Your application does not include emoji2-bundled\n 2. All modules do not contain an exclusion manifest rule for\n EmojiCompatInitializer or InitializationProvider. For more information\n about manifest exclusions see the documentation for the androidx startup\n library.\n\nIf you intend to use emoji2-bundled, please call EmojiCompat.init. You can\nlearn more in the documentation for BundledEmojiCompatConfig.\n\nIf you intended to perform manual configuration, it is recommended that you call\nEmojiCompat.init immediately on application startup.\n\nIf you still cannot resolve this issue, please open a bug with your specific\nconfiguration to help improve error message."
|
|
|
|
.line 654
|
|
invoke-static {v2, v3}, Landroidx/core/util/Preconditions;->checkState(ZLjava/lang/String;)V
|
|
|
|
.line 655
|
|
monitor-exit v0
|
|
|
|
return-object v1
|
|
|
|
:catchall_0
|
|
move-exception v1
|
|
|
|
.line 656
|
|
monitor-exit v0
|
|
:try_end_0
|
|
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
|
|
|
throw v1
|
|
.end method
|
|
|
|
.method public static handleDeleteSurroundingText(Landroid/view/inputmethod/InputConnection;Landroid/text/Editable;IIZ)Z
|
|
.locals 0
|
|
.param p0 # Landroid/view/inputmethod/InputConnection;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
.param p1 # Landroid/text/Editable;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
.param p2 # I
|
|
.annotation build Landroidx/annotation/IntRange;
|
|
from = 0x0L
|
|
.end annotation
|
|
.end param
|
|
.param p3 # I
|
|
.annotation build Landroidx/annotation/IntRange;
|
|
from = 0x0L
|
|
.end annotation
|
|
.end param
|
|
|
|
.line 896
|
|
invoke-static {p0, p1, p2, p3, p4}, Landroidx/emoji2/text/EmojiProcessor;->handleDeleteSurroundingText(Landroid/view/inputmethod/InputConnection;Landroid/text/Editable;IIZ)Z
|
|
|
|
move-result p0
|
|
|
|
return p0
|
|
.end method
|
|
|
|
.method public static handleOnKeyDown(Landroid/text/Editable;ILandroid/view/KeyEvent;)Z
|
|
.locals 0
|
|
.param p0 # Landroid/text/Editable;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
.param p2 # Landroid/view/KeyEvent;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
|
|
.line 867
|
|
invoke-static {p0, p1, p2}, Landroidx/emoji2/text/EmojiProcessor;->handleOnKeyDown(Landroid/text/Editable;ILandroid/view/KeyEvent;)Z
|
|
|
|
move-result p0
|
|
|
|
return p0
|
|
.end method
|
|
|
|
.method public static init(Landroid/content/Context;)Landroidx/emoji2/text/EmojiCompat;
|
|
.locals 1
|
|
.param p0 # Landroid/content/Context;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 501
|
|
invoke-static {p0, v0}, Landroidx/emoji2/text/EmojiCompat;->init(Landroid/content/Context;Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigFactory;)Landroidx/emoji2/text/EmojiCompat;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static init(Landroid/content/Context;Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigFactory;)Landroidx/emoji2/text/EmojiCompat;
|
|
.locals 1
|
|
.param p0 # Landroid/content/Context;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
.param p1 # Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigFactory;
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
.end param
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
|
|
.annotation build Landroidx/annotation/RestrictTo;
|
|
value = {
|
|
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope;
|
|
}
|
|
.end annotation
|
|
|
|
sget-boolean v0, Landroidx/emoji2/text/EmojiCompat;->sHasDoneDefaultConfigLookup:Z
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
sget-object p0, Landroidx/emoji2/text/EmojiCompat;->sInstance:Landroidx/emoji2/text/EmojiCompat;
|
|
|
|
return-object p0
|
|
|
|
:cond_0
|
|
if-eqz p1, :cond_1
|
|
|
|
goto :goto_0
|
|
|
|
.line 522
|
|
:cond_1
|
|
new-instance p1, Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigFactory;
|
|
|
|
const/4 v0, 0x0
|
|
|
|
invoke-direct {p1, v0}, Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigFactory;-><init>(Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigHelper;)V
|
|
|
|
.line 523
|
|
:goto_0
|
|
invoke-virtual {p1, p0}, Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigFactory;->create(Landroid/content/Context;)Landroidx/emoji2/text/EmojiCompat$Config;
|
|
|
|
move-result-object p0
|
|
|
|
sget-object p1, Landroidx/emoji2/text/EmojiCompat;->CONFIG_LOCK:Ljava/lang/Object;
|
|
|
|
.line 525
|
|
monitor-enter p1
|
|
|
|
:try_start_0
|
|
sget-boolean v0, Landroidx/emoji2/text/EmojiCompat;->sHasDoneDefaultConfigLookup:Z
|
|
|
|
if-nez v0, :cond_3
|
|
|
|
if-eqz p0, :cond_2
|
|
|
|
.line 530
|
|
invoke-static {p0}, Landroidx/emoji2/text/EmojiCompat;->init(Landroidx/emoji2/text/EmojiCompat$Config;)Landroidx/emoji2/text/EmojiCompat;
|
|
|
|
goto :goto_1
|
|
|
|
:catchall_0
|
|
move-exception p0
|
|
|
|
goto :goto_2
|
|
|
|
:cond_2
|
|
:goto_1
|
|
const/4 p0, 0x1
|
|
|
|
sput-boolean p0, Landroidx/emoji2/text/EmojiCompat;->sHasDoneDefaultConfigLookup:Z
|
|
|
|
:cond_3
|
|
sget-object p0, Landroidx/emoji2/text/EmojiCompat;->sInstance:Landroidx/emoji2/text/EmojiCompat;
|
|
|
|
.line 536
|
|
monitor-exit p1
|
|
|
|
return-object p0
|
|
|
|
.line 537
|
|
:goto_2
|
|
monitor-exit p1
|
|
:try_end_0
|
|
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
|
|
|
throw p0
|
|
.end method
|
|
|
|
.method public static init(Landroidx/emoji2/text/EmojiCompat$Config;)Landroidx/emoji2/text/EmojiCompat;
|
|
.locals 2
|
|
.param p0 # Landroidx/emoji2/text/EmojiCompat$Config;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
|
|
sget-object v0, Landroidx/emoji2/text/EmojiCompat;->sInstance:Landroidx/emoji2/text/EmojiCompat;
|
|
|
|
if-nez v0, :cond_1
|
|
|
|
sget-object v1, Landroidx/emoji2/text/EmojiCompat;->INSTANCE_LOCK:Ljava/lang/Object;
|
|
|
|
.line 555
|
|
monitor-enter v1
|
|
|
|
:try_start_0
|
|
sget-object v0, Landroidx/emoji2/text/EmojiCompat;->sInstance:Landroidx/emoji2/text/EmojiCompat;
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
.line 558
|
|
new-instance v0, Landroidx/emoji2/text/EmojiCompat;
|
|
|
|
invoke-direct {v0, p0}, Landroidx/emoji2/text/EmojiCompat;-><init>(Landroidx/emoji2/text/EmojiCompat$Config;)V
|
|
|
|
sput-object v0, Landroidx/emoji2/text/EmojiCompat;->sInstance:Landroidx/emoji2/text/EmojiCompat;
|
|
|
|
goto :goto_0
|
|
|
|
:catchall_0
|
|
move-exception p0
|
|
|
|
goto :goto_1
|
|
|
|
.line 561
|
|
:cond_0
|
|
:goto_0
|
|
monitor-exit v1
|
|
|
|
goto :goto_2
|
|
|
|
:goto_1
|
|
monitor-exit v1
|
|
:try_end_0
|
|
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
|
|
|
throw p0
|
|
|
|
:cond_1
|
|
:goto_2
|
|
return-object v0
|
|
.end method
|
|
|
|
.method public static isConfigured()Z
|
|
.locals 1
|
|
|
|
sget-object v0, Landroidx/emoji2/text/EmojiCompat;->sInstance:Landroidx/emoji2/text/EmojiCompat;
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
const/4 v0, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 v0, 0x0
|
|
|
|
:goto_0
|
|
return v0
|
|
.end method
|
|
|
|
.method private isInitialized()Z
|
|
.locals 2
|
|
|
|
.line 799
|
|
invoke-virtual {p0}, Landroidx/emoji2/text/EmojiCompat;->getLoadState()I
|
|
|
|
move-result v0
|
|
|
|
const/4 v1, 0x1
|
|
|
|
if-ne v0, v1, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
const/4 v1, 0x0
|
|
|
|
:goto_0
|
|
return v1
|
|
.end method
|
|
|
|
.method private loadMetadata()V
|
|
.locals 2
|
|
|
|
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat;->mInitLock:Ljava/util/concurrent/locks/ReadWriteLock;
|
|
|
|
.line 692
|
|
invoke-interface {v0}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
|
|
|
|
:try_start_0
|
|
iget v0, p0, Landroidx/emoji2/text/EmojiCompat;->mMetadataLoadStrategy:I
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
const/4 v0, 0x0
|
|
|
|
iput v0, p0, Landroidx/emoji2/text/EmojiCompat;->mLoadState:I
|
|
:try_end_0
|
|
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
|
|
|
goto :goto_0
|
|
|
|
:catchall_0
|
|
move-exception v0
|
|
|
|
goto :goto_1
|
|
|
|
:cond_0
|
|
:goto_0
|
|
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat;->mInitLock:Ljava/util/concurrent/locks/ReadWriteLock;
|
|
|
|
.line 698
|
|
invoke-interface {v0}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
|
|
|
|
.line 701
|
|
invoke-virtual {p0}, Landroidx/emoji2/text/EmojiCompat;->getLoadState()I
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_1
|
|
|
|
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat;->mHelper:Landroidx/emoji2/text/EmojiCompat$CompatInternal;
|
|
|
|
.line 702
|
|
invoke-virtual {v0}, Landroidx/emoji2/text/EmojiCompat$CompatInternal;->loadMetadata()V
|
|
|
|
:cond_1
|
|
return-void
|
|
|
|
:goto_1
|
|
iget-object v1, p0, Landroidx/emoji2/text/EmojiCompat;->mInitLock:Ljava/util/concurrent/locks/ReadWriteLock;
|
|
|
|
.line 698
|
|
invoke-interface {v1}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
|
|
|
|
.line 699
|
|
throw v0
|
|
.end method
|
|
|
|
.method public static reset(Landroidx/emoji2/text/EmojiCompat$Config;)Landroidx/emoji2/text/EmojiCompat;
|
|
.locals 2
|
|
.param p0 # Landroidx/emoji2/text/EmojiCompat$Config;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
|
|
sget-object v0, Landroidx/emoji2/text/EmojiCompat;->INSTANCE_LOCK:Ljava/lang/Object;
|
|
|
|
.line 609
|
|
monitor-enter v0
|
|
|
|
.line 610
|
|
:try_start_0
|
|
new-instance v1, Landroidx/emoji2/text/EmojiCompat;
|
|
|
|
invoke-direct {v1, p0}, Landroidx/emoji2/text/EmojiCompat;-><init>(Landroidx/emoji2/text/EmojiCompat$Config;)V
|
|
|
|
sput-object v1, Landroidx/emoji2/text/EmojiCompat;->sInstance:Landroidx/emoji2/text/EmojiCompat;
|
|
|
|
.line 612
|
|
monitor-exit v0
|
|
|
|
return-object v1
|
|
|
|
:catchall_0
|
|
move-exception p0
|
|
|
|
.line 613
|
|
monitor-exit v0
|
|
:try_end_0
|
|
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
|
|
|
throw p0
|
|
.end method
|
|
|
|
.method public static reset(Landroidx/emoji2/text/EmojiCompat;)Landroidx/emoji2/text/EmojiCompat;
|
|
.locals 1
|
|
.param p0 # Landroidx/emoji2/text/EmojiCompat;
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
.end param
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
|
|
.annotation build Landroidx/annotation/RestrictTo;
|
|
value = {
|
|
.enum Landroidx/annotation/RestrictTo$Scope;->TESTS:Landroidx/annotation/RestrictTo$Scope;
|
|
}
|
|
.end annotation
|
|
|
|
sget-object v0, Landroidx/emoji2/text/EmojiCompat;->INSTANCE_LOCK:Ljava/lang/Object;
|
|
|
|
.line 624
|
|
monitor-enter v0
|
|
|
|
:try_start_0
|
|
sput-object p0, Landroidx/emoji2/text/EmojiCompat;->sInstance:Landroidx/emoji2/text/EmojiCompat;
|
|
|
|
sget-object p0, Landroidx/emoji2/text/EmojiCompat;->sInstance:Landroidx/emoji2/text/EmojiCompat;
|
|
|
|
.line 626
|
|
monitor-exit v0
|
|
|
|
return-object p0
|
|
|
|
:catchall_0
|
|
move-exception p0
|
|
|
|
.line 627
|
|
monitor-exit v0
|
|
:try_end_0
|
|
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
|
|
|
throw p0
|
|
.end method
|
|
|
|
.method public static skipDefaultConfigurationLookup(Z)V
|
|
.locals 1
|
|
.annotation build Landroidx/annotation/RestrictTo;
|
|
value = {
|
|
.enum Landroidx/annotation/RestrictTo$Scope;->TESTS:Landroidx/annotation/RestrictTo$Scope;
|
|
}
|
|
.end annotation
|
|
|
|
sget-object v0, Landroidx/emoji2/text/EmojiCompat;->CONFIG_LOCK:Ljava/lang/Object;
|
|
|
|
.line 637
|
|
monitor-enter v0
|
|
|
|
:try_start_0
|
|
sput-boolean p0, Landroidx/emoji2/text/EmojiCompat;->sHasDoneDefaultConfigLookup:Z
|
|
|
|
.line 639
|
|
monitor-exit v0
|
|
|
|
return-void
|
|
|
|
:catchall_0
|
|
move-exception p0
|
|
|
|
monitor-exit v0
|
|
:try_end_0
|
|
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
|
|
|
throw p0
|
|
.end method
|
|
|
|
|
|
# virtual methods
|
|
.method public getAssetSignature()Ljava/lang/String;
|
|
.locals 2
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
|
|
.line 1146
|
|
invoke-direct {p0}, Landroidx/emoji2/text/EmojiCompat;->isInitialized()Z
|
|
|
|
move-result v0
|
|
|
|
const-string v1, "Not initialized yet"
|
|
|
|
invoke-static {v0, v1}, Landroidx/core/util/Preconditions;->checkState(ZLjava/lang/String;)V
|
|
|
|
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat;->mHelper:Landroidx/emoji2/text/EmojiCompat$CompatInternal;
|
|
|
|
.line 1147
|
|
invoke-virtual {v0}, Landroidx/emoji2/text/EmojiCompat$CompatInternal;->getAssetSignature()Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
return-object v0
|
|
.end method
|
|
|
|
.method public getEmojiEnd(Ljava/lang/CharSequence;I)I
|
|
.locals 1
|
|
.param p1 # Ljava/lang/CharSequence;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
.param p2 # I
|
|
.annotation build Landroidx/annotation/IntRange;
|
|
from = 0x0L
|
|
.end annotation
|
|
.end param
|
|
|
|
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat;->mHelper:Landroidx/emoji2/text/EmojiCompat$CompatInternal;
|
|
|
|
.line 841
|
|
invoke-virtual {v0, p1, p2}, Landroidx/emoji2/text/EmojiCompat$CompatInternal;->getEmojiEnd(Ljava/lang/CharSequence;I)I
|
|
|
|
move-result p1
|
|
|
|
return p1
|
|
.end method
|
|
|
|
.method public getEmojiMatch(Ljava/lang/CharSequence;I)I
|
|
.locals 2
|
|
.param p1 # Ljava/lang/CharSequence;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
.param p2 # I
|
|
.annotation build Landroidx/annotation/IntRange;
|
|
from = 0x0L
|
|
.end annotation
|
|
.end param
|
|
|
|
.line 962
|
|
invoke-direct {p0}, Landroidx/emoji2/text/EmojiCompat;->isInitialized()Z
|
|
|
|
move-result v0
|
|
|
|
const-string v1, "Not initialized yet"
|
|
|
|
invoke-static {v0, v1}, Landroidx/core/util/Preconditions;->checkState(ZLjava/lang/String;)V
|
|
|
|
const-string v0, "sequence cannot be null"
|
|
|
|
.line 963
|
|
invoke-static {p1, v0}, Landroidx/core/util/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat;->mHelper:Landroidx/emoji2/text/EmojiCompat$CompatInternal;
|
|
|
|
.line 964
|
|
invoke-virtual {v0, p1, p2}, Landroidx/emoji2/text/EmojiCompat$CompatInternal;->getEmojiMatch(Ljava/lang/CharSequence;I)I
|
|
|
|
move-result p1
|
|
|
|
return p1
|
|
.end method
|
|
|
|
.method public getEmojiSpanIndicatorColor()I
|
|
.locals 1
|
|
.annotation build Landroidx/annotation/ColorInt;
|
|
.end annotation
|
|
|
|
.annotation build Landroidx/annotation/RestrictTo;
|
|
value = {
|
|
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
|
|
}
|
|
.end annotation
|
|
|
|
iget v0, p0, Landroidx/emoji2/text/EmojiCompat;->mEmojiSpanIndicatorColor:I
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method public getEmojiStart(Ljava/lang/CharSequence;I)I
|
|
.locals 1
|
|
.param p1 # Ljava/lang/CharSequence;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
.param p2 # I
|
|
.annotation build Landroidx/annotation/IntRange;
|
|
from = 0x0L
|
|
.end annotation
|
|
.end param
|
|
|
|
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat;->mHelper:Landroidx/emoji2/text/EmojiCompat$CompatInternal;
|
|
|
|
.line 833
|
|
invoke-virtual {v0, p1, p2}, Landroidx/emoji2/text/EmojiCompat$CompatInternal;->getEmojiStart(Ljava/lang/CharSequence;I)I
|
|
|
|
move-result p1
|
|
|
|
return p1
|
|
.end method
|
|
|
|
.method public getLoadState()I
|
|
.locals 2
|
|
|
|
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat;->mInitLock:Ljava/util/concurrent/locks/ReadWriteLock;
|
|
|
|
.line 787
|
|
invoke-interface {v0}, Ljava/util/concurrent/locks/ReadWriteLock;->readLock()Ljava/util/concurrent/locks/Lock;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
|
|
|
|
:try_start_0
|
|
iget v0, p0, Landroidx/emoji2/text/EmojiCompat;->mLoadState:I
|
|
:try_end_0
|
|
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
|
|
|
iget-object v1, p0, Landroidx/emoji2/text/EmojiCompat;->mInitLock:Ljava/util/concurrent/locks/ReadWriteLock;
|
|
|
|
.line 791
|
|
invoke-interface {v1}, Ljava/util/concurrent/locks/ReadWriteLock;->readLock()Ljava/util/concurrent/locks/Lock;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
|
|
|
|
return v0
|
|
|
|
:catchall_0
|
|
move-exception v0
|
|
|
|
iget-object v1, p0, Landroidx/emoji2/text/EmojiCompat;->mInitLock:Ljava/util/concurrent/locks/ReadWriteLock;
|
|
|
|
invoke-interface {v1}, Ljava/util/concurrent/locks/ReadWriteLock;->readLock()Ljava/util/concurrent/locks/Lock;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
|
|
|
|
.line 792
|
|
throw v0
|
|
.end method
|
|
|
|
.method public hasEmojiGlyph(Ljava/lang/CharSequence;)Z
|
|
.locals 2
|
|
.param p1 # Ljava/lang/CharSequence;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
.annotation runtime Ljava/lang/Deprecated;
|
|
.end annotation
|
|
|
|
.line 917
|
|
invoke-direct {p0}, Landroidx/emoji2/text/EmojiCompat;->isInitialized()Z
|
|
|
|
move-result v0
|
|
|
|
const-string v1, "Not initialized yet"
|
|
|
|
invoke-static {v0, v1}, Landroidx/core/util/Preconditions;->checkState(ZLjava/lang/String;)V
|
|
|
|
const-string v0, "sequence cannot be null"
|
|
|
|
.line 918
|
|
invoke-static {p1, v0}, Landroidx/core/util/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat;->mHelper:Landroidx/emoji2/text/EmojiCompat$CompatInternal;
|
|
|
|
.line 919
|
|
invoke-virtual {v0, p1}, Landroidx/emoji2/text/EmojiCompat$CompatInternal;->hasEmojiGlyph(Ljava/lang/CharSequence;)Z
|
|
|
|
move-result p1
|
|
|
|
return p1
|
|
.end method
|
|
|
|
.method public hasEmojiGlyph(Ljava/lang/CharSequence;I)Z
|
|
.locals 2
|
|
.param p1 # Ljava/lang/CharSequence;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
.param p2 # I
|
|
.annotation build Landroidx/annotation/IntRange;
|
|
from = 0x0L
|
|
.end annotation
|
|
.end param
|
|
.annotation runtime Ljava/lang/Deprecated;
|
|
.end annotation
|
|
|
|
.line 939
|
|
invoke-direct {p0}, Landroidx/emoji2/text/EmojiCompat;->isInitialized()Z
|
|
|
|
move-result v0
|
|
|
|
const-string v1, "Not initialized yet"
|
|
|
|
invoke-static {v0, v1}, Landroidx/core/util/Preconditions;->checkState(ZLjava/lang/String;)V
|
|
|
|
const-string v0, "sequence cannot be null"
|
|
|
|
.line 940
|
|
invoke-static {p1, v0}, Landroidx/core/util/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat;->mHelper:Landroidx/emoji2/text/EmojiCompat$CompatInternal;
|
|
|
|
.line 941
|
|
invoke-virtual {v0, p1, p2}, Landroidx/emoji2/text/EmojiCompat$CompatInternal;->hasEmojiGlyph(Ljava/lang/CharSequence;I)Z
|
|
|
|
move-result p1
|
|
|
|
return p1
|
|
.end method
|
|
|
|
.method public isEmojiSpanIndicatorEnabled()Z
|
|
.locals 1
|
|
.annotation build Landroidx/annotation/RestrictTo;
|
|
value = {
|
|
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
|
|
}
|
|
.end annotation
|
|
|
|
iget-boolean v0, p0, Landroidx/emoji2/text/EmojiCompat;->mEmojiSpanIndicatorEnabled:Z
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method public load()V
|
|
.locals 3
|
|
|
|
iget v0, p0, Landroidx/emoji2/text/EmojiCompat;->mMetadataLoadStrategy:I
|
|
|
|
const/4 v1, 0x0
|
|
|
|
const/4 v2, 0x1
|
|
|
|
if-ne v0, v2, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
move v2, v1
|
|
|
|
:goto_0
|
|
const-string v0, "Set metadataLoadStrategy to LOAD_STRATEGY_MANUAL to execute manual loading"
|
|
|
|
.line 676
|
|
invoke-static {v2, v0}, Landroidx/core/util/Preconditions;->checkState(ZLjava/lang/String;)V
|
|
|
|
.line 678
|
|
invoke-direct {p0}, Landroidx/emoji2/text/EmojiCompat;->isInitialized()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
return-void
|
|
|
|
:cond_1
|
|
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat;->mInitLock:Ljava/util/concurrent/locks/ReadWriteLock;
|
|
|
|
.line 680
|
|
invoke-interface {v0}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
|
|
|
|
:try_start_0
|
|
iget v0, p0, Landroidx/emoji2/text/EmojiCompat;->mLoadState:I
|
|
:try_end_0
|
|
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
|
|
|
if-nez v0, :cond_2
|
|
|
|
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat;->mInitLock:Ljava/util/concurrent/locks/ReadWriteLock;
|
|
|
|
.line 685
|
|
invoke-interface {v0}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
|
|
|
|
return-void
|
|
|
|
:cond_2
|
|
:try_start_1
|
|
iput v1, p0, Landroidx/emoji2/text/EmojiCompat;->mLoadState:I
|
|
:try_end_1
|
|
.catchall {:try_start_1 .. :try_end_1} :catchall_0
|
|
|
|
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat;->mInitLock:Ljava/util/concurrent/locks/ReadWriteLock;
|
|
|
|
invoke-interface {v0}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
|
|
|
|
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat;->mHelper:Landroidx/emoji2/text/EmojiCompat$CompatInternal;
|
|
|
|
.line 688
|
|
invoke-virtual {v0}, Landroidx/emoji2/text/EmojiCompat$CompatInternal;->loadMetadata()V
|
|
|
|
return-void
|
|
|
|
:catchall_0
|
|
move-exception v0
|
|
|
|
iget-object v1, p0, Landroidx/emoji2/text/EmojiCompat;->mInitLock:Ljava/util/concurrent/locks/ReadWriteLock;
|
|
|
|
.line 685
|
|
invoke-interface {v1}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
|
|
|
|
.line 686
|
|
throw v0
|
|
.end method
|
|
|
|
.method public onMetadataLoadFailed(Ljava/lang/Throwable;)V
|
|
.locals 4
|
|
.param p1 # Ljava/lang/Throwable;
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
.end param
|
|
|
|
.line 723
|
|
new-instance v0, Ljava/util/ArrayList;
|
|
|
|
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
|
|
|
|
iget-object v1, p0, Landroidx/emoji2/text/EmojiCompat;->mInitLock:Ljava/util/concurrent/locks/ReadWriteLock;
|
|
|
|
.line 724
|
|
invoke-interface {v1}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->lock()V
|
|
|
|
const/4 v1, 0x2
|
|
|
|
:try_start_0
|
|
iput v1, p0, Landroidx/emoji2/text/EmojiCompat;->mLoadState:I
|
|
|
|
iget-object v1, p0, Landroidx/emoji2/text/EmojiCompat;->mInitCallbacks:Ljava/util/Set;
|
|
|
|
.line 727
|
|
invoke-interface {v0, v1}, Ljava/util/Collection;->addAll(Ljava/util/Collection;)Z
|
|
|
|
iget-object v1, p0, Landroidx/emoji2/text/EmojiCompat;->mInitCallbacks:Ljava/util/Set;
|
|
|
|
.line 728
|
|
invoke-interface {v1}, Ljava/util/Set;->clear()V
|
|
:try_end_0
|
|
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
|
|
|
iget-object v1, p0, Landroidx/emoji2/text/EmojiCompat;->mInitLock:Ljava/util/concurrent/locks/ReadWriteLock;
|
|
|
|
.line 730
|
|
invoke-interface {v1}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
|
|
|
|
iget-object v1, p0, Landroidx/emoji2/text/EmojiCompat;->mMainHandler:Landroid/os/Handler;
|
|
|
|
.line 732
|
|
new-instance v2, Landroidx/emoji2/text/EmojiCompat$ListenerDispatcher;
|
|
|
|
iget v3, p0, Landroidx/emoji2/text/EmojiCompat;->mLoadState:I
|
|
|
|
invoke-direct {v2, v0, v3, p1}, Landroidx/emoji2/text/EmojiCompat$ListenerDispatcher;-><init>(Ljava/util/Collection;ILjava/lang/Throwable;)V
|
|
|
|
invoke-virtual {v1, v2}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
|
|
|
|
return-void
|
|
|
|
:catchall_0
|
|
move-exception p1
|
|
|
|
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat;->mInitLock:Ljava/util/concurrent/locks/ReadWriteLock;
|
|
|
|
.line 730
|
|
invoke-interface {v0}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
|
|
|
|
.line 731
|
|
throw p1
|
|
.end method
|
|
|
|
.method public onMetadataLoadSuccess()V
|
|
.locals 4
|
|
|
|
.line 708
|
|
new-instance v0, Ljava/util/ArrayList;
|
|
|
|
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
|
|
|
|
iget-object v1, p0, Landroidx/emoji2/text/EmojiCompat;->mInitLock:Ljava/util/concurrent/locks/ReadWriteLock;
|
|
|
|
.line 709
|
|
invoke-interface {v1}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->lock()V
|
|
|
|
const/4 v1, 0x1
|
|
|
|
:try_start_0
|
|
iput v1, p0, Landroidx/emoji2/text/EmojiCompat;->mLoadState:I
|
|
|
|
iget-object v1, p0, Landroidx/emoji2/text/EmojiCompat;->mInitCallbacks:Ljava/util/Set;
|
|
|
|
.line 712
|
|
invoke-interface {v0, v1}, Ljava/util/Collection;->addAll(Ljava/util/Collection;)Z
|
|
|
|
iget-object v1, p0, Landroidx/emoji2/text/EmojiCompat;->mInitCallbacks:Ljava/util/Set;
|
|
|
|
.line 713
|
|
invoke-interface {v1}, Ljava/util/Set;->clear()V
|
|
:try_end_0
|
|
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
|
|
|
iget-object v1, p0, Landroidx/emoji2/text/EmojiCompat;->mInitLock:Ljava/util/concurrent/locks/ReadWriteLock;
|
|
|
|
.line 715
|
|
invoke-interface {v1}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
|
|
|
|
iget-object v1, p0, Landroidx/emoji2/text/EmojiCompat;->mMainHandler:Landroid/os/Handler;
|
|
|
|
.line 718
|
|
new-instance v2, Landroidx/emoji2/text/EmojiCompat$ListenerDispatcher;
|
|
|
|
iget v3, p0, Landroidx/emoji2/text/EmojiCompat;->mLoadState:I
|
|
|
|
invoke-direct {v2, v0, v3}, Landroidx/emoji2/text/EmojiCompat$ListenerDispatcher;-><init>(Ljava/util/Collection;I)V
|
|
|
|
invoke-virtual {v1, v2}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
|
|
|
|
return-void
|
|
|
|
:catchall_0
|
|
move-exception v0
|
|
|
|
iget-object v1, p0, Landroidx/emoji2/text/EmojiCompat;->mInitLock:Ljava/util/concurrent/locks/ReadWriteLock;
|
|
|
|
.line 715
|
|
invoke-interface {v1}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
|
|
|
|
move-result-object v1
|
|
|
|
invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
|
|
|
|
.line 716
|
|
throw v0
|
|
.end method
|
|
|
|
.method public process(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
|
|
.locals 2
|
|
.param p1 # Ljava/lang/CharSequence;
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
.end param
|
|
.annotation build Landroidx/annotation/CheckResult;
|
|
.end annotation
|
|
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
|
|
const/4 v0, 0x0
|
|
|
|
if-nez p1, :cond_0
|
|
|
|
move v1, v0
|
|
|
|
goto :goto_0
|
|
|
|
.line 984
|
|
:cond_0
|
|
invoke-interface {p1}, Ljava/lang/CharSequence;->length()I
|
|
|
|
move-result v1
|
|
|
|
.line 985
|
|
:goto_0
|
|
invoke-virtual {p0, p1, v0, v1}, Landroidx/emoji2/text/EmojiCompat;->process(Ljava/lang/CharSequence;II)Ljava/lang/CharSequence;
|
|
|
|
move-result-object p1
|
|
|
|
return-object p1
|
|
.end method
|
|
|
|
.method public process(Ljava/lang/CharSequence;II)Ljava/lang/CharSequence;
|
|
.locals 1
|
|
.param p1 # Ljava/lang/CharSequence;
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
.end param
|
|
.param p2 # I
|
|
.annotation build Landroidx/annotation/IntRange;
|
|
from = 0x0L
|
|
.end annotation
|
|
.end param
|
|
.param p3 # I
|
|
.annotation build Landroidx/annotation/IntRange;
|
|
from = 0x0L
|
|
.end annotation
|
|
.end param
|
|
.annotation build Landroidx/annotation/CheckResult;
|
|
.end annotation
|
|
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
|
|
const v0, 0x7fffffff
|
|
|
|
.line 1019
|
|
invoke-virtual {p0, p1, p2, p3, v0}, Landroidx/emoji2/text/EmojiCompat;->process(Ljava/lang/CharSequence;III)Ljava/lang/CharSequence;
|
|
|
|
move-result-object p1
|
|
|
|
return-object p1
|
|
.end method
|
|
|
|
.method public process(Ljava/lang/CharSequence;III)Ljava/lang/CharSequence;
|
|
.locals 6
|
|
.param p1 # Ljava/lang/CharSequence;
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
.end param
|
|
.param p2 # I
|
|
.annotation build Landroidx/annotation/IntRange;
|
|
from = 0x0L
|
|
.end annotation
|
|
.end param
|
|
.param p3 # I
|
|
.annotation build Landroidx/annotation/IntRange;
|
|
from = 0x0L
|
|
.end annotation
|
|
.end param
|
|
.param p4 # I
|
|
.annotation build Landroidx/annotation/IntRange;
|
|
from = 0x0L
|
|
.end annotation
|
|
.end param
|
|
.annotation build Landroidx/annotation/CheckResult;
|
|
.end annotation
|
|
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
|
|
const/4 v5, 0x0
|
|
|
|
move-object v0, p0
|
|
|
|
move-object v1, p1
|
|
|
|
move v2, p2
|
|
|
|
move v3, p3
|
|
|
|
move v4, p4
|
|
|
|
.line 1057
|
|
invoke-virtual/range {v0 .. v5}, Landroidx/emoji2/text/EmojiCompat;->process(Ljava/lang/CharSequence;IIII)Ljava/lang/CharSequence;
|
|
|
|
move-result-object p1
|
|
|
|
return-object p1
|
|
.end method
|
|
|
|
.method public process(Ljava/lang/CharSequence;IIII)Ljava/lang/CharSequence;
|
|
.locals 7
|
|
.param p1 # Ljava/lang/CharSequence;
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
.end param
|
|
.param p2 # I
|
|
.annotation build Landroidx/annotation/IntRange;
|
|
from = 0x0L
|
|
.end annotation
|
|
.end param
|
|
.param p3 # I
|
|
.annotation build Landroidx/annotation/IntRange;
|
|
from = 0x0L
|
|
.end annotation
|
|
.end param
|
|
.param p4 # I
|
|
.annotation build Landroidx/annotation/IntRange;
|
|
from = 0x0L
|
|
.end annotation
|
|
.end param
|
|
.annotation build Landroidx/annotation/CheckResult;
|
|
.end annotation
|
|
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
.end annotation
|
|
|
|
.line 1099
|
|
invoke-direct {p0}, Landroidx/emoji2/text/EmojiCompat;->isInitialized()Z
|
|
|
|
move-result v0
|
|
|
|
const-string v1, "Not initialized yet"
|
|
|
|
invoke-static {v0, v1}, Landroidx/core/util/Preconditions;->checkState(ZLjava/lang/String;)V
|
|
|
|
const-string v0, "start cannot be negative"
|
|
|
|
.line 1100
|
|
invoke-static {p2, v0}, Landroidx/core/util/Preconditions;->checkArgumentNonnegative(ILjava/lang/String;)I
|
|
|
|
const-string v0, "end cannot be negative"
|
|
|
|
.line 1101
|
|
invoke-static {p3, v0}, Landroidx/core/util/Preconditions;->checkArgumentNonnegative(ILjava/lang/String;)I
|
|
|
|
const-string v0, "maxEmojiCount cannot be negative"
|
|
|
|
.line 1102
|
|
invoke-static {p4, v0}, Landroidx/core/util/Preconditions;->checkArgumentNonnegative(ILjava/lang/String;)I
|
|
|
|
const/4 v0, 0x0
|
|
|
|
const/4 v1, 0x1
|
|
|
|
if-gt p2, p3, :cond_0
|
|
|
|
move v2, v1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
move v2, v0
|
|
|
|
:goto_0
|
|
const-string v3, "start should be <= than end"
|
|
|
|
.line 1103
|
|
invoke-static {v2, v3}, Landroidx/core/util/Preconditions;->checkArgument(ZLjava/lang/Object;)V
|
|
|
|
if-nez p1, :cond_1
|
|
|
|
const/4 p1, 0x0
|
|
|
|
return-object p1
|
|
|
|
.line 1110
|
|
:cond_1
|
|
invoke-interface {p1}, Ljava/lang/CharSequence;->length()I
|
|
|
|
move-result v2
|
|
|
|
if-gt p2, v2, :cond_2
|
|
|
|
move v2, v1
|
|
|
|
goto :goto_1
|
|
|
|
:cond_2
|
|
move v2, v0
|
|
|
|
:goto_1
|
|
const-string v3, "start should be < than charSequence length"
|
|
|
|
invoke-static {v2, v3}, Landroidx/core/util/Preconditions;->checkArgument(ZLjava/lang/Object;)V
|
|
|
|
.line 1112
|
|
invoke-interface {p1}, Ljava/lang/CharSequence;->length()I
|
|
|
|
move-result v2
|
|
|
|
if-gt p3, v2, :cond_3
|
|
|
|
move v2, v1
|
|
|
|
goto :goto_2
|
|
|
|
:cond_3
|
|
move v2, v0
|
|
|
|
:goto_2
|
|
const-string v3, "end should be < than charSequence length"
|
|
|
|
invoke-static {v2, v3}, Landroidx/core/util/Preconditions;->checkArgument(ZLjava/lang/Object;)V
|
|
|
|
.line 1116
|
|
invoke-interface {p1}, Ljava/lang/CharSequence;->length()I
|
|
|
|
move-result v2
|
|
|
|
if-eqz v2, :cond_7
|
|
|
|
if-ne p2, p3, :cond_4
|
|
|
|
goto :goto_4
|
|
|
|
:cond_4
|
|
if-eq p5, v1, :cond_6
|
|
|
|
const/4 v1, 0x2
|
|
|
|
if-eq p5, v1, :cond_5
|
|
|
|
iget-boolean v0, p0, Landroidx/emoji2/text/EmojiCompat;->mReplaceAll:Z
|
|
|
|
:cond_5
|
|
move v6, v0
|
|
|
|
goto :goto_3
|
|
|
|
:cond_6
|
|
move v6, v1
|
|
|
|
:goto_3
|
|
iget-object v1, p0, Landroidx/emoji2/text/EmojiCompat;->mHelper:Landroidx/emoji2/text/EmojiCompat$CompatInternal;
|
|
|
|
move-object v2, p1
|
|
|
|
move v3, p2
|
|
|
|
move v4, p3
|
|
|
|
move v5, p4
|
|
|
|
.line 1134
|
|
invoke-virtual/range {v1 .. v6}, Landroidx/emoji2/text/EmojiCompat$CompatInternal;->process(Ljava/lang/CharSequence;IIIZ)Ljava/lang/CharSequence;
|
|
|
|
move-result-object p1
|
|
|
|
:cond_7
|
|
:goto_4
|
|
return-object p1
|
|
.end method
|
|
|
|
.method public registerInitCallback(Landroidx/emoji2/text/EmojiCompat$InitCallback;)V
|
|
.locals 3
|
|
.param p1 # Landroidx/emoji2/text/EmojiCompat$InitCallback;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
|
|
const-string v0, "initCallback cannot be null"
|
|
|
|
.line 750
|
|
invoke-static {p1, v0}, Landroidx/core/util/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat;->mInitLock:Ljava/util/concurrent/locks/ReadWriteLock;
|
|
|
|
.line 752
|
|
invoke-interface {v0}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
|
|
|
|
:try_start_0
|
|
iget v0, p0, Landroidx/emoji2/text/EmojiCompat;->mLoadState:I
|
|
|
|
const/4 v1, 0x1
|
|
|
|
if-eq v0, v1, :cond_1
|
|
|
|
iget v0, p0, Landroidx/emoji2/text/EmojiCompat;->mLoadState:I
|
|
|
|
const/4 v1, 0x2
|
|
|
|
if-ne v0, v1, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat;->mInitCallbacks:Ljava/util/Set;
|
|
|
|
.line 757
|
|
invoke-interface {v0, p1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
|
|
|
|
goto :goto_1
|
|
|
|
:catchall_0
|
|
move-exception p1
|
|
|
|
goto :goto_2
|
|
|
|
:cond_1
|
|
:goto_0
|
|
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat;->mMainHandler:Landroid/os/Handler;
|
|
|
|
.line 755
|
|
new-instance v1, Landroidx/emoji2/text/EmojiCompat$ListenerDispatcher;
|
|
|
|
iget v2, p0, Landroidx/emoji2/text/EmojiCompat;->mLoadState:I
|
|
|
|
invoke-direct {v1, p1, v2}, Landroidx/emoji2/text/EmojiCompat$ListenerDispatcher;-><init>(Landroidx/emoji2/text/EmojiCompat$InitCallback;I)V
|
|
|
|
invoke-virtual {v0, v1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
|
|
:try_end_0
|
|
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
|
|
|
:goto_1
|
|
iget-object p1, p0, Landroidx/emoji2/text/EmojiCompat;->mInitLock:Ljava/util/concurrent/locks/ReadWriteLock;
|
|
|
|
.line 760
|
|
invoke-interface {p1}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-interface {p1}, Ljava/util/concurrent/locks/Lock;->unlock()V
|
|
|
|
return-void
|
|
|
|
:goto_2
|
|
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat;->mInitLock:Ljava/util/concurrent/locks/ReadWriteLock;
|
|
|
|
invoke-interface {v0}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
|
|
|
|
.line 761
|
|
throw p1
|
|
.end method
|
|
|
|
.method public unregisterInitCallback(Landroidx/emoji2/text/EmojiCompat$InitCallback;)V
|
|
.locals 1
|
|
.param p1 # Landroidx/emoji2/text/EmojiCompat$InitCallback;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
|
|
const-string v0, "initCallback cannot be null"
|
|
|
|
.line 770
|
|
invoke-static {p1, v0}, Landroidx/core/util/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat;->mInitLock:Ljava/util/concurrent/locks/ReadWriteLock;
|
|
|
|
.line 771
|
|
invoke-interface {v0}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
|
|
|
|
:try_start_0
|
|
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat;->mInitCallbacks:Ljava/util/Set;
|
|
|
|
.line 773
|
|
invoke-interface {v0, p1}, Ljava/util/Set;->remove(Ljava/lang/Object;)Z
|
|
:try_end_0
|
|
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
|
|
|
iget-object p1, p0, Landroidx/emoji2/text/EmojiCompat;->mInitLock:Ljava/util/concurrent/locks/ReadWriteLock;
|
|
|
|
.line 775
|
|
invoke-interface {p1}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
|
|
|
|
move-result-object p1
|
|
|
|
invoke-interface {p1}, Ljava/util/concurrent/locks/Lock;->unlock()V
|
|
|
|
return-void
|
|
|
|
:catchall_0
|
|
move-exception p1
|
|
|
|
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat;->mInitLock:Ljava/util/concurrent/locks/ReadWriteLock;
|
|
|
|
invoke-interface {v0}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
|
|
|
|
move-result-object v0
|
|
|
|
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
|
|
|
|
.line 776
|
|
throw p1
|
|
.end method
|
|
|
|
.method public updateEditorInfo(Landroid/view/inputmethod/EditorInfo;)V
|
|
.locals 1
|
|
.param p1 # Landroid/view/inputmethod/EditorInfo;
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
.end annotation
|
|
.end param
|
|
|
|
.line 1171
|
|
invoke-direct {p0}, Landroidx/emoji2/text/EmojiCompat;->isInitialized()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_2
|
|
|
|
if-nez p1, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
.line 1174
|
|
:cond_0
|
|
iget-object v0, p1, Landroid/view/inputmethod/EditorInfo;->extras:Landroid/os/Bundle;
|
|
|
|
if-nez v0, :cond_1
|
|
|
|
.line 1175
|
|
new-instance v0, Landroid/os/Bundle;
|
|
|
|
invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
|
|
|
|
iput-object v0, p1, Landroid/view/inputmethod/EditorInfo;->extras:Landroid/os/Bundle;
|
|
|
|
:cond_1
|
|
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat;->mHelper:Landroidx/emoji2/text/EmojiCompat$CompatInternal;
|
|
|
|
.line 1177
|
|
invoke-virtual {v0, p1}, Landroidx/emoji2/text/EmojiCompat$CompatInternal;->updateEditorInfoAttrs(Landroid/view/inputmethod/EditorInfo;)V
|
|
|
|
:cond_2
|
|
:goto_0
|
|
return-void
|
|
.end method
|