AsyncStorageModule$1.smali
.class Lcom/facebook/react/modules/storage/AsyncStorageModule$1;
.super Lcom/facebook/react/bridge/GuardedAsyncTask;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/facebook/react/modules/storage/AsyncStorageModule;->multiGet(Lcom/facebook/react/bridge/ReadableArray;Lcom/facebook/react/bridge/Callback;)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/facebook/react/bridge/GuardedAsyncTask<",
"Ljava/lang/Void;",
"Ljava/lang/Void;",
">;"
}
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/facebook/react/modules/storage/AsyncStorageModule;
.field public final synthetic val$callback:Lcom/facebook/react/bridge/Callback;
.field public final synthetic val$keys:Lcom/facebook/react/bridge/ReadableArray;
# direct methods
.method public constructor <init>(Lcom/facebook/react/modules/storage/AsyncStorageModule;Lcom/facebook/react/bridge/ReactContext;Lcom/facebook/react/bridge/Callback;Lcom/facebook/react/bridge/ReadableArray;)V
.registers 5
iput-object p1, p0, Lcom/facebook/react/modules/storage/AsyncStorageModule$1;->this$0:Lcom/facebook/react/modules/storage/AsyncStorageModule;
iput-object p3, p0, Lcom/facebook/react/modules/storage/AsyncStorageModule$1;->val$callback:Lcom/facebook/react/bridge/Callback;
iput-object p4, p0, Lcom/facebook/react/modules/storage/AsyncStorageModule$1;->val$keys:Lcom/facebook/react/bridge/ReadableArray;
invoke-direct {p0, p2}, Lcom/facebook/react/bridge/GuardedAsyncTask;-><init>(Lcom/facebook/react/bridge/ReactContext;)V
return-void
.end method
# virtual methods
.method public bridge synthetic doInBackgroundGuarded([Ljava/lang/Object;)V
.registers 2
.line 1
check-cast p1, [Ljava/lang/Void;
invoke-virtual {p0, p1}, Lcom/facebook/react/modules/storage/AsyncStorageModule$1;->doInBackgroundGuarded([Ljava/lang/Void;)V
return-void
.end method
.method public varargs doInBackgroundGuarded([Ljava/lang/Void;)V
.registers 21
move-object/from16 v1, p0
.line 2
iget-object v0, v1, Lcom/facebook/react/modules/storage/AsyncStorageModule$1;->this$0:Lcom/facebook/react/modules/storage/AsyncStorageModule;
# invokes: Lcom/facebook/react/modules/storage/AsyncStorageModule;->ensureDatabase()Z
invoke-static {v0}, Lcom/facebook/react/modules/storage/AsyncStorageModule;->access$000(Lcom/facebook/react/modules/storage/AsyncStorageModule;)Z
move-result v0
const/4 v2, 0x2
const/4 v3, 0x1
const/4 v4, 0x0
const/4 v5, 0x0
if-nez v0, :cond_1e
.line 3
iget-object v0, v1, Lcom/facebook/react/modules/storage/AsyncStorageModule$1;->val$callback:Lcom/facebook/react/bridge/Callback;
new-array v2, v2, [Ljava/lang/Object;
invoke-static {v4}, Lcom/facebook/react/modules/storage/AsyncStorageErrorUtil;->getDBError(Ljava/lang/String;)Lcom/facebook/react/bridge/WritableMap;
move-result-object v6
aput-object v6, v2, v5
aput-object v4, v2, v3
invoke-interface {v0, v2}, Lcom/facebook/react/bridge/Callback;->invoke([Ljava/lang/Object;)V
return-void
:cond_1e
const-string v0, "key"
const-string/jumbo v6, "value"
.line 4
filled-new-array {v0, v6}, [Ljava/lang/String;
move-result-object v0
.line 5
new-instance v6, Ljava/util/HashSet;
invoke-direct {v6}, Ljava/util/HashSet;-><init>()V
.line 6
invoke-static {}, Lcom/facebook/react/bridge/Arguments;->createArray()Lcom/facebook/react/bridge/WritableArray;
move-result-object v15
const/4 v14, 0x0
.line 7
:goto_31
iget-object v7, v1, Lcom/facebook/react/modules/storage/AsyncStorageModule$1;->val$keys:Lcom/facebook/react/bridge/ReadableArray;
invoke-interface {v7}, Lcom/facebook/react/bridge/ReadableArray;->size()I
move-result v7
if-ge v14, v7, :cond_106
.line 8
iget-object v7, v1, Lcom/facebook/react/modules/storage/AsyncStorageModule$1;->val$keys:Lcom/facebook/react/bridge/ReadableArray;
invoke-interface {v7}, Lcom/facebook/react/bridge/ReadableArray;->size()I
move-result v7
sub-int/2addr v7, v14
const/16 v8, 0x3e7
invoke-static {v7, v8}, Ljava/lang/Math;->min(II)I
move-result v13
.line 9
iget-object v7, v1, Lcom/facebook/react/modules/storage/AsyncStorageModule$1;->this$0:Lcom/facebook/react/modules/storage/AsyncStorageModule;
.line 10
# getter for: Lcom/facebook/react/modules/storage/AsyncStorageModule;->mReactDatabaseSupplier:Lcom/facebook/react/modules/storage/ReactDatabaseSupplier;
invoke-static {v7}, Lcom/facebook/react/modules/storage/AsyncStorageModule;->access$100(Lcom/facebook/react/modules/storage/AsyncStorageModule;)Lcom/facebook/react/modules/storage/ReactDatabaseSupplier;
move-result-object v7
.line 11
invoke-virtual {v7}, Lcom/facebook/react/modules/storage/ReactDatabaseSupplier;->get()Landroid/database/sqlite/SQLiteDatabase;
move-result-object v7
.line 12
invoke-static {v13}, Lcom/facebook/react/modules/storage/AsyncLocalStorageUtil;->buildKeySelection(I)Ljava/lang/String;
move-result-object v10
iget-object v8, v1, Lcom/facebook/react/modules/storage/AsyncStorageModule$1;->val$keys:Lcom/facebook/react/bridge/ReadableArray;
.line 13
invoke-static {v8, v14, v13}, Lcom/facebook/react/modules/storage/AsyncLocalStorageUtil;->buildKeySelectionArgs(Lcom/facebook/react/bridge/ReadableArray;II)[Ljava/lang/String;
move-result-object v11
const/4 v12, 0x0
const/16 v16, 0x0
const/16 v17, 0x0
const-string v8, "catalystLocalStorage"
move-object v9, v0
move/from16 v18, v13
move-object/from16 v13, v16
move v4, v14
move-object/from16 v14, v17
.line 14
invoke-virtual/range {v7 .. v14}, Landroid/database/sqlite/SQLiteDatabase;->query(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
move-result-object v7
.line 15
invoke-virtual {v6}, Ljava/util/HashSet;->clear()V
.line 16
:try_start_70
invoke-interface {v7}, Landroid/database/Cursor;->getCount()I
move-result v8
iget-object v9, v1, Lcom/facebook/react/modules/storage/AsyncStorageModule$1;->val$keys:Lcom/facebook/react/bridge/ReadableArray;
invoke-interface {v9}, Lcom/facebook/react/bridge/ReadableArray;->size()I
move-result v9
if-eq v8, v9, :cond_8d
move v14, v4
:goto_7d
add-int v8, v4, v18
if-ge v14, v8, :cond_8d
.line 17
iget-object v8, v1, Lcom/facebook/react/modules/storage/AsyncStorageModule$1;->val$keys:Lcom/facebook/react/bridge/ReadableArray;
invoke-interface {v8, v14}, Lcom/facebook/react/bridge/ReadableArray;->getString(I)Ljava/lang/String;
move-result-object v8
invoke-virtual {v6, v8}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
add-int/lit8 v14, v14, 0x1
goto :goto_7d
.line 18
:cond_8d
invoke-interface {v7}, Landroid/database/Cursor;->moveToFirst()Z
move-result v8
if-eqz v8, :cond_b5
.line 19
:cond_93
invoke-static {}, Lcom/facebook/react/bridge/Arguments;->createArray()Lcom/facebook/react/bridge/WritableArray;
move-result-object v8
.line 20
invoke-interface {v7, v5}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v9
invoke-interface {v8, v9}, Lcom/facebook/react/bridge/WritableArray;->pushString(Ljava/lang/String;)V
.line 21
invoke-interface {v7, v3}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v9
invoke-interface {v8, v9}, Lcom/facebook/react/bridge/WritableArray;->pushString(Ljava/lang/String;)V
.line 22
invoke-interface {v15, v8}, Lcom/facebook/react/bridge/WritableArray;->pushArray(Lcom/facebook/react/bridge/ReadableArray;)V
.line 23
invoke-interface {v7, v5}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v8
invoke-virtual {v6, v8}, Ljava/util/HashSet;->remove(Ljava/lang/Object;)Z
.line 24
invoke-interface {v7}, Landroid/database/Cursor;->moveToNext()Z
move-result v8
:try_end_b3
.catch Ljava/lang/Exception; {:try_start_70 .. :try_end_b3} :catch_e0
.catchall {:try_start_70 .. :try_end_b3} :catchall_de
if-nez v8, :cond_93
.line 25
:cond_b5
invoke-interface {v7}, Landroid/database/Cursor;->close()V
.line 26
invoke-virtual {v6}, Ljava/util/HashSet;->iterator()Ljava/util/Iterator;
move-result-object v7
:goto_bc
invoke-interface {v7}, Ljava/util/Iterator;->hasNext()Z
move-result v8
if-eqz v8, :cond_d6
invoke-interface {v7}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v8
check-cast v8, Ljava/lang/String;
.line 27
invoke-static {}, Lcom/facebook/react/bridge/Arguments;->createArray()Lcom/facebook/react/bridge/WritableArray;
move-result-object v9
.line 28
invoke-interface {v9, v8}, Lcom/facebook/react/bridge/WritableArray;->pushString(Ljava/lang/String;)V
.line 29
invoke-interface {v9}, Lcom/facebook/react/bridge/WritableArray;->pushNull()V
.line 30
invoke-interface {v15, v9}, Lcom/facebook/react/bridge/WritableArray;->pushArray(Lcom/facebook/react/bridge/ReadableArray;)V
goto :goto_bc
.line 31
:cond_d6
invoke-virtual {v6}, Ljava/util/HashSet;->clear()V
add-int/lit16 v14, v4, 0x3e7
const/4 v4, 0x0
goto/16 :goto_31
:catchall_de
move-exception v0
goto :goto_102
:catch_e0
move-exception v0
:try_start_e1
const-string v4, "ReactNative"
.line 32
invoke-virtual {v0}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;
move-result-object v6
invoke-static {v4, v6, v0}, Lcom/facebook/common/logging/FLog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
.line 33
iget-object v4, v1, Lcom/facebook/react/modules/storage/AsyncStorageModule$1;->val$callback:Lcom/facebook/react/bridge/Callback;
new-array v2, v2, [Ljava/lang/Object;
invoke-virtual {v0}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;
move-result-object v0
const/4 v6, 0x0
invoke-static {v6, v0}, Lcom/facebook/react/modules/storage/AsyncStorageErrorUtil;->getError(Ljava/lang/String;Ljava/lang/String;)Lcom/facebook/react/bridge/WritableMap;
move-result-object v0
aput-object v0, v2, v5
aput-object v6, v2, v3
invoke-interface {v4, v2}, Lcom/facebook/react/bridge/Callback;->invoke([Ljava/lang/Object;)V
:try_end_fe
.catchall {:try_start_e1 .. :try_end_fe} :catchall_de
.line 34
invoke-interface {v7}, Landroid/database/Cursor;->close()V
return-void
:goto_102
invoke-interface {v7}, Landroid/database/Cursor;->close()V
.line 35
throw v0
.line 36
:cond_106
iget-object v0, v1, Lcom/facebook/react/modules/storage/AsyncStorageModule$1;->val$callback:Lcom/facebook/react/bridge/Callback;
new-array v2, v2, [Ljava/lang/Object;
const/4 v4, 0x0
aput-object v4, v2, v5
aput-object v15, v2, v3
invoke-interface {v0, v2}, Lcom/facebook/react/bridge/Callback;->invoke([Ljava/lang/Object;)V
return-void
.end method