1425 lines
41 KiB
Smali
1425 lines
41 KiB
Smali
.class public Landroidx/emoji2/text/EmojiCompat;
|
|
.super Ljava/lang/Object;
|
|
.source "EmojiCompat.java"
|
|
|
|
|
|
# annotations
|
|
.annotation system Ldalvik/annotation/MemberClasses;
|
|
value = {
|
|
Landroidx/emoji2/text/EmojiCompat$CompatInternal19;,
|
|
Landroidx/emoji2/text/EmojiCompat$CompatInternal;,
|
|
Landroidx/emoji2/text/EmojiCompat$ListenerDispatcher;,
|
|
Landroidx/emoji2/text/EmojiCompat$Config;,
|
|
Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoaderCallback;,
|
|
Landroidx/emoji2/text/EmojiCompat$GlyphChecker;,
|
|
Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoader;,
|
|
Landroidx/emoji2/text/EmojiCompat$InitCallback;,
|
|
Landroidx/emoji2/text/EmojiCompat$SpanFactory;,
|
|
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
|
|
|
|
.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
|
|
|
|
.field private static volatile sInstance:Landroidx/emoji2/text/EmojiCompat;
|
|
|
|
|
|
# instance fields
|
|
.field final mEmojiAsDefaultStyleExceptions:[I
|
|
|
|
.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;
|
|
|
|
.field private final mInitCallbacks:Ljava/util/Set;
|
|
.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;
|
|
|
|
.field private volatile mLoadState:I
|
|
|
|
.field private final mMainHandler:Landroid/os/Handler;
|
|
|
|
.field private final mMetadataLoadStrategy:I
|
|
|
|
.field final mMetadataLoader:Landroidx/emoji2/text/EmojiCompat$MetadataRepoLoader;
|
|
|
|
.field final mReplaceAll:Z
|
|
|
|
.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
|
|
|
|
.line 459
|
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
|
|
|
.line 460
|
|
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
|
|
|
|
.line 461
|
|
iput v0, p0, Landroidx/emoji2/text/EmojiCompat;->mLoadState:I
|
|
|
|
.line 462
|
|
iget-boolean v0, p1, Landroidx/emoji2/text/EmojiCompat$Config;->mReplaceAll:Z
|
|
|
|
iput-boolean v0, p0, Landroidx/emoji2/text/EmojiCompat;->mReplaceAll:Z
|
|
|
|
.line 463
|
|
iget-boolean v0, p1, Landroidx/emoji2/text/EmojiCompat$Config;->mUseEmojiAsDefaultStyle:Z
|
|
|
|
iput-boolean v0, p0, Landroidx/emoji2/text/EmojiCompat;->mUseEmojiAsDefaultStyle:Z
|
|
|
|
.line 464
|
|
iget-object v0, p1, Landroidx/emoji2/text/EmojiCompat$Config;->mEmojiAsDefaultStyleExceptions:[I
|
|
|
|
iput-object v0, p0, Landroidx/emoji2/text/EmojiCompat;->mEmojiAsDefaultStyleExceptions:[I
|
|
|
|
.line 465
|
|
iget-boolean v0, p1, Landroidx/emoji2/text/EmojiCompat$Config;->mEmojiSpanIndicatorEnabled:Z
|
|
|
|
iput-boolean v0, p0, Landroidx/emoji2/text/EmojiCompat;->mEmojiSpanIndicatorEnabled:Z
|
|
|
|
.line 466
|
|
iget v0, p1, Landroidx/emoji2/text/EmojiCompat$Config;->mEmojiSpanIndicatorColor:I
|
|
|
|
iput v0, p0, Landroidx/emoji2/text/EmojiCompat;->mEmojiSpanIndicatorColor:I
|
|
|
|
.line 467
|
|
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 468
|
|
iget v0, p1, Landroidx/emoji2/text/EmojiCompat$Config;->mMetadataLoadStrategy:I
|
|
|
|
iput v0, p0, Landroidx/emoji2/text/EmojiCompat;->mMetadataLoadStrategy:I
|
|
|
|
.line 469
|
|
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 470
|
|
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 471
|
|
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 472
|
|
iget-object v1, p1, Landroidx/emoji2/text/EmojiCompat$Config;->mInitCallbacks:Ljava/util/Set;
|
|
|
|
if-eqz v1, :cond_0
|
|
|
|
iget-object v1, p1, Landroidx/emoji2/text/EmojiCompat$Config;->mInitCallbacks:Ljava/util/Set;
|
|
|
|
invoke-interface {v1}, Ljava/util/Set;->isEmpty()Z
|
|
|
|
move-result v1
|
|
|
|
if-nez v1, :cond_0
|
|
|
|
.line 473
|
|
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 475
|
|
:cond_0
|
|
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 477
|
|
invoke-direct {p0}, Landroidx/emoji2/text/EmojiCompat;->loadMetadata()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method static synthetic access$000(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
|
|
|
|
.line 648
|
|
sget-object v0, Landroidx/emoji2/text/EmojiCompat;->INSTANCE_LOCK:Ljava/lang/Object;
|
|
|
|
monitor-enter v0
|
|
|
|
.line 649
|
|
: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
|
|
|
|
.line 650
|
|
: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."
|
|
|
|
invoke-static {v2, v3}, Landroidx/core/util/Preconditions;->checkState(ZLjava/lang/String;)V
|
|
|
|
.line 651
|
|
monitor-exit v0
|
|
|
|
return-object v1
|
|
|
|
:catchall_0
|
|
move-exception v1
|
|
|
|
.line 652
|
|
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
|
|
|
|
.line 868
|
|
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
|
|
|
|
.line 839
|
|
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
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 497
|
|
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
|
|
|
|
.line 509
|
|
sget-boolean v0, Landroidx/emoji2/text/EmojiCompat;->sHasDoneDefaultConfigLookup:Z
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
.line 514
|
|
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 518
|
|
: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 519
|
|
:goto_0
|
|
invoke-virtual {p1, p0}, Landroidx/emoji2/text/DefaultEmojiCompatConfig$DefaultEmojiCompatConfigFactory;->create(Landroid/content/Context;)Landroidx/emoji2/text/EmojiCompat$Config;
|
|
|
|
move-result-object p0
|
|
|
|
.line 521
|
|
sget-object p1, Landroidx/emoji2/text/EmojiCompat;->CONFIG_LOCK:Ljava/lang/Object;
|
|
|
|
monitor-enter p1
|
|
|
|
.line 522
|
|
:try_start_0
|
|
sget-boolean v0, Landroidx/emoji2/text/EmojiCompat;->sHasDoneDefaultConfigLookup:Z
|
|
|
|
if-nez v0, :cond_3
|
|
|
|
if-eqz p0, :cond_2
|
|
|
|
.line 526
|
|
invoke-static {p0}, Landroidx/emoji2/text/EmojiCompat;->init(Landroidx/emoji2/text/EmojiCompat$Config;)Landroidx/emoji2/text/EmojiCompat;
|
|
|
|
:cond_2
|
|
const/4 p0, 0x1
|
|
|
|
.line 529
|
|
sput-boolean p0, Landroidx/emoji2/text/EmojiCompat;->sHasDoneDefaultConfigLookup:Z
|
|
|
|
.line 532
|
|
:cond_3
|
|
sget-object p0, Landroidx/emoji2/text/EmojiCompat;->sInstance:Landroidx/emoji2/text/EmojiCompat;
|
|
|
|
monitor-exit p1
|
|
|
|
return-object p0
|
|
|
|
:catchall_0
|
|
move-exception p0
|
|
|
|
.line 533
|
|
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
|
|
|
|
.line 549
|
|
sget-object v0, Landroidx/emoji2/text/EmojiCompat;->sInstance:Landroidx/emoji2/text/EmojiCompat;
|
|
|
|
if-nez v0, :cond_1
|
|
|
|
.line 551
|
|
sget-object v1, Landroidx/emoji2/text/EmojiCompat;->INSTANCE_LOCK:Ljava/lang/Object;
|
|
|
|
monitor-enter v1
|
|
|
|
.line 552
|
|
:try_start_0
|
|
sget-object v0, Landroidx/emoji2/text/EmojiCompat;->sInstance:Landroidx/emoji2/text/EmojiCompat;
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
.line 554
|
|
new-instance v0, Landroidx/emoji2/text/EmojiCompat;
|
|
|
|
invoke-direct {v0, p0}, Landroidx/emoji2/text/EmojiCompat;-><init>(Landroidx/emoji2/text/EmojiCompat$Config;)V
|
|
|
|
.line 555
|
|
sput-object v0, Landroidx/emoji2/text/EmojiCompat;->sInstance:Landroidx/emoji2/text/EmojiCompat;
|
|
|
|
.line 557
|
|
:cond_0
|
|
monitor-exit v1
|
|
|
|
goto :goto_0
|
|
|
|
:catchall_0
|
|
move-exception p0
|
|
|
|
monitor-exit v1
|
|
:try_end_0
|
|
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
|
|
|
throw p0
|
|
|
|
:cond_1
|
|
:goto_0
|
|
return-object v0
|
|
.end method
|
|
|
|
.method public static isConfigured()Z
|
|
.locals 1
|
|
|
|
.line 593
|
|
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 795
|
|
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
|
|
|
|
.line 688
|
|
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;->lock()V
|
|
|
|
.line 690
|
|
:try_start_0
|
|
iget v0, p0, Landroidx/emoji2/text/EmojiCompat;->mMetadataLoadStrategy:I
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 691
|
|
iput v0, p0, Landroidx/emoji2/text/EmojiCompat;->mLoadState:I
|
|
:try_end_0
|
|
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
|
|
|
.line 694
|
|
:cond_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
|
|
|
|
.line 697
|
|
invoke-virtual {p0}, Landroidx/emoji2/text/EmojiCompat;->getLoadState()I
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_1
|
|
|
|
.line 698
|
|
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat;->mHelper:Landroidx/emoji2/text/EmojiCompat$CompatInternal;
|
|
|
|
invoke-virtual {v0}, Landroidx/emoji2/text/EmojiCompat$CompatInternal;->loadMetadata()V
|
|
|
|
:cond_1
|
|
return-void
|
|
|
|
:catchall_0
|
|
move-exception v0
|
|
|
|
.line 694
|
|
iget-object v1, p0, Landroidx/emoji2/text/EmojiCompat;->mInitLock:Ljava/util/concurrent/locks/ReadWriteLock;
|
|
|
|
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 695
|
|
throw v0
|
|
.end method
|
|
|
|
.method public static reset(Landroidx/emoji2/text/EmojiCompat$Config;)Landroidx/emoji2/text/EmojiCompat;
|
|
.locals 2
|
|
|
|
.line 605
|
|
sget-object v0, Landroidx/emoji2/text/EmojiCompat;->INSTANCE_LOCK:Ljava/lang/Object;
|
|
|
|
monitor-enter v0
|
|
|
|
.line 606
|
|
: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
|
|
|
|
.line 607
|
|
sput-object v1, Landroidx/emoji2/text/EmojiCompat;->sInstance:Landroidx/emoji2/text/EmojiCompat;
|
|
|
|
.line 608
|
|
monitor-exit v0
|
|
|
|
return-object v1
|
|
|
|
:catchall_0
|
|
move-exception p0
|
|
|
|
.line 609
|
|
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
|
|
|
|
.line 620
|
|
sget-object v0, Landroidx/emoji2/text/EmojiCompat;->INSTANCE_LOCK:Ljava/lang/Object;
|
|
|
|
monitor-enter v0
|
|
|
|
.line 621
|
|
:try_start_0
|
|
sput-object p0, Landroidx/emoji2/text/EmojiCompat;->sInstance:Landroidx/emoji2/text/EmojiCompat;
|
|
|
|
.line 622
|
|
sget-object p0, Landroidx/emoji2/text/EmojiCompat;->sInstance:Landroidx/emoji2/text/EmojiCompat;
|
|
|
|
monitor-exit v0
|
|
|
|
return-object p0
|
|
|
|
:catchall_0
|
|
move-exception p0
|
|
|
|
.line 623
|
|
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
|
|
|
|
.line 633
|
|
sget-object v0, Landroidx/emoji2/text/EmojiCompat;->CONFIG_LOCK:Ljava/lang/Object;
|
|
|
|
monitor-enter v0
|
|
|
|
.line 634
|
|
:try_start_0
|
|
sput-boolean p0, Landroidx/emoji2/text/EmojiCompat;->sHasDoneDefaultConfigLookup:Z
|
|
|
|
.line 635
|
|
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
|
|
|
|
.line 1118
|
|
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
|
|
|
|
.line 1119
|
|
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat;->mHelper:Landroidx/emoji2/text/EmojiCompat$CompatInternal;
|
|
|
|
invoke-virtual {v0}, Landroidx/emoji2/text/EmojiCompat$CompatInternal;->getAssetSignature()Ljava/lang/String;
|
|
|
|
move-result-object v0
|
|
|
|
return-object v0
|
|
.end method
|
|
|
|
.method public getEmojiMatch(Ljava/lang/CharSequence;I)I
|
|
.locals 2
|
|
|
|
.line 934
|
|
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
|
|
|
|
.line 935
|
|
const-string v0, "sequence cannot be null"
|
|
|
|
invoke-static {p1, v0}, Landroidx/core/util/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
.line 936
|
|
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat;->mHelper:Landroidx/emoji2/text/EmojiCompat$CompatInternal;
|
|
|
|
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
|
|
|
|
.line 813
|
|
iget v0, p0, Landroidx/emoji2/text/EmojiCompat;->mEmojiSpanIndicatorColor:I
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method public getLoadState()I
|
|
.locals 2
|
|
|
|
.line 783
|
|
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat;->mInitLock:Ljava/util/concurrent/locks/ReadWriteLock;
|
|
|
|
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
|
|
|
|
.line 785
|
|
:try_start_0
|
|
iget v0, p0, Landroidx/emoji2/text/EmojiCompat;->mLoadState:I
|
|
:try_end_0
|
|
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
|
|
|
.line 787
|
|
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
|
|
|
|
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 788
|
|
throw v0
|
|
.end method
|
|
|
|
.method public hasEmojiGlyph(Ljava/lang/CharSequence;)Z
|
|
.locals 2
|
|
.annotation runtime Ljava/lang/Deprecated;
|
|
.end annotation
|
|
|
|
.line 889
|
|
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
|
|
|
|
.line 890
|
|
const-string v0, "sequence cannot be null"
|
|
|
|
invoke-static {p1, v0}, Landroidx/core/util/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
.line 891
|
|
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat;->mHelper:Landroidx/emoji2/text/EmojiCompat$CompatInternal;
|
|
|
|
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
|
|
.annotation runtime Ljava/lang/Deprecated;
|
|
.end annotation
|
|
|
|
.line 911
|
|
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
|
|
|
|
.line 912
|
|
const-string v0, "sequence cannot be null"
|
|
|
|
invoke-static {p1, v0}, Landroidx/core/util/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
.line 913
|
|
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat;->mHelper:Landroidx/emoji2/text/EmojiCompat$CompatInternal;
|
|
|
|
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
|
|
|
|
.line 804
|
|
iget-boolean v0, p0, Landroidx/emoji2/text/EmojiCompat;->mEmojiSpanIndicatorEnabled:Z
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method public load()V
|
|
.locals 3
|
|
|
|
.line 672
|
|
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"
|
|
|
|
invoke-static {v2, v0}, Landroidx/core/util/Preconditions;->checkState(ZLjava/lang/String;)V
|
|
|
|
.line 674
|
|
invoke-direct {p0}, Landroidx/emoji2/text/EmojiCompat;->isInitialized()Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
return-void
|
|
|
|
.line 676
|
|
:cond_1
|
|
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;->lock()V
|
|
|
|
.line 678
|
|
: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
|
|
|
|
.line 681
|
|
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
|
|
|
|
return-void
|
|
|
|
.line 679
|
|
: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
|
|
|
|
.line 681
|
|
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 684
|
|
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat;->mHelper:Landroidx/emoji2/text/EmojiCompat$CompatInternal;
|
|
|
|
invoke-virtual {v0}, Landroidx/emoji2/text/EmojiCompat$CompatInternal;->loadMetadata()V
|
|
|
|
return-void
|
|
|
|
:catchall_0
|
|
move-exception v0
|
|
|
|
.line 681
|
|
iget-object v1, p0, Landroidx/emoji2/text/EmojiCompat;->mInitLock:Ljava/util/concurrent/locks/ReadWriteLock;
|
|
|
|
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 682
|
|
throw v0
|
|
.end method
|
|
|
|
.method onMetadataLoadFailed(Ljava/lang/Throwable;)V
|
|
.locals 4
|
|
|
|
.line 719
|
|
new-instance v0, Ljava/util/ArrayList;
|
|
|
|
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
|
|
|
|
.line 720
|
|
iget-object v1, p0, Landroidx/emoji2/text/EmojiCompat;->mInitLock:Ljava/util/concurrent/locks/ReadWriteLock;
|
|
|
|
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
|
|
|
|
.line 722
|
|
:try_start_0
|
|
iput v1, p0, Landroidx/emoji2/text/EmojiCompat;->mLoadState:I
|
|
|
|
.line 723
|
|
iget-object v1, p0, Landroidx/emoji2/text/EmojiCompat;->mInitCallbacks:Ljava/util/Set;
|
|
|
|
invoke-interface {v0, v1}, Ljava/util/Collection;->addAll(Ljava/util/Collection;)Z
|
|
|
|
.line 724
|
|
iget-object v1, p0, Landroidx/emoji2/text/EmojiCompat;->mInitCallbacks:Ljava/util/Set;
|
|
|
|
invoke-interface {v1}, Ljava/util/Set;->clear()V
|
|
:try_end_0
|
|
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
|
|
|
.line 726
|
|
iget-object v1, p0, Landroidx/emoji2/text/EmojiCompat;->mInitLock:Ljava/util/concurrent/locks/ReadWriteLock;
|
|
|
|
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 728
|
|
iget-object v1, p0, Landroidx/emoji2/text/EmojiCompat;->mMainHandler:Landroid/os/Handler;
|
|
|
|
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
|
|
|
|
.line 726
|
|
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 727
|
|
throw p1
|
|
.end method
|
|
|
|
.method onMetadataLoadSuccess()V
|
|
.locals 4
|
|
|
|
.line 704
|
|
new-instance v0, Ljava/util/ArrayList;
|
|
|
|
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
|
|
|
|
.line 705
|
|
iget-object v1, p0, Landroidx/emoji2/text/EmojiCompat;->mInitLock:Ljava/util/concurrent/locks/ReadWriteLock;
|
|
|
|
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
|
|
|
|
.line 707
|
|
:try_start_0
|
|
iput v1, p0, Landroidx/emoji2/text/EmojiCompat;->mLoadState:I
|
|
|
|
.line 708
|
|
iget-object v1, p0, Landroidx/emoji2/text/EmojiCompat;->mInitCallbacks:Ljava/util/Set;
|
|
|
|
invoke-interface {v0, v1}, Ljava/util/Collection;->addAll(Ljava/util/Collection;)Z
|
|
|
|
.line 709
|
|
iget-object v1, p0, Landroidx/emoji2/text/EmojiCompat;->mInitCallbacks:Ljava/util/Set;
|
|
|
|
invoke-interface {v1}, Ljava/util/Set;->clear()V
|
|
:try_end_0
|
|
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
|
|
|
.line 711
|
|
iget-object v1, p0, Landroidx/emoji2/text/EmojiCompat;->mInitLock:Ljava/util/concurrent/locks/ReadWriteLock;
|
|
|
|
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 714
|
|
iget-object v1, p0, Landroidx/emoji2/text/EmojiCompat;->mMainHandler:Landroid/os/Handler;
|
|
|
|
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
|
|
|
|
.line 711
|
|
iget-object v1, p0, Landroidx/emoji2/text/EmojiCompat;->mInitLock:Ljava/util/concurrent/locks/ReadWriteLock;
|
|
|
|
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 712
|
|
throw v0
|
|
.end method
|
|
|
|
.method public process(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
|
|
.locals 2
|
|
|
|
const/4 v0, 0x0
|
|
|
|
if-nez p1, :cond_0
|
|
|
|
move v1, v0
|
|
|
|
goto :goto_0
|
|
|
|
.line 956
|
|
:cond_0
|
|
invoke-interface {p1}, Ljava/lang/CharSequence;->length()I
|
|
|
|
move-result v1
|
|
|
|
.line 957
|
|
: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
|
|
|
|
const v0, 0x7fffffff
|
|
|
|
.line 991
|
|
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
|
|
|
|
const/4 v5, 0x0
|
|
|
|
move-object v0, p0
|
|
|
|
move-object v1, p1
|
|
|
|
move v2, p2
|
|
|
|
move v3, p3
|
|
|
|
move v4, p4
|
|
|
|
.line 1029
|
|
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
|
|
|
|
.line 1071
|
|
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
|
|
|
|
.line 1072
|
|
const-string v0, "start cannot be negative"
|
|
|
|
invoke-static {p2, v0}, Landroidx/core/util/Preconditions;->checkArgumentNonnegative(ILjava/lang/String;)I
|
|
|
|
.line 1073
|
|
const-string v0, "end cannot be negative"
|
|
|
|
invoke-static {p3, v0}, Landroidx/core/util/Preconditions;->checkArgumentNonnegative(ILjava/lang/String;)I
|
|
|
|
.line 1074
|
|
const-string v0, "maxEmojiCount cannot be negative"
|
|
|
|
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
|
|
|
|
.line 1075
|
|
:goto_0
|
|
const-string v3, "start should be <= than end"
|
|
|
|
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 1082
|
|
: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 1084
|
|
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 1088
|
|
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
|
|
|
|
.line 1102
|
|
iget-boolean v0, p0, Landroidx/emoji2/text/EmojiCompat;->mReplaceAll:Z
|
|
|
|
:cond_5
|
|
move v6, v0
|
|
|
|
goto :goto_3
|
|
|
|
:cond_6
|
|
move v6, v1
|
|
|
|
.line 1106
|
|
: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
|
|
|
|
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
|
|
|
|
.line 746
|
|
const-string v0, "initCallback cannot be null"
|
|
|
|
invoke-static {p1, v0}, Landroidx/core/util/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
.line 748
|
|
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;->lock()V
|
|
|
|
.line 750
|
|
: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
|
|
|
|
.line 753
|
|
:cond_0
|
|
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat;->mInitCallbacks:Ljava/util/Set;
|
|
|
|
invoke-interface {v0, p1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
|
|
|
|
goto :goto_1
|
|
|
|
.line 751
|
|
:cond_1
|
|
:goto_0
|
|
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat;->mMainHandler:Landroid/os/Handler;
|
|
|
|
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
|
|
|
|
.line 756
|
|
:goto_1
|
|
iget-object p1, p0, Landroidx/emoji2/text/EmojiCompat;->mInitLock:Ljava/util/concurrent/locks/ReadWriteLock;
|
|
|
|
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 757
|
|
throw p1
|
|
.end method
|
|
|
|
.method public unregisterInitCallback(Landroidx/emoji2/text/EmojiCompat$InitCallback;)V
|
|
.locals 1
|
|
|
|
.line 766
|
|
const-string v0, "initCallback cannot be null"
|
|
|
|
invoke-static {p1, v0}, Landroidx/core/util/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
|
|
|
|
.line 767
|
|
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;->lock()V
|
|
|
|
.line 769
|
|
:try_start_0
|
|
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat;->mInitCallbacks:Ljava/util/Set;
|
|
|
|
invoke-interface {v0, p1}, Ljava/util/Set;->remove(Ljava/lang/Object;)Z
|
|
:try_end_0
|
|
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
|
|
|
.line 771
|
|
iget-object p1, p0, Landroidx/emoji2/text/EmojiCompat;->mInitLock:Ljava/util/concurrent/locks/ReadWriteLock;
|
|
|
|
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 772
|
|
throw p1
|
|
.end method
|
|
|
|
.method public updateEditorInfo(Landroid/view/inputmethod/EditorInfo;)V
|
|
.locals 1
|
|
|
|
.line 1143
|
|
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 1146
|
|
:cond_0
|
|
iget-object v0, p1, Landroid/view/inputmethod/EditorInfo;->extras:Landroid/os/Bundle;
|
|
|
|
if-nez v0, :cond_1
|
|
|
|
.line 1147
|
|
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;
|
|
|
|
.line 1149
|
|
:cond_1
|
|
iget-object v0, p0, Landroidx/emoji2/text/EmojiCompat;->mHelper:Landroidx/emoji2/text/EmojiCompat$CompatInternal;
|
|
|
|
invoke-virtual {v0, p1}, Landroidx/emoji2/text/EmojiCompat$CompatInternal;->updateEditorInfoAttrs(Landroid/view/inputmethod/EditorInfo;)V
|
|
|
|
:cond_2
|
|
:goto_0
|
|
return-void
|
|
.end method
|