ChannelReader.smali
3.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
.class public final Lcom/meituan/android/walle/ChannelReader;
.super Ljava/lang/Object;
.source "ChannelReader.java"
# static fields
.field public static final CHANNEL_KEY:Ljava/lang/String; = "channel"
# direct methods
.method private constructor <init>()V
.locals 0
.line 15
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static get(Ljava/io/File;)Lcom/meituan/android/walle/ChannelInfo;
.locals 2
.line 25
invoke-static {p0}, Lcom/meituan/android/walle/ChannelReader;->getMap(Ljava/io/File;)Ljava/util/Map;
move-result-object p0
if-nez p0, :cond_0
const/4 p0, 0x0
return-object p0
:cond_0
const-string v0, "channel"
.line 29
invoke-interface {p0, v0}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/String;
.line 30
invoke-interface {p0, v0}, Ljava/util/Map;->remove(Ljava/lang/Object;)Ljava/lang/Object;
.line 31
new-instance v0, Lcom/meituan/android/walle/ChannelInfo;
invoke-direct {v0, v1, p0}, Lcom/meituan/android/walle/ChannelInfo;-><init>(Ljava/lang/String;Ljava/util/Map;)V
return-object v0
.end method
.method public static getMap(Ljava/io/File;)Ljava/util/Map;
.locals 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/io/File;",
")",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;"
}
.end annotation
const/4 v0, 0x0
.line 42
:try_start_0
invoke-static {p0}, Lcom/meituan/android/walle/ChannelReader;->getRaw(Ljava/io/File;)Ljava/lang/String;
move-result-object p0
if-nez p0, :cond_0
return-object v0
.line 46
:cond_0
new-instance v1, Lorg/json/JSONObject;
invoke-direct {v1, p0}, Lorg/json/JSONObject;-><init>(Ljava/lang/String;)V
.line 47
invoke-virtual {v1}, Lorg/json/JSONObject;->keys()Ljava/util/Iterator;
move-result-object p0
.line 48
new-instance v2, Ljava/util/HashMap;
invoke-direct {v2}, Ljava/util/HashMap;-><init>()V
.line 49
:goto_0
invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z
move-result v3
if-eqz v3, :cond_1
.line 50
invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v3
.line 51
invoke-virtual {v1, v3}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v4
invoke-interface {v2, v3, v4}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:try_end_0
.catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
:cond_1
return-object v2
:catch_0
move-exception p0
.line 55
invoke-virtual {p0}, Lorg/json/JSONException;->printStackTrace()V
return-object v0
.end method
.method public static getRaw(Ljava/io/File;)Ljava/lang/String;
.locals 1
const v0, 0x71777777
.line 67
invoke-static {p0, v0}, Lcom/meituan/android/walle/PayloadReader;->getString(Ljava/io/File;I)Ljava/lang/String;
move-result-object p0
return-object p0
.end method