ReactRecyclerView.smali
.class public Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;
.super Landroidx/recyclerview/widget/RecyclerView;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView$b;,
Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView$c;,
Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView$d;
}
.end annotation
# static fields
.field public static final s:Ljava/util/concurrent/ExecutorService;
# instance fields
.field public a:Landroidx/work/impl/a;
.field public b:Lcom/garena/rnrecyclerview/library/util/f;
.field public c:Lcom/garena/rnrecyclerview/library/datasource/a;
.field public d:Lcom/facebook/react/uimanager/events/EventDispatcher;
.field public e:Lcom/garena/rnrecyclerview/library/ReactRecyclerViewModule;
.field public f:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Landroid/view/View;",
">;"
}
.end annotation
.end field
.field public g:Lcom/garena/rnrecyclerview/library/recycler/a;
.field public h:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Lcom/garena/rnrecyclerview/library/recycler/c;",
">;"
}
.end annotation
.end field
.field public i:Ljava/lang/String;
.field public final j:Lcom/facebook/react/views/scroll/OnScrollDispatchHelper;
.field public k:Lcom/garena/rnrecyclerview/library/recycler/ReactLinearLayoutManager;
.field public l:Z
.field public m:Lcom/garena/rnrecyclerview/library/util/a;
.field public n:Z
.field public o:Z
.field public p:Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView$c;
.field public q:Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView$b;
.field public r:Z
# direct methods
.method public static constructor <clinit>()V
.registers 1
invoke-static {}, Ljava/util/concurrent/Executors;->newSingleThreadExecutor()Ljava/util/concurrent/ExecutorService;
move-result-object v0
sput-object v0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->s:Ljava/util/concurrent/ExecutorService;
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.registers 5
.line 1
invoke-direct {p0, p1, p2}, Landroidx/recyclerview/widget/RecyclerView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
const/4 p2, 0x0
.line 2
iput-object p2, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->i:Ljava/lang/String;
.line 3
new-instance v0, Lcom/facebook/react/views/scroll/OnScrollDispatchHelper;
invoke-direct {v0}, Lcom/facebook/react/views/scroll/OnScrollDispatchHelper;-><init>()V
iput-object v0, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->j:Lcom/facebook/react/views/scroll/OnScrollDispatchHelper;
const/4 v0, 0x0
.line 4
iput-boolean v0, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->l:Z
.line 5
iput-boolean v0, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->n:Z
.line 6
iput-boolean v0, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->o:Z
.line 7
iput-object p2, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->p:Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView$c;
.line 8
iput-object p2, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->q:Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView$b;
.line 9
iput-boolean v0, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->r:Z
.line 10
invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v0
check-cast v0, Lcom/facebook/react/bridge/ReactContext;
const-class v1, Lcom/facebook/react/uimanager/UIManagerModule;
.line 11
invoke-virtual {v0, v1}, Lcom/facebook/react/bridge/ReactContext;->getNativeModule(Ljava/lang/Class;)Lcom/facebook/react/bridge/NativeModule;
move-result-object v0
check-cast v0, Lcom/facebook/react/uimanager/UIManagerModule;
.line 12
invoke-virtual {v0}, Lcom/facebook/react/uimanager/UIManagerModule;->getEventDispatcher()Lcom/facebook/react/uimanager/events/EventDispatcher;
move-result-object v0
iput-object v0, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->d:Lcom/facebook/react/uimanager/events/EventDispatcher;
.line 13
invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v0
check-cast v0, Lcom/facebook/react/bridge/ReactContext;
const-class v1, Lcom/garena/rnrecyclerview/library/ReactRecyclerViewModule;
.line 14
invoke-virtual {v0, v1}, Lcom/facebook/react/bridge/ReactContext;->getNativeModule(Ljava/lang/Class;)Lcom/facebook/react/bridge/NativeModule;
move-result-object v0
check-cast v0, Lcom/garena/rnrecyclerview/library/ReactRecyclerViewModule;
iput-object v0, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->e:Lcom/garena/rnrecyclerview/library/ReactRecyclerViewModule;
.line 15
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->h:Ljava/util/List;
.line 16
iput-object p2, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->i:Ljava/lang/String;
.line 17
new-instance v0, Landroidx/work/impl/a;
const/4 v1, 0x1
invoke-direct {v0, v1}, Landroidx/work/impl/a;-><init>(I)V
iput-object v0, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->a:Landroidx/work/impl/a;
.line 18
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->f:Ljava/util/ArrayList;
.line 19
new-instance v0, Lcom/garena/rnrecyclerview/library/util/f;
invoke-direct {v0}, Lcom/garena/rnrecyclerview/library/util/f;-><init>()V
iput-object v0, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->b:Lcom/garena/rnrecyclerview/library/util/f;
.line 20
new-instance v0, Lcom/garena/rnrecyclerview/library/recycler/ReactLinearLayoutManager;
invoke-direct {v0, p1, p0}, Lcom/garena/rnrecyclerview/library/recycler/ReactLinearLayoutManager;-><init>(Landroid/content/Context;Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;)V
iput-object v0, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->k:Lcom/garena/rnrecyclerview/library/recycler/ReactLinearLayoutManager;
.line 21
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/RecyclerView;->setLayoutManager(Landroidx/recyclerview/widget/RecyclerView$LayoutManager;)V
.line 22
new-instance p1, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView$d;
invoke-direct {p1, p0}, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView$d;-><init>(Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;)V
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->addOnScrollListener(Landroidx/recyclerview/widget/RecyclerView$s;)V
.line 23
new-instance p1, Lcom/garena/rnrecyclerview/library/datasource/a;
iget-object v0, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->b:Lcom/garena/rnrecyclerview/library/util/f;
invoke-direct {p1, v0}, Lcom/garena/rnrecyclerview/library/datasource/a;-><init>(Lcom/garena/rnrecyclerview/library/util/f;)V
iput-object p1, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->c:Lcom/garena/rnrecyclerview/library/datasource/a;
.line 24
new-instance p1, Lcom/garena/rnrecyclerview/library/recycler/a;
iget-object v1, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->a:Landroidx/work/impl/a;
invoke-direct {p1, v1, v0}, Lcom/garena/rnrecyclerview/library/recycler/a;-><init>(Landroidx/work/impl/a;Lcom/garena/rnrecyclerview/library/util/f;)V
iput-object p1, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->g:Lcom/garena/rnrecyclerview/library/recycler/a;
.line 25
invoke-virtual {p0, p2}, Landroidx/recyclerview/widget/RecyclerView;->setItemAnimator(Landroidx/recyclerview/widget/RecyclerView$m;)V
.line 26
iget-object p1, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->g:Lcom/garena/rnrecyclerview/library/recycler/a;
new-instance p2, Lcom/garena/rnrecyclerview/library/recycler/d;
invoke-direct {p2, p0}, Lcom/garena/rnrecyclerview/library/recycler/d;-><init>(Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;)V
invoke-virtual {p1, p2}, Landroidx/recyclerview/widget/RecyclerView$h;->registerAdapterDataObserver(Landroidx/recyclerview/widget/RecyclerView$j;)V
.line 27
iget-object p1, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->g:Lcom/garena/rnrecyclerview/library/recycler/a;
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->setAdapter(Landroidx/recyclerview/widget/RecyclerView$h;)V
return-void
.end method
# virtual methods
.method public final f(Landroid/view/View;)V
.registers 6
.line 1
instance-of v0, p1, Lcom/garena/rnrecyclerview/library/view/a;
if-eqz v0, :cond_33
.line 2
move-object v0, p1
check-cast v0, Lcom/garena/rnrecyclerview/library/view/a;
.line 3
iget-object v1, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->a:Landroidx/work/impl/a;
invoke-virtual {v0}, Lcom/garena/rnrecyclerview/library/view/a;->getViewType()Ljava/lang/String;
move-result-object v0
.line 4
iget-object v2, v1, Landroidx/work/impl/a;->b:Ljava/lang/Object;
check-cast v2, Ljava/util/Map;
invoke-interface {v2, v0}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result v2
if-nez v2, :cond_23
.line 5
iget-object v2, v1, Landroidx/work/impl/a;->b:Ljava/lang/Object;
check-cast v2, Ljava/util/Map;
new-instance v3, Ljava/util/ArrayList;
invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V
invoke-interface {v2, v0, v3}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 6
:cond_23
iget-object v1, v1, Landroidx/work/impl/a;->b:Ljava/lang/Object;
check-cast v1, Ljava/util/Map;
invoke-interface {v1, v0}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
const/4 p1, 0x0
.line 7
iput-boolean p1, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->n:Z
:cond_33
return-void
.end method
.method public getBatchExecutor()Lcom/garena/rnrecyclerview/library/util/a;
.registers 2
.line 1
iget-object v0, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->m:Lcom/garena/rnrecyclerview/library/util/a;
if-nez v0, :cond_b
.line 2
new-instance v0, Lcom/garena/rnrecyclerview/library/util/a;
invoke-direct {v0, p0}, Lcom/garena/rnrecyclerview/library/util/a;-><init>(Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;)V
iput-object v0, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->m:Lcom/garena/rnrecyclerview/library/util/a;
.line 3
:cond_b
iget-object v0, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->m:Lcom/garena/rnrecyclerview/library/util/a;
return-object v0
.end method
.method public getDataSourceMapper()Lcom/garena/rnrecyclerview/library/datasource/a;
.registers 2
iget-object v0, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->c:Lcom/garena/rnrecyclerview/library/datasource/a;
return-object v0
.end method
.method public getParentTopCallback()Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView$c;
.registers 2
iget-object v0, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->p:Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView$c;
return-object v0
.end method
.method public getViewList()Ljava/util/List;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List<",
"Landroid/view/View;",
">;"
}
.end annotation
iget-object v0, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->f:Ljava/util/ArrayList;
return-object v0
.end method
.method public final h(IDZ)V
.registers 5
.line 1
invoke-static {p2, p3}, Lcom/facebook/react/uimanager/PixelUtil;->toPixelFromDIP(D)F
move-result p2
float-to-int p2, p2
mul-int/lit8 p2, p2, -0x1
if-eqz p4, :cond_f
.line 2
iget-object p3, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->k:Lcom/garena/rnrecyclerview/library/recycler/ReactLinearLayoutManager;
invoke-virtual {p3, p1, p2}, Landroidx/recyclerview/widget/LinearLayoutManager;->scrollToPositionWithOffset(II)V
goto :goto_14
.line 3
:cond_f
iget-object p3, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->k:Lcom/garena/rnrecyclerview/library/recycler/ReactLinearLayoutManager;
invoke-virtual {p3, p1, p2}, Landroidx/recyclerview/widget/LinearLayoutManager;->scrollToPositionWithOffset(II)V
.line 4
:goto_14
invoke-virtual {p0}, Landroid/view/View;->forceLayout()V
.line 5
iget-object p3, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->q:Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView$b;
if-eqz p3, :cond_2a
iget-boolean p3, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->o:Z
if-eqz p3, :cond_2a
if-gtz p2, :cond_22
goto :goto_2a
.line 6
:cond_22
new-instance p3, Lcom/garena/rnrecyclerview/library/recycler/e;
invoke-direct {p3, p0, p1, p2}, Lcom/garena/rnrecyclerview/library/recycler/e;-><init>(Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;II)V
invoke-virtual {p0, p3}, Landroid/view/View;->post(Ljava/lang/Runnable;)Z
:cond_2a
:goto_2a
return-void
.end method
.method public final onInterceptTouchEvent(Landroid/view/MotionEvent;)Z
.registers 3
.line 1
invoke-super {p0, p1}, Landroidx/recyclerview/widget/RecyclerView;->onInterceptTouchEvent(Landroid/view/MotionEvent;)Z
move-result v0
if-eqz v0, :cond_b
.line 2
invoke-static {p0, p1}, Lcom/facebook/react/uimanager/events/NativeGestureUtil;->notifyNativeGestureStarted(Landroid/view/View;Landroid/view/MotionEvent;)V
const/4 p1, 0x1
return p1
:cond_b
const/4 p1, 0x0
return p1
.end method
.method public final onMeasure(II)V
.registers 4
const/high16 v0, -0x80000000
.line 1
invoke-static {p1, v0}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result p1
invoke-static {p1}, Landroid/view/View$MeasureSpec;->getSize(I)I
move-result p1
.line 2
invoke-static {p2, v0}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result p2
invoke-static {p2}, Landroid/view/View$MeasureSpec;->getSize(I)I
move-result p2
.line 3
invoke-virtual {p0, p1, p2}, Landroid/view/View;->setMeasuredDimension(II)V
return-void
.end method
.method public final requestLayout()V
.registers 2
.annotation build Landroid/annotation/SuppressLint;
value = {
"MissingSuperCall",
"WrongCall"
}
.end annotation
.line 1
iget-boolean v0, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->r:Z
if-nez v0, :cond_f
const/4 v0, 0x1
.line 2
iput-boolean v0, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->r:Z
.line 3
new-instance v0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView$a;
invoke-direct {v0, p0}, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView$a;-><init>(Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;)V
invoke-virtual {p0, v0}, Landroid/view/View;->post(Ljava/lang/Runnable;)Z
:cond_f
return-void
.end method
.method public setDataSource(Ljava/util/List;)V
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Lcom/garena/rnrecyclerview/library/recycler/c;",
">;)V"
}
.end annotation
.line 1
invoke-interface {p1}, Ljava/util/List;->size()I
move-result v0
const/4 v1, 0x0
if-lez v0, :cond_10
invoke-interface {p1, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/garena/rnrecyclerview/library/recycler/c;
iget-object v0, v0, Lcom/garena/rnrecyclerview/library/recycler/c;->g:Ljava/lang/String;
goto :goto_11
:cond_10
const/4 v0, 0x0
:goto_11
iput-object v0, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->i:Ljava/lang/String;
.line 2
new-instance v0, Lcom/garena/rnrecyclerview/library/recycler/b;
iget-object v2, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->g:Lcom/garena/rnrecyclerview/library/recycler/a;
iget-object v3, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->h:Ljava/util/List;
invoke-direct {v0, p0, v2, v3, p1}, Lcom/garena/rnrecyclerview/library/recycler/b;-><init>(Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;Lcom/garena/rnrecyclerview/library/recycler/a;Ljava/util/List;Ljava/util/List;)V
sget-object v2, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->s:Ljava/util/concurrent/ExecutorService;
new-array v1, v1, [Ljava/lang/Void;
invoke-virtual {v0, v2, v1}, Landroid/os/AsyncTask;->executeOnExecutor(Ljava/util/concurrent/Executor;[Ljava/lang/Object;)Landroid/os/AsyncTask;
.line 3
iput-object p1, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->h:Ljava/util/List;
return-void
.end method
.method public setEnableVisibilityEvents(Z)V
.registers 2
iput-boolean p1, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->l:Z
return-void
.end method
.method public setId(I)V
.registers 4
.line 1
invoke-super {p0, p1}, Landroid/view/View;->setId(I)V
.line 2
iget-object p1, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->e:Lcom/garena/rnrecyclerview/library/ReactRecyclerViewModule;
invoke-virtual {p0}, Landroid/view/View;->getId()I
move-result v0
iget-object v1, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->k:Lcom/garena/rnrecyclerview/library/recycler/ReactLinearLayoutManager;
invoke-virtual {p1, v0, v1}, Lcom/garena/rnrecyclerview/library/ReactRecyclerViewModule;->registerLayoutManager(ILandroidx/recyclerview/widget/LinearLayoutManager;)V
return-void
.end method
.method public setIsInnerRecyclerView(Z)V
.registers 2
iput-boolean p1, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->o:Z
return-void
.end method
.method public setOnScrollToTopListener(Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView$b;)V
.registers 2
iput-object p1, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->q:Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView$b;
return-void
.end method
.method public setParentTopCallback(Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView$c;)V
.registers 2
iput-object p1, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->p:Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView$c;
return-void
.end method
.method public setScrollEnabled(Z)V
.registers 3
iget-object v0, p0, Lcom/garena/rnrecyclerview/library/recycler/ReactRecyclerView;->k:Lcom/garena/rnrecyclerview/library/recycler/ReactLinearLayoutManager;
invoke-virtual {v0, p1}, Lcom/garena/rnrecyclerview/library/recycler/ReactLinearLayoutManager;->a(Z)V
return-void
.end method