.class public Landroidx/emoji/text/EmojiCompat; .super Ljava/lang/Object; .source "EmojiCompat.java" # annotations .annotation build Landroidx/annotation/AnyThread; .end annotation .annotation system Ldalvik/annotation/MemberClasses; value = { Landroidx/emoji/text/EmojiCompat$a;, Landroidx/emoji/text/EmojiCompat$b;, Landroidx/emoji/text/EmojiCompat$e;, Landroidx/emoji/text/EmojiCompat$c;, Landroidx/emoji/text/EmojiCompat$g;, Landroidx/emoji/text/EmojiCompat$f;, Landroidx/emoji/text/EmojiCompat$d;, Landroidx/emoji/text/EmojiCompat$h;, Landroidx/emoji/text/EmojiCompat$LoadStrategy;, Landroidx/emoji/text/EmojiCompat$ReplaceStrategy;, Landroidx/emoji/text/EmojiCompat$LoadState; } .end annotation # static fields .field public static final m:Ljava/lang/String; = "android.support.text.emoji.emojiCompat_metadataVersion" .field public static final n:Ljava/lang/String; = "android.support.text.emoji.emojiCompat_replaceAll" .field public static final o:I = 0x3 .field public static final p:I = 0x0 .field public static final q:I = 0x1 .field public static final r:I = 0x2 .field public static final s:I = 0x0 .field public static final t:I = 0x1 .field public static final u:I = 0x2 .field public static final v:I = 0x0 .field public static final w:I = 0x1 .field public static final x:I = 0x7fffffff .annotation build Landroidx/annotation/RestrictTo; value = { .enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP_PREFIX:Landroidx/annotation/RestrictTo$Scope; } .end annotation .end field .field public static final y:Ljava/lang/Object; .field public static volatile z:Landroidx/emoji/text/EmojiCompat; .annotation build Landroidx/annotation/GuardedBy; value = "sInstanceLock" .end annotation .end field # instance fields .field public final a:Ljava/util/concurrent/locks/ReadWriteLock; .field public final b:Ljava/util/Set; .annotation build Landroidx/annotation/GuardedBy; value = "mInitLock" .end annotation .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/Set<", "Landroidx/emoji/text/EmojiCompat$d;", ">;" } .end annotation .end field .field public c:I .annotation build Landroidx/annotation/GuardedBy; value = "mInitLock" .end annotation .end field .field public final d:Landroid/os/Handler; .field public final e:Landroidx/emoji/text/EmojiCompat$b; .field public final f:Landroidx/emoji/text/EmojiCompat$f; .field public final g:Z .field public final h:Z .field public final i:[I .field public final j:Z .field public final k:I .field public final l:I # direct methods .method public static constructor ()V .locals 1 .line 1 new-instance v0, Ljava/lang/Object; invoke-direct {v0}, Ljava/lang/Object;->()V sput-object v0, Landroidx/emoji/text/EmojiCompat;->y:Ljava/lang/Object; return-void .end method .method public constructor (Landroidx/emoji/text/EmojiCompat$c;)V .locals 2 .param p1 # Landroidx/emoji/text/EmojiCompat$c; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .line 1 invoke-direct {p0}, Ljava/lang/Object;->()V .line 2 new-instance v0, Ljava/util/concurrent/locks/ReentrantReadWriteLock; invoke-direct {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;->()V iput-object v0, p0, Landroidx/emoji/text/EmojiCompat;->a:Ljava/util/concurrent/locks/ReadWriteLock; const/4 v0, 0x3 .line 3 iput v0, p0, Landroidx/emoji/text/EmojiCompat;->c:I .line 4 iget-boolean v0, p1, Landroidx/emoji/text/EmojiCompat$c;->b:Z iput-boolean v0, p0, Landroidx/emoji/text/EmojiCompat;->g:Z .line 5 iget-boolean v0, p1, Landroidx/emoji/text/EmojiCompat$c;->c:Z iput-boolean v0, p0, Landroidx/emoji/text/EmojiCompat;->h:Z .line 6 iget-object v0, p1, Landroidx/emoji/text/EmojiCompat$c;->d:[I iput-object v0, p0, Landroidx/emoji/text/EmojiCompat;->i:[I .line 7 iget-boolean v0, p1, Landroidx/emoji/text/EmojiCompat$c;->f:Z iput-boolean v0, p0, Landroidx/emoji/text/EmojiCompat;->j:Z .line 8 iget v0, p1, Landroidx/emoji/text/EmojiCompat$c;->g:I iput v0, p0, Landroidx/emoji/text/EmojiCompat;->k:I .line 9 iget-object v0, p1, Landroidx/emoji/text/EmojiCompat$c;->a:Landroidx/emoji/text/EmojiCompat$f; iput-object v0, p0, Landroidx/emoji/text/EmojiCompat;->f:Landroidx/emoji/text/EmojiCompat$f; .line 10 iget v0, p1, Landroidx/emoji/text/EmojiCompat$c;->h:I iput v0, p0, Landroidx/emoji/text/EmojiCompat;->l:I .line 11 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;->(Landroid/os/Looper;)V iput-object v0, p0, Landroidx/emoji/text/EmojiCompat;->d:Landroid/os/Handler; .line 12 new-instance v0, Landroidx/collection/c; invoke-direct {v0}, Landroidx/collection/c;->()V iput-object v0, p0, Landroidx/emoji/text/EmojiCompat;->b:Ljava/util/Set; .line 13 iget-object v1, p1, Landroidx/emoji/text/EmojiCompat$c;->e:Ljava/util/Set; if-eqz v1, :cond_0 invoke-interface {v1}, Ljava/util/Set;->isEmpty()Z move-result v1 if-nez v1, :cond_0 .line 14 iget-object p1, p1, Landroidx/emoji/text/EmojiCompat$c;->e:Ljava/util/Set; invoke-interface {v0, p1}, Ljava/util/Set;->addAll(Ljava/util/Collection;)Z .line 15 :cond_0 new-instance p1, Landroidx/emoji/text/EmojiCompat$a; invoke-direct {p1, p0}, Landroidx/emoji/text/EmojiCompat$a;->(Landroidx/emoji/text/EmojiCompat;)V iput-object p1, p0, Landroidx/emoji/text/EmojiCompat;->e:Landroidx/emoji/text/EmojiCompat$b; .line 16 invoke-virtual {p0}, Landroidx/emoji/text/EmojiCompat;->m()V return-void .end method .method public static a()Landroidx/emoji/text/EmojiCompat; .locals 3 .line 1 sget-object v0, Landroidx/emoji/text/EmojiCompat;->y:Ljava/lang/Object; monitor-enter v0 .line 2 :try_start_0 sget-object v1, Landroidx/emoji/text/EmojiCompat;->z:Landroidx/emoji/text/EmojiCompat; if-eqz v1, :cond_0 const/4 v1, 0x1 goto :goto_0 :cond_0 const/4 v1, 0x0 :goto_0 const-string v2, "EmojiCompat is not initialized. Please call EmojiCompat.init() first" invoke-static {v1, v2}, Lr1/o;->n(ZLjava/lang/String;)V .line 3 sget-object v1, Landroidx/emoji/text/EmojiCompat;->z:Landroidx/emoji/text/EmojiCompat; monitor-exit v0 return-object v1 :catchall_0 move-exception v1 .line 4 monitor-exit v0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 throw v1 .end method .method public static e(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 1 invoke-static {p0, p1, p2, p3, p4}, Landroidx/emoji/text/a;->d(Landroid/view/inputmethod/InputConnection;Landroid/text/Editable;IIZ)Z move-result p0 return p0 .end method .method public static f(Landroid/text/Editable;ILandroid/view/KeyEvent;)Z .locals 0 .param p0 # Landroid/text/Editable; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .line 1 invoke-static {p0, p1, p2}, Landroidx/emoji/text/a;->e(Landroid/text/Editable;ILandroid/view/KeyEvent;)Z move-result p0 return p0 .end method .method public static i(Landroidx/emoji/text/EmojiCompat$c;)Landroidx/emoji/text/EmojiCompat; .locals 2 .param p0 # Landroidx/emoji/text/EmojiCompat$c; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .line 1 sget-object v0, Landroidx/emoji/text/EmojiCompat;->z:Landroidx/emoji/text/EmojiCompat; if-nez v0, :cond_1 .line 2 sget-object v0, Landroidx/emoji/text/EmojiCompat;->y:Ljava/lang/Object; monitor-enter v0 .line 3 :try_start_0 sget-object v1, Landroidx/emoji/text/EmojiCompat;->z:Landroidx/emoji/text/EmojiCompat; if-nez v1, :cond_0 .line 4 new-instance v1, Landroidx/emoji/text/EmojiCompat; invoke-direct {v1, p0}, Landroidx/emoji/text/EmojiCompat;->(Landroidx/emoji/text/EmojiCompat$c;)V sput-object v1, Landroidx/emoji/text/EmojiCompat;->z:Landroidx/emoji/text/EmojiCompat; .line 5 :cond_0 monitor-exit v0 goto :goto_0 :catchall_0 move-exception p0 monitor-exit v0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 throw p0 .line 6 :cond_1 :goto_0 sget-object p0, Landroidx/emoji/text/EmojiCompat;->z:Landroidx/emoji/text/EmojiCompat; return-object p0 .end method .method public static u(Landroidx/emoji/text/EmojiCompat$c;)Landroidx/emoji/text/EmojiCompat; .locals 2 .param p0 # Landroidx/emoji/text/EmojiCompat$c; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .annotation build Landroidx/annotation/RestrictTo; value = { .enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP_PREFIX:Landroidx/annotation/RestrictTo$Scope; } .end annotation .annotation build Landroidx/annotation/VisibleForTesting; .end annotation .line 1 sget-object v0, Landroidx/emoji/text/EmojiCompat;->y:Ljava/lang/Object; monitor-enter v0 .line 2 :try_start_0 new-instance v1, Landroidx/emoji/text/EmojiCompat; invoke-direct {v1, p0}, Landroidx/emoji/text/EmojiCompat;->(Landroidx/emoji/text/EmojiCompat$c;)V sput-object v1, Landroidx/emoji/text/EmojiCompat;->z:Landroidx/emoji/text/EmojiCompat; .line 3 monitor-exit v0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 4 sget-object p0, Landroidx/emoji/text/EmojiCompat;->z:Landroidx/emoji/text/EmojiCompat; return-object p0 :catchall_0 move-exception p0 .line 5 :try_start_1 monitor-exit v0 :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_0 throw p0 .end method .method public static v(Landroidx/emoji/text/EmojiCompat;)Landroidx/emoji/text/EmojiCompat; .locals 1 .annotation build Landroidx/annotation/RestrictTo; value = { .enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP_PREFIX:Landroidx/annotation/RestrictTo$Scope; } .end annotation .annotation build Landroidx/annotation/VisibleForTesting; .end annotation .line 1 sget-object v0, Landroidx/emoji/text/EmojiCompat;->y:Ljava/lang/Object; monitor-enter v0 .line 2 :try_start_0 sput-object p0, Landroidx/emoji/text/EmojiCompat;->z:Landroidx/emoji/text/EmojiCompat; .line 3 monitor-exit v0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 4 sget-object p0, Landroidx/emoji/text/EmojiCompat;->z:Landroidx/emoji/text/EmojiCompat; return-object p0 :catchall_0 move-exception p0 .line 5 :try_start_1 monitor-exit v0 :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_0 throw p0 .end method # virtual methods .method public b()Ljava/lang/String; .locals 2 .annotation build Landroidx/annotation/NonNull; .end annotation .line 1 invoke-virtual {p0}, Landroidx/emoji/text/EmojiCompat;->k()Z move-result v0 const-string v1, "Not initialized yet" invoke-static {v0, v1}, Lr1/o;->n(ZLjava/lang/String;)V .line 2 iget-object v0, p0, Landroidx/emoji/text/EmojiCompat;->e:Landroidx/emoji/text/EmojiCompat$b; invoke-virtual {v0}, Landroidx/emoji/text/EmojiCompat$b;->a()Ljava/lang/String; move-result-object v0 return-object v0 .end method .method public c()I .locals 1 .annotation build Landroidx/annotation/ColorInt; .end annotation .annotation build Landroidx/annotation/RestrictTo; value = { .enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP_PREFIX:Landroidx/annotation/RestrictTo$Scope; } .end annotation .line 1 iget v0, p0, Landroidx/emoji/text/EmojiCompat;->k:I return v0 .end method .method public d()I .locals 2 .line 1 iget-object v0, p0, Landroidx/emoji/text/EmojiCompat;->a: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 2 :try_start_0 iget v0, p0, Landroidx/emoji/text/EmojiCompat;->c:I :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 3 iget-object v1, p0, Landroidx/emoji/text/EmojiCompat;->a: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/emoji/text/EmojiCompat;->a: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 4 throw v0 .end method .method public g(Ljava/lang/CharSequence;)Z .locals 2 .param p1 # Ljava/lang/CharSequence; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .line 1 invoke-virtual {p0}, Landroidx/emoji/text/EmojiCompat;->k()Z move-result v0 const-string v1, "Not initialized yet" invoke-static {v0, v1}, Lr1/o;->n(ZLjava/lang/String;)V const-string v0, "sequence cannot be null" .line 2 invoke-static {p1, v0}, Lr1/o;->l(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 3 iget-object v0, p0, Landroidx/emoji/text/EmojiCompat;->e:Landroidx/emoji/text/EmojiCompat$b; invoke-virtual {v0, p1}, Landroidx/emoji/text/EmojiCompat$b;->b(Ljava/lang/CharSequence;)Z move-result p1 return p1 .end method .method public h(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 .line 1 invoke-virtual {p0}, Landroidx/emoji/text/EmojiCompat;->k()Z move-result v0 const-string v1, "Not initialized yet" invoke-static {v0, v1}, Lr1/o;->n(ZLjava/lang/String;)V const-string v0, "sequence cannot be null" .line 2 invoke-static {p1, v0}, Lr1/o;->l(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 3 iget-object v0, p0, Landroidx/emoji/text/EmojiCompat;->e:Landroidx/emoji/text/EmojiCompat$b; invoke-virtual {v0, p1, p2}, Landroidx/emoji/text/EmojiCompat$b;->c(Ljava/lang/CharSequence;I)Z move-result p1 return p1 .end method .method public j()Z .locals 1 .annotation build Landroidx/annotation/RestrictTo; value = { .enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP_PREFIX:Landroidx/annotation/RestrictTo$Scope; } .end annotation .line 1 iget-boolean v0, p0, Landroidx/emoji/text/EmojiCompat;->j:Z return v0 .end method .method public final k()Z .locals 2 .line 1 invoke-virtual {p0}, Landroidx/emoji/text/EmojiCompat;->d()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 public l()V .locals 3 .line 1 iget v0, p0, Landroidx/emoji/text/EmojiCompat;->l: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}, Lr1/o;->n(ZLjava/lang/String;)V .line 2 invoke-virtual {p0}, Landroidx/emoji/text/EmojiCompat;->k()Z move-result v0 if-eqz v0, :cond_1 return-void .line 3 :cond_1 iget-object v0, p0, Landroidx/emoji/text/EmojiCompat;->a: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 4 :try_start_0 iget v0, p0, Landroidx/emoji/text/EmojiCompat;->c:I :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 if-nez v0, :cond_2 .line 5 iget-object v0, p0, Landroidx/emoji/text/EmojiCompat;->a: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 6 :cond_2 :try_start_1 iput v1, p0, Landroidx/emoji/text/EmojiCompat;->c:I :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_0 .line 7 iget-object v0, p0, Landroidx/emoji/text/EmojiCompat;->a: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 8 iget-object v0, p0, Landroidx/emoji/text/EmojiCompat;->e:Landroidx/emoji/text/EmojiCompat$b; invoke-virtual {v0}, Landroidx/emoji/text/EmojiCompat$b;->d()V return-void :catchall_0 move-exception v0 .line 9 iget-object v1, p0, Landroidx/emoji/text/EmojiCompat;->a: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 10 throw v0 .end method .method public final m()V .locals 2 .line 1 iget-object v0, p0, Landroidx/emoji/text/EmojiCompat;->a: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 2 :try_start_0 iget v0, p0, Landroidx/emoji/text/EmojiCompat;->l:I if-nez v0, :cond_0 const/4 v0, 0x0 .line 3 iput v0, p0, Landroidx/emoji/text/EmojiCompat;->c:I :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 4 :cond_0 iget-object v0, p0, Landroidx/emoji/text/EmojiCompat;->a: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 5 invoke-virtual {p0}, Landroidx/emoji/text/EmojiCompat;->d()I move-result v0 if-nez v0, :cond_1 .line 6 iget-object v0, p0, Landroidx/emoji/text/EmojiCompat;->e:Landroidx/emoji/text/EmojiCompat$b; invoke-virtual {v0}, Landroidx/emoji/text/EmojiCompat$b;->d()V :cond_1 return-void :catchall_0 move-exception v0 .line 7 iget-object v1, p0, Landroidx/emoji/text/EmojiCompat;->a: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 8 throw v0 .end method .method public n(Ljava/lang/Throwable;)V .locals 4 .param p1 # Ljava/lang/Throwable; .annotation build Landroidx/annotation/Nullable; .end annotation .end param .line 1 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V .line 2 iget-object v1, p0, Landroidx/emoji/text/EmojiCompat;->a: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 3 :try_start_0 iput v1, p0, Landroidx/emoji/text/EmojiCompat;->c:I .line 4 iget-object v1, p0, Landroidx/emoji/text/EmojiCompat;->b:Ljava/util/Set; invoke-virtual {v0, v1}, Ljava/util/ArrayList;->addAll(Ljava/util/Collection;)Z .line 5 iget-object v1, p0, Landroidx/emoji/text/EmojiCompat;->b:Ljava/util/Set; invoke-interface {v1}, Ljava/util/Set;->clear()V :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 6 iget-object v1, p0, Landroidx/emoji/text/EmojiCompat;->a: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 7 iget-object v1, p0, Landroidx/emoji/text/EmojiCompat;->d:Landroid/os/Handler; new-instance v2, Landroidx/emoji/text/EmojiCompat$e; iget v3, p0, Landroidx/emoji/text/EmojiCompat;->c:I invoke-direct {v2, v0, v3, p1}, Landroidx/emoji/text/EmojiCompat$e;->(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 8 iget-object v0, p0, Landroidx/emoji/text/EmojiCompat;->a: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 9 throw p1 .end method .method public o()V .locals 4 .line 1 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V .line 2 iget-object v1, p0, Landroidx/emoji/text/EmojiCompat;->a: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 3 :try_start_0 iput v1, p0, Landroidx/emoji/text/EmojiCompat;->c:I .line 4 iget-object v1, p0, Landroidx/emoji/text/EmojiCompat;->b:Ljava/util/Set; invoke-virtual {v0, v1}, Ljava/util/ArrayList;->addAll(Ljava/util/Collection;)Z .line 5 iget-object v1, p0, Landroidx/emoji/text/EmojiCompat;->b:Ljava/util/Set; invoke-interface {v1}, Ljava/util/Set;->clear()V :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 6 iget-object v1, p0, Landroidx/emoji/text/EmojiCompat;->a: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 7 iget-object v1, p0, Landroidx/emoji/text/EmojiCompat;->d:Landroid/os/Handler; new-instance v2, Landroidx/emoji/text/EmojiCompat$e; iget v3, p0, Landroidx/emoji/text/EmojiCompat;->c:I invoke-direct {v2, v0, v3}, Landroidx/emoji/text/EmojiCompat$e;->(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 8 iget-object v1, p0, Landroidx/emoji/text/EmojiCompat;->a: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 9 throw v0 .end method .method public p(Ljava/lang/CharSequence;)Ljava/lang/CharSequence; .locals 2 .param p1 # Ljava/lang/CharSequence; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .annotation build Landroidx/annotation/CheckResult; .end annotation const/4 v0, 0x0 if-nez p1, :cond_0 move v1, v0 goto :goto_0 .line 1 :cond_0 invoke-interface {p1}, Ljava/lang/CharSequence;->length()I move-result v1 .line 2 :goto_0 invoke-virtual {p0, p1, v0, v1}, Landroidx/emoji/text/EmojiCompat;->q(Ljava/lang/CharSequence;II)Ljava/lang/CharSequence; move-result-object p1 return-object p1 .end method .method public q(Ljava/lang/CharSequence;II)Ljava/lang/CharSequence; .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 .param p3 # I .annotation build Landroidx/annotation/IntRange; from = 0x0L .end annotation .end param .annotation build Landroidx/annotation/CheckResult; .end annotation const v0, 0x7fffffff .line 1 invoke-virtual {p0, p1, p2, p3, v0}, Landroidx/emoji/text/EmojiCompat;->r(Ljava/lang/CharSequence;III)Ljava/lang/CharSequence; move-result-object p1 return-object p1 .end method .method public r(Ljava/lang/CharSequence;III)Ljava/lang/CharSequence; .locals 6 .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 .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 const/4 v5, 0x0 move-object v0, p0 move-object v1, p1 move v2, p2 move v3, p3 move v4, p4 .line 1 invoke-virtual/range {v0 .. v5}, Landroidx/emoji/text/EmojiCompat;->s(Ljava/lang/CharSequence;IIII)Ljava/lang/CharSequence; move-result-object p1 return-object p1 .end method .method public s(Ljava/lang/CharSequence;IIII)Ljava/lang/CharSequence; .locals 7 .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 .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 .line 1 invoke-virtual {p0}, Landroidx/emoji/text/EmojiCompat;->k()Z move-result v0 const-string v1, "Not initialized yet" invoke-static {v0, v1}, Lr1/o;->n(ZLjava/lang/String;)V const-string v0, "start cannot be negative" .line 2 invoke-static {p2, v0}, Lr1/o;->i(ILjava/lang/String;)I const-string v0, "end cannot be negative" .line 3 invoke-static {p3, v0}, Lr1/o;->i(ILjava/lang/String;)I const-string v0, "maxEmojiCount cannot be negative" .line 4 invoke-static {p4, v0}, Lr1/o;->i(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 5 invoke-static {v2, v3}, Lr1/o;->b(ZLjava/lang/Object;)V if-nez p1, :cond_1 return-object p1 .line 6 :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}, Lr1/o;->b(ZLjava/lang/Object;)V .line 7 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}, Lr1/o;->b(ZLjava/lang/Object;)V .line 8 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 9 iget-boolean v0, p0, Landroidx/emoji/text/EmojiCompat;->g:Z :cond_5 move v6, v0 goto :goto_3 :cond_6 move v6, v1 .line 10 :goto_3 iget-object v1, p0, Landroidx/emoji/text/EmojiCompat;->e:Landroidx/emoji/text/EmojiCompat$b; move-object v2, p1 move v3, p2 move v4, p3 move v5, p4 invoke-virtual/range {v1 .. v6}, Landroidx/emoji/text/EmojiCompat$b;->e(Ljava/lang/CharSequence;IIIZ)Ljava/lang/CharSequence; move-result-object p1 :cond_7 :goto_4 return-object p1 .end method .method public t(Landroidx/emoji/text/EmojiCompat$d;)V .locals 3 .param p1 # Landroidx/emoji/text/EmojiCompat$d; .annotation build Landroidx/annotation/NonNull; .end annotation .end param const-string v0, "initCallback cannot be null" .line 1 invoke-static {p1, v0}, Lr1/o;->l(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 2 iget-object v0, p0, Landroidx/emoji/text/EmojiCompat;->a: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 3 :try_start_0 iget v0, p0, Landroidx/emoji/text/EmojiCompat;->c:I const/4 v1, 0x1 if-eq v0, v1, :cond_1 const/4 v1, 0x2 if-ne v0, v1, :cond_0 goto :goto_0 .line 4 :cond_0 iget-object v0, p0, Landroidx/emoji/text/EmojiCompat;->b:Ljava/util/Set; invoke-interface {v0, p1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z goto :goto_1 .line 5 :cond_1 :goto_0 iget-object v1, p0, Landroidx/emoji/text/EmojiCompat;->d:Landroid/os/Handler; new-instance v2, Landroidx/emoji/text/EmojiCompat$e; invoke-direct {v2, p1, v0}, Landroidx/emoji/text/EmojiCompat$e;->(Landroidx/emoji/text/EmojiCompat$d;I)V invoke-virtual {v1, v2}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 6 :goto_1 iget-object p1, p0, Landroidx/emoji/text/EmojiCompat;->a: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/emoji/text/EmojiCompat;->a: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 7 throw p1 .end method .method public w(Landroidx/emoji/text/a$b;)V .locals 1 .param p1 # Landroidx/emoji/text/a$b; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .annotation build Landroidx/annotation/RestrictTo; value = { .enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP_PREFIX:Landroidx/annotation/RestrictTo$Scope; } .end annotation .annotation build Landroidx/annotation/VisibleForTesting; .end annotation .line 1 iget-object v0, p0, Landroidx/emoji/text/EmojiCompat;->e:Landroidx/emoji/text/EmojiCompat$b; invoke-virtual {v0, p1}, Landroidx/emoji/text/EmojiCompat$b;->f(Landroidx/emoji/text/a$b;)V return-void .end method .method public x(Landroidx/emoji/text/EmojiCompat$d;)V .locals 1 .param p1 # Landroidx/emoji/text/EmojiCompat$d; .annotation build Landroidx/annotation/NonNull; .end annotation .end param const-string v0, "initCallback cannot be null" .line 1 invoke-static {p1, v0}, Lr1/o;->l(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 2 iget-object v0, p0, Landroidx/emoji/text/EmojiCompat;->a: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 3 :try_start_0 iget-object v0, p0, Landroidx/emoji/text/EmojiCompat;->b: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 4 iget-object p1, p0, Landroidx/emoji/text/EmojiCompat;->a: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/emoji/text/EmojiCompat;->a: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 5 throw p1 .end method .method public y(Landroid/view/inputmethod/EditorInfo;)V .locals 1 .param p1 # Landroid/view/inputmethod/EditorInfo; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .annotation build Landroidx/annotation/RestrictTo; value = { .enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP_PREFIX:Landroidx/annotation/RestrictTo$Scope; } .end annotation .line 1 invoke-virtual {p0}, Landroidx/emoji/text/EmojiCompat;->k()Z move-result v0 if-eqz v0, :cond_0 if-eqz p1, :cond_0 iget-object v0, p1, Landroid/view/inputmethod/EditorInfo;->extras:Landroid/os/Bundle; if-eqz v0, :cond_0 .line 2 iget-object v0, p0, Landroidx/emoji/text/EmojiCompat;->e:Landroidx/emoji/text/EmojiCompat$b; invoke-virtual {v0, p1}, Landroidx/emoji/text/EmojiCompat$b;->g(Landroid/view/inputmethod/EditorInfo;)V :cond_0 return-void .end method