.class final Lcom/vk/common/cache/SerializerCache$a; .super Landroid/database/sqlite/SQLiteOpenHelper; .source "SerializerCache.kt" # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Lcom/vk/common/cache/SerializerCache; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0x1a name = "a" .end annotation # direct methods .method public constructor (Landroid/content/Context;)V .locals 3 const-string v0, "ctx" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->b(Ljava/lang/Object;Ljava/lang/String;)V const-string v0, "SerializerDatabaseCache" const/4 v1, 0x0 invoke-static {}, Lru/vtosters/lite/utils/Preferences;->VKVersionBuild()I move-result v2 .line 117 invoke-direct {p0, p1, v0, v1, v2}, Landroid/database/sqlite/SQLiteOpenHelper;->(Landroid/content/Context;Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)V return-void .end method # virtual methods .method public final a()I .locals 3 .line 162 invoke-virtual {p0}, Lcom/vk/common/cache/SerializerCache$a;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase; move-result-object v0 const-string v1, "SerializerDatabaseCache" const/4 v2, 0x0 invoke-virtual {v0, v1, v2, v2}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I move-result v0 return v0 .end method .method public final a(Ljava/lang/String;)Ljava/util/List; .locals 10 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/String;", ")", "Ljava/util/List<", "TT;>;" } .end annotation const-string v0, "key" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->b(Ljava/lang/Object;Ljava/lang/String;)V const/4 v0, 0x0 .line 122 check-cast v0, Ljava/util/ArrayList; .line 123 invoke-virtual {p0}, Lcom/vk/common/cache/SerializerCache$a;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase; move-result-object v1 const-string v2, "SerializerDatabaseCache" const-string v3, "data" filled-new-array {v3}, [Ljava/lang/String; move-result-object v3 const-string v4, "key=?" const/4 v5, 0x1 new-array v5, v5, [Ljava/lang/String; const/4 v9, 0x0 aput-object p1, v5, v9 const-string v8, "_id" const/4 v6, 0x0 const/4 v7, 0x0 invoke-virtual/range {v1 .. v8}, 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 p1 if-eqz p1, :cond_3 .line 126 :try_start_0 invoke-interface {p1}, Landroid/database/Cursor;->moveToFirst()Z move-result v1 if-eqz v1, :cond_2 .line 127 new-instance v1, Ljava/util/ArrayList; invoke-interface {p1}, Landroid/database/Cursor;->getCount()I move-result v2 invoke-direct {v1, v2}, Ljava/util/ArrayList;->(I)V :try_end_0 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0 .line 129 :cond_0 :try_start_1 sget-object v0, Lcom/vk/core/serialize/Serializer;->a:Lcom/vk/core/serialize/Serializer$a; invoke-interface {p1, v9}, Landroid/database/Cursor;->getBlob(I)[B move-result-object v2 const-string v3, "it.getBlob(0)" invoke-static {v2, v3}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/String;)V const-class v3, Lcom/vk/core/serialize/Serializer$StreamParcelable; invoke-virtual {v3}, Ljava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader; move-result-object v3 const-string v4, "StreamParcelable::class.java.classLoader" invoke-static {v3, v4}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/String;)V invoke-virtual {v0, v2, v3}, Lcom/vk/core/serialize/Serializer$a;->a([BLjava/lang/ClassLoader;)Lcom/vk/core/serialize/Serializer$StreamParcelable; move-result-object v0 if-eqz v0, :cond_1 .line 130 invoke-virtual {v1, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z .line 131 :cond_1 invoke-interface {p1}, Landroid/database/Cursor;->moveToNext()Z move-result v0 :try_end_1 .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1} :catch_1 if-nez v0, :cond_0 goto :goto_0 :catch_0 move-object v1, v0 .line 134 :catch_1 sget-object v0, Lcom/vk/analytics/eventtracking/VkTracker;->b:Lcom/vk/analytics/eventtracking/VkTracker; new-instance v2, Ljava/lang/IllegalStateException; new-instance v3, Ljava/lang/StringBuilder; invoke-direct {v3}, Ljava/lang/StringBuilder;->()V const-string v4, "Incorrect cursor rowCount=" invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-interface {p1}, Landroid/database/Cursor;->getCount()I move-result v4 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; const-string v4, ", colCount=" invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-interface {p1}, Landroid/database/Cursor;->getColumnCount()I move-result v4 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; const-string v4, ", colls=" invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-interface {p1}, Landroid/database/Cursor;->getColumnNames()[Ljava/lang/String; move-result-object v4 invoke-static {v4}, Ljava/util/Arrays;->toString([Ljava/lang/Object;)Ljava/lang/String; move-result-object v4 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v3 invoke-direct {v2, v3}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V check-cast v2, Ljava/lang/Throwable; invoke-virtual {v0, v2}, Lcom/vk/analytics/eventtracking/VkTracker;->a(Ljava/lang/Throwable;)V :goto_0 move-object v0, v1 .line 136 :cond_2 invoke-interface {p1}, Landroid/database/Cursor;->close()V .line 138 :cond_3 check-cast v0, Ljava/util/List; return-object v0 .end method .method public final a(Ljava/lang/String;Ljava/util/List;)V .locals 5 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/String;", "Ljava/util/List<", "+TT;>;)V" } .end annotation const-string v0, "key" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->b(Ljava/lang/Object;Ljava/lang/String;)V .line 144 invoke-virtual {p0}, Lcom/vk/common/cache/SerializerCache$a;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase; move-result-object v0 .line 145 invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V :try_start_0 const-string v1, "SerializerDatabaseCache" const-string v2, "key=?" const/4 v3, 0x1 .line 147 new-array v3, v3, [Ljava/lang/String; const/4 v4, 0x0 aput-object p1, v3, v4 invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I if-eqz p2, :cond_0 .line 148 check-cast p2, Ljava/lang/Iterable; .line 176 invoke-interface {p2}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator; move-result-object p2 :goto_0 invoke-interface {p2}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_0 invoke-interface {p2}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Lcom/vk/core/serialize/Serializer$StreamParcelable; .line 149 new-instance v2, Landroid/content/ContentValues; invoke-direct {v2}, Landroid/content/ContentValues;->()V const-string v3, "key" .line 150 invoke-virtual {v2, v3, p1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V const-string v3, "data" .line 151 sget-object v4, Lcom/vk/core/serialize/Serializer;->a:Lcom/vk/core/serialize/Serializer$a; invoke-virtual {v4, v1}, Lcom/vk/core/serialize/Serializer$a;->b(Lcom/vk/core/serialize/Serializer$StreamParcelable;)[B move-result-object v1 invoke-virtual {v2, v3, v1}, Landroid/content/ContentValues;->put(Ljava/lang/String;[B)V const-string v1, "SerializerDatabaseCache" const/4 v3, 0x0 .line 152 invoke-virtual {v0, v1, v3, v2}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J goto :goto_0 .line 154 :cond_0 invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V :try_end_0 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 goto :goto_1 :catchall_0 move-exception p1 goto :goto_2 :catch_0 move-exception p1 .line 156 :try_start_1 sget-object p2, Lcom/vk/analytics/eventtracking/VkTracker;->b:Lcom/vk/analytics/eventtracking/VkTracker; check-cast p1, Ljava/lang/Throwable; invoke-virtual {p2, p1}, Lcom/vk/analytics/eventtracking/VkTracker;->a(Ljava/lang/Throwable;)V :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_0 .line 158 :goto_1 invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V return-void :goto_2 invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V throw p1 .end method .method public onCreate(Landroid/database/sqlite/SQLiteDatabase;)V .locals 2 const-string v0, "db" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->b(Ljava/lang/Object;Ljava/lang/String;)V .line 164 new-instance v0, Lcom/vk/common/b/Table; const-string v1, "SerializerDatabaseCache" invoke-direct {v0, v1}, Lcom/vk/common/b/Table;->(Ljava/lang/String;)V const-string v1, "_id" .line 165 invoke-virtual {v0, v1}, Lcom/vk/common/b/Table;->a(Ljava/lang/String;)Lcom/vk/common/b/Table$a; move-result-object v0 invoke-virtual {v0}, Lcom/vk/common/b/Table$a;->a()Lcom/vk/common/b/Table$a; move-result-object v0 invoke-virtual {v0}, Lcom/vk/common/b/Table$a;->b()Lcom/vk/common/b/Table$a; move-result-object v0 const-string v1, "key" .line 166 invoke-virtual {v0, v1}, Lcom/vk/common/b/Table$a;->c(Ljava/lang/String;)Lcom/vk/common/b/Table$a; move-result-object v0 const-string v1, "data" .line 167 invoke-virtual {v0, v1}, Lcom/vk/common/b/Table$a;->d(Ljava/lang/String;)Lcom/vk/common/b/Table$a; move-result-object v0 .line 168 invoke-virtual {v0}, Lcom/vk/common/b/Table$a;->d()Ljava/lang/String; move-result-object v0 .line 164 invoke-virtual {p1, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V return-void .end method .method public onUpgrade(Landroid/database/sqlite/SQLiteDatabase;II)V .locals 0 const-string p2, "db" invoke-static {p1, p2}, Lkotlin/jvm/internal/Intrinsics;->b(Ljava/lang/Object;Ljava/lang/String;)V const-string p2, "SerializerDatabaseCache" .line 171 invoke-static {p2}, Lcom/vk/common/b/Table;->b(Ljava/lang/String;)Ljava/lang/String; move-result-object p2 invoke-virtual {p1, p2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V .line 172 invoke-virtual {p0, p1}, Lcom/vk/common/cache/SerializerCache$a;->onCreate(Landroid/database/sqlite/SQLiteDatabase;)V return-void .end method