.class public abstract Lcom/facebook/b/a; .super Ljava/lang/Object; .source "AbstractDataSource.java" # interfaces .implements Lcom/facebook/b/c; # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Lcom/facebook/b/a$a; } .end annotation .annotation system Ldalvik/annotation/Signature; value = { "", "Ljava/lang/Object;", "Lcom/facebook/b/c<", "TT;>;" } .end annotation # instance fields .field private Em:Z .annotation build Ljavax/annotation/concurrent/GuardedBy; value = "this" .end annotation .end field .field private Fd:I .annotation build Ljavax/annotation/concurrent/GuardedBy; value = "this" .end annotation .end field .field private Fe:Ljava/lang/Object; .annotation system Ldalvik/annotation/Signature; value = { "TT;" } .end annotation .annotation runtime Ljavax/annotation/Nullable; .end annotation .annotation build Ljavax/annotation/concurrent/GuardedBy; value = "this" .end annotation .end field .field private Ff:Ljava/lang/Throwable; .annotation build Ljavax/annotation/concurrent/GuardedBy; value = "this" .end annotation .end field .field private final Fg:Ljava/util/concurrent/ConcurrentLinkedQueue; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/concurrent/ConcurrentLinkedQueue<", "Landroid/util/Pair<", "Lcom/facebook/b/e<", "TT;>;", "Ljava/util/concurrent/Executor;", ">;>;" } .end annotation .end field .field private mProgress:F .annotation build Ljavax/annotation/concurrent/GuardedBy; value = "this" .end annotation .end field # direct methods .method protected constructor ()V .locals 1 invoke-direct {p0}, Ljava/lang/Object;->()V const/4 v0, 0x0 iput-object v0, p0, Lcom/facebook/b/a;->Fe:Ljava/lang/Object; iput-object v0, p0, Lcom/facebook/b/a;->Ff:Ljava/lang/Throwable; const/4 v0, 0x0 iput v0, p0, Lcom/facebook/b/a;->mProgress:F const/4 v0, 0x0 iput-boolean v0, p0, Lcom/facebook/b/a;->Em:Z sget v0, Lcom/facebook/b/a$a;->Fm:I iput v0, p0, Lcom/facebook/b/a;->Fd:I new-instance v0, Ljava/util/concurrent/ConcurrentLinkedQueue; invoke-direct {v0}, Ljava/util/concurrent/ConcurrentLinkedQueue;->()V iput-object v0, p0, Lcom/facebook/b/a;->Fg:Ljava/util/concurrent/ConcurrentLinkedQueue; return-void .end method .method private a(Lcom/facebook/b/e;Ljava/util/concurrent/Executor;ZZ)V .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/facebook/b/e<", "TT;>;", "Ljava/util/concurrent/Executor;", "ZZ)V" } .end annotation new-instance v0, Lcom/facebook/b/a$1; invoke-direct {v0, p0, p3, p1, p4}, Lcom/facebook/b/a$1;->(Lcom/facebook/b/a;ZLcom/facebook/b/e;Z)V invoke-interface {p2, v0}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V return-void .end method .method private b(Ljava/lang/Object;Z)Z .locals 3 .param p1 # Ljava/lang/Object; .annotation runtime Ljavax/annotation/Nullable; .end annotation .end param .annotation system Ldalvik/annotation/Signature; value = { "(TT;Z)Z" } .end annotation const/4 v0, 0x0 :try_start_0 monitor-enter p0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_3 :try_start_1 iget-boolean v1, p0, Lcom/facebook/b/a;->Em:Z if-nez v1, :cond_4 iget v1, p0, Lcom/facebook/b/a;->Fd:I sget v2, Lcom/facebook/b/a$a;->Fm:I if-eq v1, v2, :cond_0 goto :goto_1 :cond_0 if-eqz p2, :cond_1 sget p2, Lcom/facebook/b/a$a;->Fn:I iput p2, p0, Lcom/facebook/b/a;->Fd:I const/high16 p2, 0x3f800000 # 1.0f iput p2, p0, Lcom/facebook/b/a;->mProgress:F :cond_1 iget-object p2, p0, Lcom/facebook/b/a;->Fe:Ljava/lang/Object; if-eq p2, p1, :cond_2 iget-object p2, p0, Lcom/facebook/b/a;->Fe:Ljava/lang/Object; :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_2 :try_start_2 iput-object p1, p0, Lcom/facebook/b/a;->Fe:Ljava/lang/Object; :try_end_2 .catchall {:try_start_2 .. :try_end_2} :catchall_0 move-object p1, p2 goto :goto_0 :catchall_0 move-exception p1 move-object v0, p2 goto :goto_2 :cond_2 move-object p1, v0 :goto_0 :try_start_3 monitor-exit p0 :try_end_3 .catchall {:try_start_3 .. :try_end_3} :catchall_1 if-eqz p1, :cond_3 invoke-virtual {p0, p1}, Lcom/facebook/b/a;->y(Ljava/lang/Object;)V :cond_3 const/4 p1, 0x1 return p1 :cond_4 :goto_1 :try_start_4 monitor-exit p0 :try_end_4 .catchall {:try_start_4 .. :try_end_4} :catchall_1 if-eqz p1, :cond_5 invoke-virtual {p0, p1}, Lcom/facebook/b/a;->y(Ljava/lang/Object;)V :cond_5 const/4 p1, 0x0 return p1 :catchall_1 move-exception p2 move-object v0, p1 move-object p1, p2 goto :goto_2 :catchall_2 move-exception p1 :goto_2 :try_start_5 monitor-exit p0 :try_end_5 .catchall {:try_start_5 .. :try_end_5} :catchall_2 :try_start_6 throw p1 :try_end_6 .catchall {:try_start_6 .. :try_end_6} :catchall_3 :catchall_3 move-exception p1 if-eqz v0, :cond_6 invoke-virtual {p0, v0}, Lcom/facebook/b/a;->y(Ljava/lang/Object;)V :cond_6 throw p1 .end method .method private declared-synchronized e(Ljava/lang/Throwable;)Z .locals 2 monitor-enter p0 :try_start_0 iget-boolean v0, p0, Lcom/facebook/b/a;->Em:Z if-nez v0, :cond_1 iget v0, p0, Lcom/facebook/b/a;->Fd:I sget v1, Lcom/facebook/b/a$a;->Fm:I if-eq v0, v1, :cond_0 goto :goto_0 :cond_0 sget v0, Lcom/facebook/b/a$a;->Fo:I iput v0, p0, Lcom/facebook/b/a;->Fd:I iput-object p1, p0, Lcom/facebook/b/a;->Ff:Ljava/lang/Throwable; :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 const/4 p1, 0x1 monitor-exit p0 return p1 :cond_1 :goto_0 const/4 p1, 0x0 monitor-exit p0 return p1 :catchall_0 move-exception p1 monitor-exit p0 throw p1 .end method .method private declared-synchronized fA()Z .locals 2 monitor-enter p0 :try_start_0 iget v0, p0, Lcom/facebook/b/a;->Fd:I sget v1, Lcom/facebook/b/a$a;->Fo:I :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 if-ne v0, v1, :cond_0 const/4 v0, 0x1 :goto_0 monitor-exit p0 return v0 :cond_0 const/4 v0, 0x0 goto :goto_0 :catchall_0 move-exception v0 monitor-exit p0 throw v0 return-void .end method .method private fD()V .locals 5 invoke-direct {p0}, Lcom/facebook/b/a;->fA()Z move-result v0 invoke-direct {p0}, Lcom/facebook/b/a;->fE()Z move-result v1 iget-object v2, p0, Lcom/facebook/b/a;->Fg:Ljava/util/concurrent/ConcurrentLinkedQueue; invoke-virtual {v2}, Ljava/util/concurrent/ConcurrentLinkedQueue;->iterator()Ljava/util/Iterator; move-result-object v2 :goto_0 invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z move-result v3 if-eqz v3, :cond_0 invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v3 check-cast v3, Landroid/util/Pair; iget-object v4, v3, Landroid/util/Pair;->first:Ljava/lang/Object; check-cast v4, Lcom/facebook/b/e; iget-object v3, v3, Landroid/util/Pair;->second:Ljava/lang/Object; check-cast v3, Ljava/util/concurrent/Executor; invoke-direct {p0, v4, v3, v0, v1}, Lcom/facebook/b/a;->a(Lcom/facebook/b/e;Ljava/util/concurrent/Executor;ZZ)V goto :goto_0 :cond_0 return-void .end method .method private declared-synchronized fE()Z .locals 1 monitor-enter p0 :try_start_0 invoke-virtual {p0}, Lcom/facebook/b/a;->isClosed()Z move-result v0 if-eqz v0, :cond_0 invoke-virtual {p0}, Lcom/facebook/b/a;->isFinished()Z move-result v0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 if-nez v0, :cond_0 const/4 v0, 0x1 :goto_0 monitor-exit p0 return v0 :cond_0 const/4 v0, 0x0 goto :goto_0 :catchall_0 move-exception v0 monitor-exit p0 throw v0 return-void .end method .method private declared-synchronized h(F)Z .locals 3 monitor-enter p0 :try_start_0 iget-boolean v0, p0, Lcom/facebook/b/a;->Em:Z const/4 v1, 0x0 if-nez v0, :cond_2 iget v0, p0, Lcom/facebook/b/a;->Fd:I sget v2, Lcom/facebook/b/a$a;->Fm:I if-eq v0, v2, :cond_0 goto :goto_0 :cond_0 iget v0, p0, Lcom/facebook/b/a;->mProgress:F :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 cmpg-float v0, p1, v0 if-gez v0, :cond_1 monitor-exit p0 return v1 :cond_1 :try_start_1 iput p1, p0, Lcom/facebook/b/a;->mProgress:F :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_0 const/4 p1, 0x1 monitor-exit p0 return p1 :cond_2 :goto_0 monitor-exit p0 return v1 :catchall_0 move-exception p1 monitor-exit p0 throw p1 .end method # virtual methods .method public final a(Lcom/facebook/b/e;Ljava/util/concurrent/Executor;)V .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/facebook/b/e<", "TT;>;", "Ljava/util/concurrent/Executor;", ")V" } .end annotation invoke-static {p1}, Lcom/facebook/common/d/i;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; invoke-static {p2}, Lcom/facebook/common/d/i;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; monitor-enter p0 :try_start_0 iget-boolean v0, p0, Lcom/facebook/b/a;->Em:Z if-eqz v0, :cond_0 monitor-exit p0 return-void :cond_0 iget v0, p0, Lcom/facebook/b/a;->Fd:I sget v1, Lcom/facebook/b/a$a;->Fm:I if-ne v0, v1, :cond_1 iget-object v0, p0, Lcom/facebook/b/a;->Fg:Ljava/util/concurrent/ConcurrentLinkedQueue; invoke-static {p1, p2}, Landroid/util/Pair;->create(Ljava/lang/Object;Ljava/lang/Object;)Landroid/util/Pair; move-result-object v1 invoke-virtual {v0, v1}, Ljava/util/concurrent/ConcurrentLinkedQueue;->add(Ljava/lang/Object;)Z :cond_1 invoke-virtual {p0}, Lcom/facebook/b/a;->fz()Z move-result v0 if-nez v0, :cond_3 invoke-virtual {p0}, Lcom/facebook/b/a;->isFinished()Z move-result v0 if-nez v0, :cond_3 invoke-direct {p0}, Lcom/facebook/b/a;->fE()Z move-result v0 if-eqz v0, :cond_2 goto :goto_0 :cond_2 const/4 v0, 0x0 goto :goto_1 :cond_3 :goto_0 const/4 v0, 0x1 :goto_1 monitor-exit p0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 if-eqz v0, :cond_4 invoke-direct {p0}, Lcom/facebook/b/a;->fA()Z move-result v0 invoke-direct {p0}, Lcom/facebook/b/a;->fE()Z move-result v1 invoke-direct {p0, p1, p2, v0, v1}, Lcom/facebook/b/a;->a(Lcom/facebook/b/e;Ljava/util/concurrent/Executor;ZZ)V :cond_4 return-void :catchall_0 move-exception p1 :try_start_1 monitor-exit p0 :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_0 throw p1 .end method .method protected a(Ljava/lang/Object;Z)Z .locals 0 .param p1 # Ljava/lang/Object; .annotation runtime Ljavax/annotation/Nullable; .end annotation .end param .annotation system Ldalvik/annotation/Signature; value = { "(TT;Z)Z" } .end annotation invoke-direct {p0, p1, p2}, Lcom/facebook/b/a;->b(Ljava/lang/Object;Z)Z move-result p1 if-eqz p1, :cond_0 invoke-direct {p0}, Lcom/facebook/b/a;->fD()V :cond_0 return p1 .end method .method public d(Ljava/lang/Throwable;)Z .locals 0 invoke-direct {p0, p1}, Lcom/facebook/b/a;->e(Ljava/lang/Throwable;)Z move-result p1 if-eqz p1, :cond_0 invoke-direct {p0}, Lcom/facebook/b/a;->fD()V :cond_0 return p1 .end method .method public final declared-synchronized fB()Ljava/lang/Throwable; .locals 1 .annotation runtime Ljavax/annotation/Nullable; .end annotation monitor-enter p0 :try_start_0 iget-object v0, p0, Lcom/facebook/b/a;->Ff:Ljava/lang/Throwable; :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 monitor-exit p0 return-object v0 :catchall_0 move-exception v0 monitor-exit p0 throw v0 .end method .method public fC()Z .locals 3 monitor-enter p0 :try_start_0 iget-boolean v0, p0, Lcom/facebook/b/a;->Em:Z if-eqz v0, :cond_0 const/4 v0, 0x0 monitor-exit p0 return v0 :cond_0 const/4 v0, 0x1 iput-boolean v0, p0, Lcom/facebook/b/a;->Em:Z iget-object v1, p0, Lcom/facebook/b/a;->Fe:Ljava/lang/Object; const/4 v2, 0x0 iput-object v2, p0, Lcom/facebook/b/a;->Fe:Ljava/lang/Object; monitor-exit p0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_1 if-eqz v1, :cond_1 invoke-virtual {p0, v1}, Lcom/facebook/b/a;->y(Ljava/lang/Object;)V :cond_1 invoke-virtual {p0}, Lcom/facebook/b/a;->isFinished()Z move-result v1 if-nez v1, :cond_2 invoke-direct {p0}, Lcom/facebook/b/a;->fD()V :cond_2 monitor-enter p0 :try_start_1 iget-object v1, p0, Lcom/facebook/b/a;->Fg:Ljava/util/concurrent/ConcurrentLinkedQueue; invoke-virtual {v1}, Ljava/util/concurrent/ConcurrentLinkedQueue;->clear()V monitor-exit p0 return v0 :catchall_0 move-exception v0 monitor-exit p0 :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_0 throw v0 :catchall_1 move-exception v0 :try_start_2 monitor-exit p0 :try_end_2 .catchall {:try_start_2 .. :try_end_2} :catchall_1 throw v0 .end method .method public declared-synchronized fz()Z .locals 1 monitor-enter p0 :try_start_0 iget-object v0, p0, Lcom/facebook/b/a;->Fe:Ljava/lang/Object; :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 if-eqz v0, :cond_0 const/4 v0, 0x1 :goto_0 monitor-exit p0 return v0 :cond_0 const/4 v0, 0x0 goto :goto_0 :catchall_0 move-exception v0 monitor-exit p0 throw v0 return-void .end method .method public g(F)Z .locals 4 invoke-direct {p0, p1}, Lcom/facebook/b/a;->h(F)Z move-result p1 if-eqz p1, :cond_0 iget-object v0, p0, Lcom/facebook/b/a;->Fg:Ljava/util/concurrent/ConcurrentLinkedQueue; invoke-virtual {v0}, Ljava/util/concurrent/ConcurrentLinkedQueue;->iterator()Ljava/util/Iterator; move-result-object v0 :goto_0 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_0 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Landroid/util/Pair; iget-object v2, v1, Landroid/util/Pair;->first:Ljava/lang/Object; check-cast v2, Lcom/facebook/b/e; iget-object v1, v1, Landroid/util/Pair;->second:Ljava/lang/Object; check-cast v1, Ljava/util/concurrent/Executor; new-instance v3, Lcom/facebook/b/a$2; invoke-direct {v3, p0, v2}, Lcom/facebook/b/a$2;->(Lcom/facebook/b/a;Lcom/facebook/b/e;)V invoke-interface {v1, v3}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V goto :goto_0 :cond_0 return p1 .end method .method public final declared-synchronized getProgress()F .locals 1 monitor-enter p0 :try_start_0 iget v0, p0, Lcom/facebook/b/a;->mProgress:F :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 monitor-exit p0 return v0 :catchall_0 move-exception v0 monitor-exit p0 throw v0 .end method .method public declared-synchronized getResult()Ljava/lang/Object; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "()TT;" } .end annotation .annotation runtime Ljavax/annotation/Nullable; .end annotation monitor-enter p0 :try_start_0 iget-object v0, p0, Lcom/facebook/b/a;->Fe:Ljava/lang/Object; :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 monitor-exit p0 return-object v0 :catchall_0 move-exception v0 monitor-exit p0 throw v0 .end method .method public final declared-synchronized isClosed()Z .locals 1 monitor-enter p0 :try_start_0 iget-boolean v0, p0, Lcom/facebook/b/a;->Em:Z :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 monitor-exit p0 return v0 :catchall_0 move-exception v0 monitor-exit p0 throw v0 .end method .method public final declared-synchronized isFinished()Z .locals 2 monitor-enter p0 :try_start_0 iget v0, p0, Lcom/facebook/b/a;->Fd:I sget v1, Lcom/facebook/b/a$a;->Fm:I :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 if-eq v0, v1, :cond_0 const/4 v0, 0x1 :goto_0 monitor-exit p0 return v0 :cond_0 const/4 v0, 0x0 goto :goto_0 :catchall_0 move-exception v0 monitor-exit p0 throw v0 return-void .end method .method protected y(Ljava/lang/Object;)V .locals 0 .param p1 # Ljava/lang/Object; .annotation runtime Ljavax/annotation/Nullable; .end annotation .end param .annotation system Ldalvik/annotation/Signature; value = { "(TT;)V" } .end annotation return-void .end method