Super.smali
3.8 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
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
.class public Lnet/uc/demo/Super;
.super Ljava/lang/Object;
.source "Super.java"
# static fields
.field public static location:Ljava/lang/String;
.field public static signalStrength:I
# direct methods
.method static constructor <clinit>()V
.locals 0
return-void
.end method
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static init(Landroid/content/Context;)V
.locals 0
.line 1
invoke-static {p0}, Lnet/uc/demo/ˏ/ᐝ;->ˏ(Landroid/content/Context;)V
.line 2
invoke-static {p0}, Lnet/uc/demo/Super;->initCurrentLocatin(Landroid/content/Context;)V
return-void
.end method
.method private static initCurrentLocatin(Landroid/content/Context;)V
.locals 8
const-string v0, "location"
.line 1
invoke-virtual {p0, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v1
move-object v2, v1
check-cast v2, Landroid/location/LocationManager;
const/4 v1, 0x1
.line 3
invoke-virtual {v2, v1}, Landroid/location/LocationManager;->getProviders(Z)Ljava/util/List;
move-result-object v1
const-string v3, "network"
.line 4
invoke-interface {v1, v3}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
move-result v4
const-string v5, "gps"
if-eqz v4, :cond_0
goto :goto_0
.line 7
:cond_0
invoke-interface {v1, v5}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
move-result v1
move-object v3, v5
:goto_0
const-string v1, "android.permission.ACCESS_FINE_LOCATION"
.line 12
invoke-static {p0, v1}, Landroidx/core/app/ActivityCompat;->checkSelfPermission(Landroid/content/Context;Ljava/lang/String;)I
move-result v1
if-eqz v1, :cond_1
const-string v1, "android.permission.ACCESS_COARSE_LOCATION"
invoke-static {p0, v1}, Landroidx/core/app/ActivityCompat;->checkSelfPermission(Landroid/content/Context;Ljava/lang/String;)I
move-result p0
if-eqz p0, :cond_1
return-void
.line 22
:cond_1
invoke-virtual {v2, v3}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
move-result-object p0
if-eqz p0, :cond_2
.line 24
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p0}, Landroid/location/Location;->getLatitude()D
move-result-wide v2
invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
const-string v2, ","
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Landroid/location/Location;->getLongitude()D
move-result-wide v2
invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
goto :goto_1
.line 27
:cond_2
new-instance v7, Lnet/uc/demo/Super$ˏ;
invoke-direct {v7}, Lnet/uc/demo/Super$ˏ;-><init>()V
const-wide/16 v4, 0x0
const/4 v6, 0x0
invoke-virtual/range {v2 .. v7}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
const-string p0, ""
.line 48
:goto_1
invoke-static {p0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-nez v1, :cond_3
.line 49
sput-object p0, Lnet/uc/demo/Super;->location:Ljava/lang/String;
.line 50
sget-object p0, Lnet/uc/demo/Super;->location:Ljava/lang/String;
invoke-static {v0, p0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
:cond_3
return-void
.end method