.class Lcom/moji/httpdns/cache/DNSCacheDatabaseHelper; .super Landroid/database/sqlite/SQLiteOpenHelper; .source "DNSCacheDatabaseHelper.java" # interfaces .implements Lcom/moji/httpdns/cache/DBConstants; # direct methods .method constructor (Landroid/content/Context;)V .locals 3 const-string v0, "mj_http_dns.db" const/4 v1, 0x0 const/4 v2, 0x1 .line 25 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 .method private a(Landroid/database/sqlite/SQLiteDatabase;Lcom/moji/httpdns/model/IpModel;)J .locals 3 .line 230 new-instance v0, Landroid/content/ContentValues; invoke-direct {v0}, Landroid/content/ContentValues;->()V const-string v1, "domain_id" .line 231 iget-object v2, p2, Lcom/moji/httpdns/model/IpModel;->domain_id:Ljava/lang/String; invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V const-string v1, "ip" .line 232 iget-object v2, p2, Lcom/moji/httpdns/model/IpModel;->ip:Ljava/lang/String; invoke-virtual {v0, v1, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V const-string v1, "priority" .line 233 iget p2, p2, Lcom/moji/httpdns/model/IpModel;->priority:I invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p2 invoke-virtual {v0, v1, p2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V const-string p2, "ip" const/4 v1, 0x0 const/4 v2, 0x5 .line 234 invoke-virtual {p1, p2, v1, v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->insertWithOnConflict(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;I)J move-result-wide p1 return-wide p1 .end method .method private a(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;Ljava/lang/String;)Lcom/moji/httpdns/model/IpModel; .locals 5 .line 184 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V const-string v1, "SELECT * FROM ip WHERE domain_id =? AND ip =? ;" const/4 v2, 0x2 const/4 v3, 0x0 .line 188 :try_start_0 new-array v2, v2, [Ljava/lang/String; const/4 v4, 0x0 aput-object p3, v2, v4 const/4 p3, 0x1 aput-object p2, v2, p3 invoke-virtual {p1, v1, v2}, Landroid/database/sqlite/SQLiteDatabase;->rawQuery(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor; move-result-object p1 :try_end_0 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_1 .catchall {:try_start_0 .. :try_end_0} :catchall_0 if-eqz p1, :cond_1 .line 189 :try_start_1 invoke-interface {p1}, Landroid/database/Cursor;->getCount()I move-result p2 if-lez p2, :cond_1 .line 190 invoke-interface {p1}, Landroid/database/Cursor;->moveToFirst()Z .line 192 :cond_0 new-instance p2, Lcom/moji/httpdns/model/IpModel; invoke-direct {p2}, Lcom/moji/httpdns/model/IpModel;->()V const-string v1, "id" .line 193 invoke-interface {p1, v1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I move-result v1 invoke-interface {p1, v1}, Landroid/database/Cursor;->getInt(I)I move-result v1 int-to-long v1, v1 iput-wide v1, p2, Lcom/moji/httpdns/model/IpModel;->id:J const-string v1, "domain_id" .line 194 invoke-interface {p1, v1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I move-result v1 invoke-interface {p1, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; move-result-object v1 iput-object v1, p2, Lcom/moji/httpdns/model/IpModel;->domain_id:Ljava/lang/String; const-string v1, "ip" .line 195 invoke-interface {p1, v1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I move-result v1 invoke-interface {p1, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; move-result-object v1 iput-object v1, p2, Lcom/moji/httpdns/model/IpModel;->ip:Ljava/lang/String; const-string v1, "priority" .line 196 invoke-interface {p1, v1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I move-result v1 invoke-interface {p1, v1}, Landroid/database/Cursor;->getInt(I)I move-result v1 iput v1, p2, Lcom/moji/httpdns/model/IpModel;->priority:I .line 197 invoke-virtual {v0, p2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z .line 198 invoke-interface {p1}, Landroid/database/Cursor;->moveToNext()Z move-result p2 if-nez p2, :cond_0 goto :goto_0 :catch_0 move-exception p2 goto :goto_2 .line 200 :cond_1 :goto_0 invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result p2 if-lez p2, :cond_2 invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result p2 sub-int/2addr p2, p3 invoke-virtual {v0, p2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object p2 check-cast p2, Lcom/moji/httpdns/model/IpModel; :try_end_1 .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1} :catch_0 .catchall {:try_start_1 .. :try_end_1} :catchall_1 goto :goto_1 :cond_2 move-object p2, v3 :goto_1 if-eqz p1, :cond_3 .line 205 invoke-interface {p1}, Landroid/database/Cursor;->close()V :cond_3 return-object p2 :catchall_0 move-exception p2 move-object p1, v3 goto :goto_3 :catch_1 move-exception p2 move-object p1, v3 .line 202 :goto_2 :try_start_2 invoke-virtual {p2}, Ljava/lang/Exception;->printStackTrace()V :try_end_2 .catchall {:try_start_2 .. :try_end_2} :catchall_1 if-eqz p1, :cond_4 .line 205 invoke-interface {p1}, Landroid/database/Cursor;->close()V :cond_4 return-object v3 :catchall_1 move-exception p2 :goto_3 if-eqz p1, :cond_5 invoke-interface {p1}, Landroid/database/Cursor;->close()V :cond_5 throw p2 .end method .method private a(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Ljava/util/List; .locals 5 .annotation system Ldalvik/annotation/Signature; value = { "(", "Landroid/database/sqlite/SQLiteDatabase;", "Ljava/lang/String;", ")", "Ljava/util/List<", "Lcom/moji/httpdns/model/IpModel;", ">;" } .end annotation .line 143 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V .line 144 new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V const-string v2, "SELECT * FROM " .line 145 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v2, "ip" .line 146 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v2, " WHERE " .line 147 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v2, "domain_id" .line 148 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v2, " =? ;" .line 149 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const/4 v2, 0x0 .line 153 :try_start_0 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 const/4 v3, 0x1 new-array v3, v3, [Ljava/lang/String; const/4 v4, 0x0 invoke-static {p2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String; move-result-object p2 aput-object p2, v3, v4 invoke-virtual {p1, v1, v3}, Landroid/database/sqlite/SQLiteDatabase;->rawQuery(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor; move-result-object p1 :try_end_0 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_1 .catchall {:try_start_0 .. :try_end_0} :catchall_1 if-eqz p1, :cond_1 .line 154 :try_start_1 invoke-interface {p1}, Landroid/database/Cursor;->getCount()I move-result p2 if-lez p2, :cond_1 .line 155 invoke-interface {p1}, Landroid/database/Cursor;->moveToFirst()Z .line 157 :cond_0 new-instance p2, Lcom/moji/httpdns/model/IpModel; invoke-direct {p2}, Lcom/moji/httpdns/model/IpModel;->()V const-string v1, "id" .line 158 invoke-interface {p1, v1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I move-result v1 invoke-interface {p1, v1}, Landroid/database/Cursor;->getInt(I)I move-result v1 int-to-long v1, v1 iput-wide v1, p2, Lcom/moji/httpdns/model/IpModel;->id:J const-string v1, "domain_id" .line 159 invoke-interface {p1, v1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I move-result v1 invoke-interface {p1, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; move-result-object v1 iput-object v1, p2, Lcom/moji/httpdns/model/IpModel;->domain_id:Ljava/lang/String; const-string v1, "ip" .line 160 invoke-interface {p1, v1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I move-result v1 invoke-interface {p1, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; move-result-object v1 iput-object v1, p2, Lcom/moji/httpdns/model/IpModel;->ip:Ljava/lang/String; const-string v1, "priority" .line 161 invoke-interface {p1, v1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I move-result v1 invoke-interface {p1, v1}, Landroid/database/Cursor;->getInt(I)I move-result v1 iput v1, p2, Lcom/moji/httpdns/model/IpModel;->priority:I .line 162 invoke-interface {v0, p2}, Ljava/util/List;->add(Ljava/lang/Object;)Z .line 163 invoke-interface {p1}, Landroid/database/Cursor;->moveToNext()Z move-result p2 :try_end_1 .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1} :catch_0 .catchall {:try_start_1 .. :try_end_1} :catchall_0 if-nez p2, :cond_0 goto :goto_0 :catchall_0 move-exception p2 goto :goto_3 :catch_0 move-exception p2 move-object v2, p1 goto :goto_1 :cond_1 :goto_0 if-eqz p1, :cond_2 .line 169 invoke-interface {p1}, Landroid/database/Cursor;->close()V goto :goto_2 :catchall_1 move-exception p2 move-object p1, v2 goto :goto_3 :catch_1 move-exception p2 .line 166 :goto_1 :try_start_2 invoke-virtual {p2}, Ljava/lang/Exception;->printStackTrace()V :try_end_2 .catchall {:try_start_2 .. :try_end_2} :catchall_1 if-eqz v2, :cond_2 .line 169 invoke-interface {v2}, Landroid/database/Cursor;->close()V :cond_2 :goto_2 return-object v0 :goto_3 if-eqz p1, :cond_3 invoke-interface {p1}, Landroid/database/Cursor;->close()V :cond_3 throw p2 .end method .method private b(Landroid/database/sqlite/SQLiteDatabase;Lcom/moji/httpdns/model/IpModel;)V .locals 5 .line 245 new-instance v0, Landroid/content/ContentValues; invoke-direct {v0}, Landroid/content/ContentValues;->()V const-string v1, "id = ? " const-string v2, "domain_id" .line 248 iget-object v3, p2, Lcom/moji/httpdns/model/IpModel;->domain_id:Ljava/lang/String; invoke-virtual {v0, v2, v3}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V const-string v2, "ip" .line 249 iget-object v3, p2, Lcom/moji/httpdns/model/IpModel;->ip:Ljava/lang/String; invoke-virtual {v0, v2, v3}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V const-string v2, "priority" .line 250 iget v3, p2, Lcom/moji/httpdns/model/IpModel;->priority:I invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v3 invoke-virtual {v0, v2, v3}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V const/4 v2, 0x1 .line 251 new-array v2, v2, [Ljava/lang/String; iget-wide v3, p2, Lcom/moji/httpdns/model/IpModel;->id:J invoke-static {v3, v4}, Ljava/lang/String;->valueOf(J)Ljava/lang/String; move-result-object p2 const/4 v3, 0x0 aput-object p2, v2, v3 const-string p2, "ip" .line 252 invoke-virtual {p1, p2, v0, v1, v2}, Landroid/database/sqlite/SQLiteDatabase;->update(Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I return-void .end method .method private b(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)V .locals 5 const-string v0, "domain" const-string v1, "domain_id = ?" const/4 v2, 0x1 .line 217 new-array v3, v2, [Ljava/lang/String; const/4 v4, 0x0 aput-object p2, v3, v4 invoke-virtual {p1, v0, v1, v3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I const-string v0, "ip" const-string v1, "domain_id = ?" .line 218 new-array v2, v2, [Ljava/lang/String; aput-object p2, v2, v4 invoke-virtual {p1, v0, v1, v2}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I return-void .end method # virtual methods .method a(Ljava/lang/String;)Lcom/moji/httpdns/model/DomainModel; .locals 6 .line 101 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V const-string v1, "SELECT * FROM " .line 102 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v1, "domain" .line 103 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v1, " WHERE " .line 104 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v1, "domain_id" .line 105 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v1, " =? ;" .line 106 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 107 invoke-virtual {p0}, Lcom/moji/httpdns/cache/DNSCacheDatabaseHelper;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase; move-result-object v1 .line 108 invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V const/4 v2, 0x0 .line 112 :try_start_0 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 const/4 v3, 0x1 new-array v3, v3, [Ljava/lang/String; const/4 v4, 0x0 aput-object p1, v3, v4 invoke-virtual {v1, v0, v3}, Landroid/database/sqlite/SQLiteDatabase;->rawQuery(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor; move-result-object v0 :try_end_0 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_1 .catchall {:try_start_0 .. :try_end_0} :catchall_0 if-eqz v0, :cond_1 .line 113 :try_start_1 invoke-interface {v0}, Landroid/database/Cursor;->getCount()I move-result v3 if-lez v3, :cond_1 .line 114 invoke-interface {v0}, Landroid/database/Cursor;->moveToFirst()Z .line 115 new-instance v3, Lcom/moji/httpdns/model/DomainModel; invoke-direct {v3}, Lcom/moji/httpdns/model/DomainModel;->()V const-string v4, "domain_id" .line 116 invoke-interface {v0, v4}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I move-result v4 invoke-interface {v0, v4}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; move-result-object v4 iput-object v4, v3, Lcom/moji/httpdns/model/DomainModel;->id:Ljava/lang/String; const-string v4, "domain" .line 117 invoke-interface {v0, v4}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I move-result v4 invoke-interface {v0, v4}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; move-result-object v4 iput-object v4, v3, Lcom/moji/httpdns/model/DomainModel;->domain:Ljava/lang/String; const-string v4, "sp" .line 118 invoke-interface {v0, v4}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I move-result v4 invoke-interface {v0, v4}, Landroid/database/Cursor;->getString(I)Ljava/lang/String; move-result-object v4 iput-object v4, v3, Lcom/moji/httpdns/model/DomainModel;->sp:Ljava/lang/String; const-string v4, "ttl" .line 119 invoke-interface {v0, v4}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I move-result v4 invoke-interface {v0, v4}, Landroid/database/Cursor;->getLong(I)J move-result-wide v4 iput-wide v4, v3, Lcom/moji/httpdns/model/DomainModel;->ttl:J const-string v4, "update_time" .line 120 invoke-interface {v0, v4}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I move-result v4 invoke-interface {v0, v4}, Landroid/database/Cursor;->getLong(I)J move-result-wide v4 iput-wide v4, v3, Lcom/moji/httpdns/model/DomainModel;->updateTime:J const-string v4, "last_fail_time" .line 121 invoke-interface {v0, v4}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I move-result v4 invoke-interface {v0, v4}, Landroid/database/Cursor;->getLong(I)J move-result-wide v4 iput-wide v4, v3, Lcom/moji/httpdns/model/DomainModel;->lastFailTime:J .line 122 invoke-direct {p0, v1, p1}, Lcom/moji/httpdns/cache/DNSCacheDatabaseHelper;->a(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Ljava/util/List; move-result-object p1 check-cast p1, Ljava/util/ArrayList; iput-object p1, v3, Lcom/moji/httpdns/model/DomainModel;->ipModelArr:Ljava/util/ArrayList; .line 123 invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V :try_end_1 .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1} :catch_0 .catchall {:try_start_1 .. :try_end_1} :catchall_1 if-eqz v0, :cond_0 .line 131 invoke-interface {v0}, Landroid/database/Cursor;->close()V .line 133 :cond_0 invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V return-object v3 :catch_0 move-exception p1 goto :goto_0 :cond_1 if-eqz v0, :cond_2 goto :goto_1 :catchall_0 move-exception p1 move-object v0, v2 goto :goto_2 :catch_1 move-exception p1 move-object v0, v2 .line 128 :goto_0 :try_start_2 invoke-virtual {p1}, Ljava/lang/Exception;->printStackTrace()V :try_end_2 .catchall {:try_start_2 .. :try_end_2} :catchall_1 if-eqz v0, :cond_2 .line 131 :goto_1 invoke-interface {v0}, Landroid/database/Cursor;->close()V .line 133 :cond_2 invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V return-object v2 :catchall_1 move-exception p1 :goto_2 if-eqz v0, :cond_3 .line 131 invoke-interface {v0}, Landroid/database/Cursor;->close()V .line 133 :cond_3 invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V throw p1 .end method .method a(Lcom/moji/httpdns/model/DomainModel;)Z .locals 6 .line 53 invoke-virtual {p0}, Lcom/moji/httpdns/cache/DNSCacheDatabaseHelper;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase; move-result-object v0 .line 54 iget-object v1, p1, Lcom/moji/httpdns/model/DomainModel;->id:Ljava/lang/String; invoke-direct {p0, v0, v1}, Lcom/moji/httpdns/cache/DNSCacheDatabaseHelper;->b(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)V .line 55 new-instance v1, Landroid/content/ContentValues; invoke-direct {v1}, Landroid/content/ContentValues;->()V const/4 v2, 0x0 .line 57 :try_start_0 invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V const-string v3, "domain_id" .line 58 iget-object v4, p1, Lcom/moji/httpdns/model/DomainModel;->id:Ljava/lang/String; invoke-virtual {v1, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V const-string v3, "domain" .line 59 iget-object v4, p1, Lcom/moji/httpdns/model/DomainModel;->domain:Ljava/lang/String; invoke-virtual {v1, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V const-string v3, "sp" .line 60 iget-object v4, p1, Lcom/moji/httpdns/model/DomainModel;->sp:Ljava/lang/String; invoke-virtual {v1, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V const-string v3, "ttl" .line 61 iget-wide v4, p1, Lcom/moji/httpdns/model/DomainModel;->ttl:J invoke-static {v4, v5}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; move-result-object v4 invoke-virtual {v1, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V const-string v3, "update_time" .line 62 iget-wide v4, p1, Lcom/moji/httpdns/model/DomainModel;->updateTime:J invoke-static {v4, v5}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; move-result-object v4 invoke-virtual {v1, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V const-string v3, "last_fail_time" .line 63 iget-wide v4, p1, Lcom/moji/httpdns/model/DomainModel;->lastFailTime:J invoke-static {v4, v5}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; move-result-object v4 invoke-virtual {v1, v3, v4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V const-string v3, "domain" const/4 v4, 0x0 .line 64 invoke-virtual {v0, v3, v4, v1}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J const/4 v1, 0x0 .line 65 :goto_0 iget-object v3, p1, Lcom/moji/httpdns/model/DomainModel;->ipModelArr:Ljava/util/ArrayList; invoke-virtual {v3}, Ljava/util/ArrayList;->size()I move-result v3 if-ge v1, v3, :cond_1 .line 66 iget-object v3, p1, Lcom/moji/httpdns/model/DomainModel;->ipModelArr:Ljava/util/ArrayList; invoke-virtual {v3, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v3 check-cast v3, Lcom/moji/httpdns/model/IpModel; .line 68 iget-object v4, v3, Lcom/moji/httpdns/model/IpModel;->ip:Ljava/lang/String; iget-object v5, p1, Lcom/moji/httpdns/model/DomainModel;->id:Ljava/lang/String; invoke-direct {p0, v0, v4, v5}, Lcom/moji/httpdns/cache/DNSCacheDatabaseHelper;->a(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;Ljava/lang/String;)Lcom/moji/httpdns/model/IpModel; move-result-object v4 if-nez v4, :cond_0 .line 73 iget-object v4, p1, Lcom/moji/httpdns/model/DomainModel;->id:Ljava/lang/String; iput-object v4, v3, Lcom/moji/httpdns/model/IpModel;->domain_id:Ljava/lang/String; .line 74 invoke-direct {p0, v0, v3}, Lcom/moji/httpdns/cache/DNSCacheDatabaseHelper;->a(Landroid/database/sqlite/SQLiteDatabase;Lcom/moji/httpdns/model/IpModel;)J move-result-wide v4 iput-wide v4, v3, Lcom/moji/httpdns/model/IpModel;->id:J goto :goto_1 .line 77 :cond_0 iget-object v3, p1, Lcom/moji/httpdns/model/DomainModel;->id:Ljava/lang/String; iput-object v3, v4, Lcom/moji/httpdns/model/IpModel;->domain_id:Ljava/lang/String; .line 78 iget v3, v4, Lcom/moji/httpdns/model/IpModel;->priority:I iput v3, v4, Lcom/moji/httpdns/model/IpModel;->priority:I .line 79 invoke-direct {p0, v0, v4}, Lcom/moji/httpdns/cache/DNSCacheDatabaseHelper;->b(Landroid/database/sqlite/SQLiteDatabase;Lcom/moji/httpdns/model/IpModel;)V move-object v3, v4 .line 81 :goto_1 iget-object v4, p1, Lcom/moji/httpdns/model/DomainModel;->ipModelArr:Ljava/util/ArrayList; invoke-virtual {v4, v1}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object; .line 82 iget-object v4, p1, Lcom/moji/httpdns/model/DomainModel;->ipModelArr:Ljava/util/ArrayList; invoke-virtual {v4, v1, v3}, Ljava/util/ArrayList;->add(ILjava/lang/Object;)V add-int/lit8 v1, v1, 0x1 goto :goto_0 .line 84 :cond_1 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 .line 89 invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V const/4 p1, 0x1 return p1 :catchall_0 move-exception p1 goto :goto_2 :catch_0 move-exception p1 .line 86 :try_start_1 invoke-virtual {p1}, Ljava/lang/Exception;->printStackTrace()V :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_0 .line 89 invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V return v2 :goto_2 invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V throw p1 .end method .method public onCreate(Landroid/database/sqlite/SQLiteDatabase;)V .locals 1 const-string v0, "CREATE TABLE domain (domain_id TEXT PRIMARY KEY,domain TEXT,sp TEXT,ttl INTEGER,last_fail_time INTEGER,update_time INTEGER);" .line 31 invoke-virtual {p1, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V const-string v0, "CREATE TABLE ip (id INTEGER PRIMARY KEY,domain_id TEXT,ip TEXT,priority INTEGER);" .line 32 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 if-eq p2, p3, :cond_0 .line 39 invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V const-string p2, "DROP TABLE IF EXISTS domain;" .line 40 invoke-virtual {p1, p2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V const-string p2, "DROP TABLE IF EXISTS ip;" .line 41 invoke-virtual {p1, p2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V .line 42 invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V .line 43 invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V .line 44 invoke-virtual {p0, p1}, Lcom/moji/httpdns/cache/DNSCacheDatabaseHelper;->onCreate(Landroid/database/sqlite/SQLiteDatabase;)V :cond_0 return-void .end method