.class final Landroidx/emoji2/viewsintegration/EmojiTextWatcher; .super Ljava/lang/Object; .source "SourceFile" # interfaces .implements Landroid/text/TextWatcher; # annotations .annotation build Landroidx/annotation/RequiresApi; value = 0x13 .end annotation .annotation build Landroidx/annotation/RestrictTo; value = { .enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope; } .end annotation .annotation system Ldalvik/annotation/MemberClasses; value = { Landroidx/emoji2/viewsintegration/EmojiTextWatcher$InitCallbackImpl; } .end annotation # instance fields .field private final mEditText:Landroid/widget/EditText; .field private mEmojiReplaceStrategy:I .field private mEnabled:Z .field private final mExpectInitializedEmojiCompat:Z .field private mInitCallback:Landroidx/emoji2/text/EmojiCompat$InitCallback; .field private mMaxEmojiCount:I # direct methods .method public constructor (Landroid/widget/EditText;Z)V .locals 1 .line 49 invoke-direct {p0}, Ljava/lang/Object;->()V const v0, 0x7fffffff iput v0, p0, Landroidx/emoji2/viewsintegration/EmojiTextWatcher;->mMaxEmojiCount:I const/4 v0, 0x0 iput v0, p0, Landroidx/emoji2/viewsintegration/EmojiTextWatcher;->mEmojiReplaceStrategy:I iput-object p1, p0, Landroidx/emoji2/viewsintegration/EmojiTextWatcher;->mEditText:Landroid/widget/EditText; iput-boolean p2, p0, Landroidx/emoji2/viewsintegration/EmojiTextWatcher;->mExpectInitializedEmojiCompat:Z const/4 p1, 0x1 iput-boolean p1, p0, Landroidx/emoji2/viewsintegration/EmojiTextWatcher;->mEnabled:Z return-void .end method .method private getInitCallback()Landroidx/emoji2/text/EmojiCompat$InitCallback; .locals 2 iget-object v0, p0, Landroidx/emoji2/viewsintegration/EmojiTextWatcher;->mInitCallback:Landroidx/emoji2/text/EmojiCompat$InitCallback; if-nez v0, :cond_0 .line 113 new-instance v0, Landroidx/emoji2/viewsintegration/EmojiTextWatcher$InitCallbackImpl; iget-object v1, p0, Landroidx/emoji2/viewsintegration/EmojiTextWatcher;->mEditText:Landroid/widget/EditText; invoke-direct {v0, v1}, Landroidx/emoji2/viewsintegration/EmojiTextWatcher$InitCallbackImpl;->(Landroid/widget/EditText;)V iput-object v0, p0, Landroidx/emoji2/viewsintegration/EmojiTextWatcher;->mInitCallback:Landroidx/emoji2/text/EmojiCompat$InitCallback; :cond_0 iget-object v0, p0, Landroidx/emoji2/viewsintegration/EmojiTextWatcher;->mInitCallback:Landroidx/emoji2/text/EmojiCompat$InitCallback; return-object v0 .end method .method public static processTextOnEnablingEvent(Landroid/widget/EditText;I)V .locals 2 .param p0 # Landroid/widget/EditText; .annotation build Landroidx/annotation/Nullable; .end annotation .end param const/4 v0, 0x1 if-ne p1, v0, :cond_0 if-eqz p0, :cond_0 .line 152 invoke-virtual {p0}, Landroid/view/View;->isAttachedToWindow()Z move-result p1 if-eqz p1, :cond_0 .line 153 invoke-virtual {p0}, Landroid/widget/TextView;->getEditableText()Landroid/text/Editable; move-result-object p0 .line 155 invoke-static {p0}, Landroid/text/Selection;->getSelectionStart(Ljava/lang/CharSequence;)I move-result p1 .line 156 invoke-static {p0}, Landroid/text/Selection;->getSelectionEnd(Ljava/lang/CharSequence;)I move-result v0 .line 158 invoke-static {}, Landroidx/emoji2/text/EmojiCompat;->get()Landroidx/emoji2/text/EmojiCompat; move-result-object v1 invoke-virtual {v1, p0}, Landroidx/emoji2/text/EmojiCompat;->process(Ljava/lang/CharSequence;)Ljava/lang/CharSequence; .line 160 invoke-static {p0, p1, v0}, Landroidx/emoji2/viewsintegration/EmojiInputFilter;->updateSelection(Landroid/text/Spannable;II)V :cond_0 return-void .end method .method private shouldSkipForDisabledOrNotConfigured()Z .locals 1 iget-boolean v0, p0, Landroidx/emoji2/viewsintegration/EmojiTextWatcher;->mEnabled:Z if-eqz v0, :cond_1 iget-boolean v0, p0, Landroidx/emoji2/viewsintegration/EmojiTextWatcher;->mExpectInitializedEmojiCompat:Z if-nez v0, :cond_0 .line 98 invoke-static {}, Landroidx/emoji2/text/EmojiCompat;->isConfigured()Z move-result v0 if-nez v0, :cond_0 goto :goto_0 :cond_0 const/4 v0, 0x0 goto :goto_1 :cond_1 :goto_0 const/4 v0, 0x1 :goto_1 return v0 .end method # virtual methods .method public afterTextChanged(Landroid/text/Editable;)V .locals 0 return-void .end method .method public beforeTextChanged(Ljava/lang/CharSequence;III)V .locals 0 return-void .end method .method public getEmojiReplaceStrategy()I .locals 1 iget v0, p0, Landroidx/emoji2/viewsintegration/EmojiTextWatcher;->mEmojiReplaceStrategy:I return v0 .end method .method public getMaxEmojiCount()I .locals 1 iget v0, p0, Landroidx/emoji2/viewsintegration/EmojiTextWatcher;->mMaxEmojiCount:I return v0 .end method .method public isEnabled()Z .locals 1 iget-boolean v0, p0, Landroidx/emoji2/viewsintegration/EmojiTextWatcher;->mEnabled:Z return v0 .end method .method public onTextChanged(Ljava/lang/CharSequence;III)V .locals 6 iget-object v0, p0, Landroidx/emoji2/viewsintegration/EmojiTextWatcher;->mEditText:Landroid/widget/EditText; .line 74 invoke-virtual {v0}, Landroid/view/View;->isInEditMode()Z move-result v0 if-nez v0, :cond_3 invoke-direct {p0}, Landroidx/emoji2/viewsintegration/EmojiTextWatcher;->shouldSkipForDisabledOrNotConfigured()Z move-result v0 if-eqz v0, :cond_0 goto :goto_0 :cond_0 if-gt p3, p4, :cond_3 .line 79 instance-of p3, p1, Landroid/text/Spannable; if-eqz p3, :cond_3 .line 80 invoke-static {}, Landroidx/emoji2/text/EmojiCompat;->get()Landroidx/emoji2/text/EmojiCompat; move-result-object p3 invoke-virtual {p3}, Landroidx/emoji2/text/EmojiCompat;->getLoadState()I move-result p3 if-eqz p3, :cond_2 const/4 v0, 0x1 if-eq p3, v0, :cond_1 const/4 p1, 0x3 if-eq p3, p1, :cond_2 goto :goto_0 .line 82 :cond_1 move-object v1, p1 check-cast v1, Landroid/text/Spannable; .line 83 invoke-static {}, Landroidx/emoji2/text/EmojiCompat;->get()Landroidx/emoji2/text/EmojiCompat; move-result-object v0 add-int v3, p2, p4 iget v4, p0, Landroidx/emoji2/viewsintegration/EmojiTextWatcher;->mMaxEmojiCount:I iget v5, p0, Landroidx/emoji2/viewsintegration/EmojiTextWatcher;->mEmojiReplaceStrategy:I move v2, p2 invoke-virtual/range {v0 .. v5}, Landroidx/emoji2/text/EmojiCompat;->process(Ljava/lang/CharSequence;IIII)Ljava/lang/CharSequence; goto :goto_0 .line 88 :cond_2 invoke-static {}, Landroidx/emoji2/text/EmojiCompat;->get()Landroidx/emoji2/text/EmojiCompat; move-result-object p1 invoke-direct {p0}, Landroidx/emoji2/viewsintegration/EmojiTextWatcher;->getInitCallback()Landroidx/emoji2/text/EmojiCompat$InitCallback; move-result-object p2 invoke-virtual {p1, p2}, Landroidx/emoji2/text/EmojiCompat;->registerInitCallback(Landroidx/emoji2/text/EmojiCompat$InitCallback;)V :cond_3 :goto_0 return-void .end method .method public setEmojiReplaceStrategy(I)V .locals 0 iput p1, p0, Landroidx/emoji2/viewsintegration/EmojiTextWatcher;->mEmojiReplaceStrategy:I return-void .end method .method public setEnabled(Z)V .locals 2 iget-boolean v0, p0, Landroidx/emoji2/viewsintegration/EmojiTextWatcher;->mEnabled:Z if-eq v0, p1, :cond_1 iget-object v0, p0, Landroidx/emoji2/viewsintegration/EmojiTextWatcher;->mInitCallback:Landroidx/emoji2/text/EmojiCompat$InitCallback; if-eqz v0, :cond_0 .line 125 invoke-static {}, Landroidx/emoji2/text/EmojiCompat;->get()Landroidx/emoji2/text/EmojiCompat; move-result-object v0 iget-object v1, p0, Landroidx/emoji2/viewsintegration/EmojiTextWatcher;->mInitCallback:Landroidx/emoji2/text/EmojiCompat$InitCallback; invoke-virtual {v0, v1}, Landroidx/emoji2/text/EmojiCompat;->unregisterInitCallback(Landroidx/emoji2/text/EmojiCompat$InitCallback;)V :cond_0 iput-boolean p1, p0, Landroidx/emoji2/viewsintegration/EmojiTextWatcher;->mEnabled:Z if-eqz p1, :cond_1 iget-object p1, p0, Landroidx/emoji2/viewsintegration/EmojiTextWatcher;->mEditText:Landroid/widget/EditText; .line 129 invoke-static {}, Landroidx/emoji2/text/EmojiCompat;->get()Landroidx/emoji2/text/EmojiCompat; move-result-object v0 invoke-virtual {v0}, Landroidx/emoji2/text/EmojiCompat;->getLoadState()I move-result v0 invoke-static {p1, v0}, Landroidx/emoji2/viewsintegration/EmojiTextWatcher;->processTextOnEnablingEvent(Landroid/widget/EditText;I)V :cond_1 return-void .end method .method public setMaxEmojiCount(I)V .locals 0 iput p1, p0, Landroidx/emoji2/viewsintegration/EmojiTextWatcher;->mMaxEmojiCount:I return-void .end method