a.smali
.class public abstract Lcom/baidu/platform/base/a;
.super Ljava/lang/Object;
# instance fields
.field protected final a:Ljava/util/concurrent/locks/Lock;
.field private b:Lcom/baidu/mapapi/http/AsyncHttpClient;
.field private c:Landroid/os/Handler;
.field private d:Z
.field private e:Lcom/baidu/mapapi/search/district/DistrictResult;
.field private f:Lcom/baidu/platform/base/SearchType;
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>()V
.registers 3
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
new-instance v0, Lcom/baidu/mapapi/http/AsyncHttpClient;
invoke-direct {v0}, Lcom/baidu/mapapi/http/AsyncHttpClient;-><init>()V
iput-object v0, p0, Lcom/baidu/platform/base/a;->b:Lcom/baidu/mapapi/http/AsyncHttpClient;
new-instance v0, Landroid/os/Handler;
invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
move-result-object v1
invoke-direct {v0, v1}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V
iput-object v0, p0, Lcom/baidu/platform/base/a;->c:Landroid/os/Handler;
new-instance v0, Ljava/util/concurrent/locks/ReentrantLock;
invoke-direct {v0}, Ljava/util/concurrent/locks/ReentrantLock;-><init>()V
iput-object v0, p0, Lcom/baidu/platform/base/a;->a:Ljava/util/concurrent/locks/Lock;
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/baidu/platform/base/a;->d:Z
const/4 v0, 0x0
iput-object v0, p0, Lcom/baidu/platform/base/a;->e:Lcom/baidu/mapapi/search/district/DistrictResult;
return-void
.end method
.method static synthetic a(Lcom/baidu/platform/base/a;)Lcom/baidu/mapapi/http/AsyncHttpClient;
.registers 1
iget-object p0, p0, Lcom/baidu/platform/base/a;->b:Lcom/baidu/mapapi/http/AsyncHttpClient;
return-object p0
.end method
.method static synthetic a(Lcom/baidu/platform/base/a;Ljava/lang/String;)Ljava/lang/String;
.registers 2
invoke-direct {p0, p1}, Lcom/baidu/platform/base/a;->a(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method private a(Ljava/lang/String;)Ljava/lang/String;
.registers 5
invoke-virtual {p1}, Ljava/lang/String;->getBytes()[B
move-result-object p1
const/4 v0, 0x0
invoke-static {p1, v0}, Landroid/util/Base64;->decode([BI)[B
move-result-object p1
const/4 v0, 0x5
new-array v0, v0, [B
fill-array-data v0, :array_30
:try_start_f
invoke-static {}, Lcom/baidu/mapsdkplatform/comjni/util/AppMD5;->getUrlNeedInfo()Ljava/lang/String;
move-result-object v1
invoke-static {}, Lcom/baidu/mapsdkplatform/comjni/util/AppMD5;->getUrlNeedInfo()Ljava/lang/String;
move-result-object v2
invoke-static {v1, v2, p1}, Lcom/baidu/mapsdkplatform/comapi/util/AlgorithmUtil;->getUrlNeedInfo(Ljava/lang/String;Ljava/lang/String;[B)[B
move-result-object v0
:try_end_1b
.catch Ljava/lang/Exception; {:try_start_f .. :try_end_1b} :catch_1c
goto :goto_25
:catch_1c
move-exception p1
const-string v1, "BaseSearch"
const-string/jumbo v2, "transform result failed"
invoke-static {v1, v2, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:goto_25
new-instance p1, Ljava/lang/String;
invoke-direct {p1, v0}, Ljava/lang/String;-><init>([B)V
invoke-virtual {p1}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object p1
return-object p1
nop
:array_30
.array-data 1
0x66t
0x61t
0x69t
0x6ct
0x64t
.end array-data
.end method
.method private a(Lcom/baidu/mapapi/http/AsyncHttpClient;Lcom/baidu/mapapi/http/HttpClient$ProtoResultCallback;Lcom/baidu/mapapi/search/core/SearchResult;)V
.registers 5
check-cast p3, Lcom/baidu/mapapi/search/district/DistrictResult;
invoke-virtual {p3}, Lcom/baidu/mapapi/search/district/DistrictResult;->getCityName()Ljava/lang/String;
move-result-object p3
new-instance v0, Lcom/baidu/platform/core/a/c;
invoke-direct {v0, p3}, Lcom/baidu/platform/core/a/c;-><init>(Ljava/lang/String;)V
iget-object p3, p0, Lcom/baidu/platform/base/a;->f:Lcom/baidu/platform/base/SearchType;
invoke-virtual {v0, p3}, Lcom/baidu/platform/core/a/c;->a(Lcom/baidu/platform/base/SearchType;)Ljava/lang/String;
move-result-object p3
invoke-virtual {p1, p3, p2}, Lcom/baidu/mapapi/http/AsyncHttpClient;->get(Ljava/lang/String;Lcom/baidu/mapapi/http/HttpClient$ProtoResultCallback;)V
return-void
.end method
.method private a(Lcom/baidu/mapapi/http/HttpClient$HttpStateError;Lcom/baidu/platform/base/d;Ljava/lang/Object;)V
.registers 6
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string/jumbo v1, "{SDK_InnerError:{httpStateError:"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string/jumbo p1, "}}"
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-virtual {p2, p1}, Lcom/baidu/platform/base/d;->a(Ljava/lang/String;)Lcom/baidu/mapapi/search/core/SearchResult;
move-result-object p1
invoke-direct {p0, p1, p3, p2}, Lcom/baidu/platform/base/a;->a(Lcom/baidu/mapapi/search/core/SearchResult;Ljava/lang/Object;Lcom/baidu/platform/base/d;)V
return-void
.end method
.method private a(Lcom/baidu/mapapi/search/core/SearchResult;Ljava/lang/Object;Lcom/baidu/platform/base/d;)V
.registers 6
iget-object v0, p0, Lcom/baidu/platform/base/a;->c:Landroid/os/Handler;
new-instance v1, Lcom/baidu/platform/base/c;
invoke-direct {v1, p0, p3, p1, p2}, Lcom/baidu/platform/base/c;-><init>(Lcom/baidu/platform/base/a;Lcom/baidu/platform/base/d;Lcom/baidu/mapapi/search/core/SearchResult;Ljava/lang/Object;)V
invoke-virtual {v0, v1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
return-void
.end method
.method static synthetic a(Lcom/baidu/platform/base/a;Lcom/baidu/mapapi/http/HttpClient$HttpStateError;Lcom/baidu/platform/base/d;Ljava/lang/Object;)V
.registers 4
invoke-direct {p0, p1, p2, p3}, Lcom/baidu/platform/base/a;->a(Lcom/baidu/mapapi/http/HttpClient$HttpStateError;Lcom/baidu/platform/base/d;Ljava/lang/Object;)V
return-void
.end method
.method static synthetic a(Lcom/baidu/platform/base/a;Ljava/lang/String;Lcom/baidu/platform/base/d;Ljava/lang/Object;Lcom/baidu/mapapi/http/AsyncHttpClient;Lcom/baidu/mapapi/http/HttpClient$ProtoResultCallback;)V
.registers 6
invoke-direct/range {p0 .. p5}, Lcom/baidu/platform/base/a;->a(Ljava/lang/String;Lcom/baidu/platform/base/d;Ljava/lang/Object;Lcom/baidu/mapapi/http/AsyncHttpClient;Lcom/baidu/mapapi/http/HttpClient$ProtoResultCallback;)V
return-void
.end method
.method private a(Ljava/lang/String;Lcom/baidu/platform/base/d;Ljava/lang/Object;Lcom/baidu/mapapi/http/AsyncHttpClient;Lcom/baidu/mapapi/http/HttpClient$ProtoResultCallback;)V
.registers 7
invoke-virtual {p2, p1}, Lcom/baidu/platform/base/d;->a(Ljava/lang/String;)Lcom/baidu/mapapi/search/core/SearchResult;
move-result-object v0
invoke-direct {p0, p1}, Lcom/baidu/platform/base/a;->b(Ljava/lang/String;)I
move-result p1
iput p1, v0, Lcom/baidu/mapapi/search/core/SearchResult;->status:I
invoke-direct {p0, p2, v0}, Lcom/baidu/platform/base/a;->a(Lcom/baidu/platform/base/d;Lcom/baidu/mapapi/search/core/SearchResult;)Z
move-result p1
if-eqz p1, :cond_14
invoke-direct {p0, p4, p5, v0}, Lcom/baidu/platform/base/a;->a(Lcom/baidu/mapapi/http/AsyncHttpClient;Lcom/baidu/mapapi/http/HttpClient$ProtoResultCallback;Lcom/baidu/mapapi/search/core/SearchResult;)V
goto :goto_42
:cond_14
instance-of p1, p2, Lcom/baidu/platform/core/a/b;
if-eqz p1, :cond_3f
iget-object p1, p0, Lcom/baidu/platform/base/a;->e:Lcom/baidu/mapapi/search/district/DistrictResult;
if-eqz p1, :cond_2f
move-object p4, v0
check-cast p4, Lcom/baidu/mapapi/search/district/DistrictResult;
invoke-virtual {p1}, Lcom/baidu/mapapi/search/district/DistrictResult;->getCityCode()I
move-result p1
invoke-virtual {p4, p1}, Lcom/baidu/mapapi/search/district/DistrictResult;->setCityCode(I)V
iget-object p1, p0, Lcom/baidu/platform/base/a;->e:Lcom/baidu/mapapi/search/district/DistrictResult;
invoke-virtual {p1}, Lcom/baidu/mapapi/search/district/DistrictResult;->getCenterPt()Lcom/baidu/mapapi/model/LatLng;
move-result-object p1
invoke-virtual {p4, p1}, Lcom/baidu/mapapi/search/district/DistrictResult;->setCenterPt(Lcom/baidu/mapapi/model/LatLng;)V
:cond_2f
invoke-direct {p0, v0, p3, p2}, Lcom/baidu/platform/base/a;->a(Lcom/baidu/mapapi/search/core/SearchResult;Ljava/lang/Object;Lcom/baidu/platform/base/d;)V
const/4 p1, 0x1
iput-boolean p1, p0, Lcom/baidu/platform/base/a;->d:Z
const/4 p1, 0x0
iput-object p1, p0, Lcom/baidu/platform/base/a;->e:Lcom/baidu/mapapi/search/district/DistrictResult;
check-cast p2, Lcom/baidu/platform/core/a/b;
const/4 p1, 0x0
invoke-virtual {p2, p1}, Lcom/baidu/platform/core/a/b;->a(Z)V
goto :goto_42
:cond_3f
invoke-direct {p0, v0, p3, p2}, Lcom/baidu/platform/base/a;->a(Lcom/baidu/mapapi/search/core/SearchResult;Ljava/lang/Object;Lcom/baidu/platform/base/d;)V
:goto_42
return-void
.end method
.method private a(Lcom/baidu/platform/base/d;Lcom/baidu/mapapi/search/core/SearchResult;)Z
.registers 6
instance-of v0, p1, Lcom/baidu/platform/core/a/b;
const/4 v1, 0x0
if-nez v0, :cond_6
return v1
:cond_6
sget-object v0, Lcom/baidu/mapapi/search/core/SearchResult$ERRORNO;->RESULT_NOT_FOUND:Lcom/baidu/mapapi/search/core/SearchResult$ERRORNO;
check-cast p2, Lcom/baidu/mapapi/search/district/DistrictResult;
iget-object v2, p2, Lcom/baidu/mapapi/search/district/DistrictResult;->error:Lcom/baidu/mapapi/search/core/SearchResult$ERRORNO;
if-eq v0, v2, :cond_f
return v1
:cond_f
invoke-virtual {p2}, Lcom/baidu/mapapi/search/district/DistrictResult;->getCityName()Ljava/lang/String;
move-result-object v0
if-nez v0, :cond_16
return v1
:cond_16
iget-boolean v0, p0, Lcom/baidu/platform/base/a;->d:Z
if-eqz v0, :cond_25
iput-boolean v1, p0, Lcom/baidu/platform/base/a;->d:Z
iput-object p2, p0, Lcom/baidu/platform/base/a;->e:Lcom/baidu/mapapi/search/district/DistrictResult;
check-cast p1, Lcom/baidu/platform/core/a/b;
const/4 p2, 0x1
invoke-virtual {p1, p2}, Lcom/baidu/platform/core/a/b;->a(Z)V
return p2
:cond_25
return v1
.end method
.method private b(Ljava/lang/String;)I
.registers 7
const-string v0, "result"
const-string/jumbo v1, "status_sp"
const-string/jumbo v2, "status"
const/16 v3, 0x27dc
if-eqz p1, :cond_4d
const-string v4, ""
invoke-virtual {p1, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_15
goto :goto_4d
:cond_15
:try_start_15
new-instance v4, Lorg/json/JSONObject;
invoke-direct {v4, p1}, Lorg/json/JSONObject;-><init>(Ljava/lang/String;)V
invoke-virtual {v4, v2}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z
move-result p1
if-eqz p1, :cond_25
invoke-virtual {v4, v2}, Lorg/json/JSONObject;->getInt(Ljava/lang/String;)I
move-result p1
return p1
:cond_25
invoke-virtual {v4, v1}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z
move-result p1
if-eqz p1, :cond_30
invoke-virtual {v4, v1}, Lorg/json/JSONObject;->getInt(Ljava/lang/String;)I
move-result p1
return p1
:cond_30
invoke-virtual {v4, v0}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z
move-result p1
if-eqz p1, :cond_44
invoke-virtual {v4, v0}, Lorg/json/JSONObject;->optJSONObject(Ljava/lang/String;)Lorg/json/JSONObject;
move-result-object p1
if-nez p1, :cond_3d
return v3
:cond_3d
const-string v0, "error"
invoke-virtual {p1, v0}, Lorg/json/JSONObject;->optInt(Ljava/lang/String;)I
move-result p1
:try_end_43
.catch Lorg/json/JSONException; {:try_start_15 .. :try_end_43} :catch_45
return p1
:cond_44
return v3
:catch_45
move-exception p1
const-string p1, "BaseSearch"
const-string v0, "Create JSONObject failed when get response result status"
invoke-static {p1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
:cond_4d
:goto_4d
return v3
.end method
.method static synthetic b(Lcom/baidu/platform/base/a;Ljava/lang/String;)V
.registers 2
invoke-direct {p0, p1}, Lcom/baidu/platform/base/a;->c(Ljava/lang/String;)V
return-void
.end method
.method private c(Ljava/lang/String;)V
.registers 6
const-string v0, "BaseSearch"
const-string/jumbo v1, "status"
:try_start_5
new-instance v2, Lorg/json/JSONObject;
invoke-direct {v2, p1}, Lorg/json/JSONObject;-><init>(Ljava/lang/String;)V
invoke-virtual {v2, v1}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z
move-result p1
:try_end_e
.catch Lorg/json/JSONException; {:try_start_5 .. :try_end_e} :catch_4c
const-string/jumbo v3, "status_sp"
if-nez p1, :cond_19
:try_start_13
invoke-virtual {v2, v3}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z
move-result p1
if-eqz p1, :cond_52
:cond_19
invoke-virtual {v2, v1}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z
move-result p1
if-eqz p1, :cond_24
invoke-virtual {v2, v1}, Lorg/json/JSONObject;->getInt(Ljava/lang/String;)I
move-result p1
goto :goto_28
:cond_24
invoke-virtual {v2, v3}, Lorg/json/JSONObject;->getInt(Ljava/lang/String;)I
move-result p1
:goto_28
const/16 v1, 0x69
if-eq p1, v1, :cond_31
const/16 v1, 0x6a
if-eq p1, v1, :cond_31
goto :goto_52
:cond_31
invoke-static {}, Lcom/baidu/mapsdkplatform/comapi/util/PermissionCheck;->permissionCheck()I
move-result p1
if-eqz p1, :cond_52
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "permissionCheck result is: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {v0, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
:try_end_4b
.catch Lorg/json/JSONException; {:try_start_13 .. :try_end_4b} :catch_4c
goto :goto_52
:catch_4c
move-exception p1
const-string v1, "Parse json happened exception"
invoke-static {v0, v1, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:cond_52
:goto_52
return-void
.end method
# virtual methods
.method protected a(Lcom/baidu/platform/base/e;Ljava/lang/Object;Lcom/baidu/platform/base/d;)Z
.registers 7
const/4 v0, 0x0
if-nez p3, :cond_f
const-class p1, Lcom/baidu/platform/base/a;
invoke-virtual {p1}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object p1
const-string p2, "The SearchParser is null, must be applied."
invoke-static {p1, p2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
return v0
:cond_f
invoke-virtual {p3}, Lcom/baidu/platform/base/d;->a()Lcom/baidu/platform/base/SearchType;
move-result-object v1
iput-object v1, p0, Lcom/baidu/platform/base/a;->f:Lcom/baidu/platform/base/SearchType;
invoke-virtual {p1, v1}, Lcom/baidu/platform/base/e;->a(Lcom/baidu/platform/base/SearchType;)Ljava/lang/String;
move-result-object p1
if-nez p1, :cond_3c
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "The sendurl is: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
const-string v1, "BaseSearch"
invoke-static {v1, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
const-string/jumbo p1, "{SDK_InnerError:{PermissionCheckError:Error}}"
invoke-virtual {p3, p1}, Lcom/baidu/platform/base/d;->a(Ljava/lang/String;)Lcom/baidu/mapapi/search/core/SearchResult;
move-result-object p1
invoke-direct {p0, p1, p2, p3}, Lcom/baidu/platform/base/a;->a(Lcom/baidu/mapapi/search/core/SearchResult;Ljava/lang/Object;Lcom/baidu/platform/base/d;)V
return v0
:cond_3c
iget-object v0, p0, Lcom/baidu/platform/base/a;->b:Lcom/baidu/mapapi/http/AsyncHttpClient;
new-instance v1, Lcom/baidu/platform/base/b;
invoke-direct {v1, p0, p3, p2}, Lcom/baidu/platform/base/b;-><init>(Lcom/baidu/platform/base/a;Lcom/baidu/platform/base/d;Ljava/lang/Object;)V
invoke-virtual {v0, p1, v1}, Lcom/baidu/mapapi/http/AsyncHttpClient;->get(Ljava/lang/String;Lcom/baidu/mapapi/http/HttpClient$ProtoResultCallback;)V
const/4 p1, 0x1
return p1
.end method