.class Landroidx/emoji2/text/SpannableBuilder$WatcherWrapper; .super Ljava/lang/Object; .source "SpannableBuilder.java" # interfaces .implements Landroid/text/TextWatcher; .implements Landroid/text/SpanWatcher; # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Landroidx/emoji2/text/SpannableBuilder; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0xa name = "WatcherWrapper" .end annotation # instance fields .field private final mBlockCalls:Ljava/util/concurrent/atomic/AtomicInteger; .field final mObject:Ljava/lang/Object; # direct methods .method constructor (Ljava/lang/Object;)V .locals 2 .line 379 invoke-direct {p0}, Ljava/lang/Object;->()V .line 377 new-instance v0, Ljava/util/concurrent/atomic/AtomicInteger; const/4 v1, 0x0 invoke-direct {v0, v1}, Ljava/util/concurrent/atomic/AtomicInteger;->(I)V iput-object v0, p0, Landroidx/emoji2/text/SpannableBuilder$WatcherWrapper;->mBlockCalls:Ljava/util/concurrent/atomic/AtomicInteger; .line 380 iput-object p1, p0, Landroidx/emoji2/text/SpannableBuilder$WatcherWrapper;->mObject:Ljava/lang/Object; return-void .end method .method private isEmojiSpan(Ljava/lang/Object;)Z .locals 0 .line 457 instance-of p1, p1, Landroidx/emoji2/text/EmojiSpan; return p1 .end method # virtual methods .method public afterTextChanged(Landroid/text/Editable;)V .locals 1 .line 395 iget-object v0, p0, Landroidx/emoji2/text/SpannableBuilder$WatcherWrapper;->mObject:Ljava/lang/Object; check-cast v0, Landroid/text/TextWatcher; invoke-interface {v0, p1}, Landroid/text/TextWatcher;->afterTextChanged(Landroid/text/Editable;)V return-void .end method .method public beforeTextChanged(Ljava/lang/CharSequence;III)V .locals 1 .line 385 iget-object v0, p0, Landroidx/emoji2/text/SpannableBuilder$WatcherWrapper;->mObject:Ljava/lang/Object; check-cast v0, Landroid/text/TextWatcher; invoke-interface {v0, p1, p2, p3, p4}, Landroid/text/TextWatcher;->beforeTextChanged(Ljava/lang/CharSequence;III)V return-void .end method .method final blockCalls()V .locals 1 .line 449 iget-object v0, p0, Landroidx/emoji2/text/SpannableBuilder$WatcherWrapper;->mBlockCalls:Ljava/util/concurrent/atomic/AtomicInteger; invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;->incrementAndGet()I return-void .end method .method public onSpanAdded(Landroid/text/Spannable;Ljava/lang/Object;II)V .locals 1 .line 404 iget-object v0, p0, Landroidx/emoji2/text/SpannableBuilder$WatcherWrapper;->mBlockCalls:Ljava/util/concurrent/atomic/AtomicInteger; invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;->get()I move-result v0 if-lez v0, :cond_0 invoke-direct {p0, p2}, Landroidx/emoji2/text/SpannableBuilder$WatcherWrapper;->isEmojiSpan(Ljava/lang/Object;)Z move-result v0 if-eqz v0, :cond_0 return-void .line 407 :cond_0 iget-object v0, p0, Landroidx/emoji2/text/SpannableBuilder$WatcherWrapper;->mObject:Ljava/lang/Object; check-cast v0, Landroid/text/SpanWatcher; invoke-interface {v0, p1, p2, p3, p4}, Landroid/text/SpanWatcher;->onSpanAdded(Landroid/text/Spannable;Ljava/lang/Object;II)V return-void .end method .method public onSpanChanged(Landroid/text/Spannable;Ljava/lang/Object;IIII)V .locals 8 .line 429 iget-object v0, p0, Landroidx/emoji2/text/SpannableBuilder$WatcherWrapper;->mBlockCalls:Ljava/util/concurrent/atomic/AtomicInteger; invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;->get()I move-result v0 if-lez v0, :cond_0 invoke-direct {p0, p2}, Landroidx/emoji2/text/SpannableBuilder$WatcherWrapper;->isEmojiSpan(Ljava/lang/Object;)Z move-result v0 if-eqz v0, :cond_0 return-void .line 433 :cond_0 sget v0, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v1, 0x1c if-ge v0, v1, :cond_2 const/4 v0, 0x0 if-le p3, p4, :cond_1 move p3, v0 :cond_1 if-le p5, p6, :cond_2 move v4, p3 move v6, v0 goto :goto_0 :cond_2 move v4, p3 move v6, p5 .line 445 :goto_0 iget-object p3, p0, Landroidx/emoji2/text/SpannableBuilder$WatcherWrapper;->mObject:Ljava/lang/Object; move-object v1, p3 check-cast v1, Landroid/text/SpanWatcher; move-object v2, p1 move-object v3, p2 move v5, p4 move v7, p6 invoke-interface/range {v1 .. v7}, Landroid/text/SpanWatcher;->onSpanChanged(Landroid/text/Spannable;Ljava/lang/Object;IIII)V return-void .end method .method public onSpanRemoved(Landroid/text/Spannable;Ljava/lang/Object;II)V .locals 1 .line 416 iget-object v0, p0, Landroidx/emoji2/text/SpannableBuilder$WatcherWrapper;->mBlockCalls:Ljava/util/concurrent/atomic/AtomicInteger; invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;->get()I move-result v0 if-lez v0, :cond_0 invoke-direct {p0, p2}, Landroidx/emoji2/text/SpannableBuilder$WatcherWrapper;->isEmojiSpan(Ljava/lang/Object;)Z move-result v0 if-eqz v0, :cond_0 return-void .line 419 :cond_0 iget-object v0, p0, Landroidx/emoji2/text/SpannableBuilder$WatcherWrapper;->mObject:Ljava/lang/Object; check-cast v0, Landroid/text/SpanWatcher; invoke-interface {v0, p1, p2, p3, p4}, Landroid/text/SpanWatcher;->onSpanRemoved(Landroid/text/Spannable;Ljava/lang/Object;II)V return-void .end method .method public onTextChanged(Ljava/lang/CharSequence;III)V .locals 1 .line 390 iget-object v0, p0, Landroidx/emoji2/text/SpannableBuilder$WatcherWrapper;->mObject:Ljava/lang/Object; check-cast v0, Landroid/text/TextWatcher; invoke-interface {v0, p1, p2, p3, p4}, Landroid/text/TextWatcher;->onTextChanged(Ljava/lang/CharSequence;III)V return-void .end method .method final unblockCalls()V .locals 1 .line 453 iget-object v0, p0, Landroidx/emoji2/text/SpannableBuilder$WatcherWrapper;->mBlockCalls:Ljava/util/concurrent/atomic/AtomicInteger; invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;->decrementAndGet()I return-void .end method