y.smali
3.5 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
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
.class public Lc/y;
.super Ljava/lang/Object;
# static fields
.field public static final a:Lc/y;
# instance fields
.field public b:Z
.field public c:J
.field public d:J
# direct methods
.method public static constructor <clinit>()V
.locals 1
new-instance v0, Lc/y$a;
invoke-direct {v0}, Lc/y$a;-><init>()V
sput-object v0, Lc/y;->a:Lc/y;
return-void
.end method
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public a()Lc/y;
.locals 1
const/4 v0, 0x0
iput-boolean v0, p0, Lc/y;->b:Z
return-object p0
.end method
.method public a(J)Lc/y;
.locals 1
const/4 v0, 0x1
iput-boolean v0, p0, Lc/y;->b:Z
iput-wide p1, p0, Lc/y;->c:J
return-object p0
.end method
.method public a(JLjava/util/concurrent/TimeUnit;)Lc/y;
.locals 2
const-wide/16 v0, 0x0
cmp-long v0, p1, v0
if-ltz v0, :cond_1
if-eqz p3, :cond_0
invoke-virtual {p3, p1, p2}, Ljava/util/concurrent/TimeUnit;->toNanos(J)J
move-result-wide p1
iput-wide p1, p0, Lc/y;->d:J
return-object p0
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "unit == null"
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
:cond_1
new-instance p3, Ljava/lang/IllegalArgumentException;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "timeout < 0: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1, p2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {p3, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p3
.end method
.method public b()Lc/y;
.locals 2
const-wide/16 v0, 0x0
iput-wide v0, p0, Lc/y;->d:J
return-object p0
.end method
.method public c()J
.locals 2
iget-boolean v0, p0, Lc/y;->b:Z
if-eqz v0, :cond_0
iget-wide v0, p0, Lc/y;->c:J
return-wide v0
:cond_0
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "No deadline"
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public d()Z
.locals 1
iget-boolean v0, p0, Lc/y;->b:Z
return v0
.end method
.method public e()V
.locals 4
invoke-static {}, Ljava/lang/Thread;->interrupted()Z
move-result v0
if-nez v0, :cond_2
iget-boolean v0, p0, Lc/y;->b:Z
if-eqz v0, :cond_1
iget-wide v0, p0, Lc/y;->c:J
invoke-static {}, Ljava/lang/System;->nanoTime()J
move-result-wide v2
sub-long/2addr v0, v2
const-wide/16 v2, 0x0
cmp-long v0, v0, v2
if-lez v0, :cond_0
goto :goto_0
:cond_0
new-instance v0, Ljava/io/InterruptedIOException;
const-string v1, "deadline reached"
invoke-direct {v0, v1}, Ljava/io/InterruptedIOException;-><init>(Ljava/lang/String;)V
throw v0
:cond_1
:goto_0
return-void
:cond_2
new-instance v0, Ljava/io/InterruptedIOException;
const-string v1, "thread interrupted"
invoke-direct {v0, v1}, Ljava/io/InterruptedIOException;-><init>(Ljava/lang/String;)V
throw v0
.end method