ExecutionList.java
2.73 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
package com.google.common.util.concurrent;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Preconditions;
import java.util.concurrent.Executor;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.annotation.Nullable;
import javax.annotation.concurrent.GuardedBy;
public final class ExecutionList
{
@VisibleForTesting
static final Logger a = Logger.getLogger(ExecutionList.class.getName());
@GuardedBy("this")
private a b;
@GuardedBy("this")
private boolean c;
private static void a(Runnable paramRunnable, Executor paramExecutor)
{
try
{
paramExecutor.execute(paramRunnable);
return;
}
catch (RuntimeException localRuntimeException)
{
Logger localLogger = a;
Level localLevel = Level.SEVERE;
paramRunnable = String.valueOf(String.valueOf(paramRunnable));
paramExecutor = String.valueOf(String.valueOf(paramExecutor));
localLogger.log(localLevel, paramRunnable.length() + 57 + paramExecutor.length() + "RuntimeException while executing runnable " + paramRunnable + " with executor " + paramExecutor, localRuntimeException);
}
}
public final void add(Runnable paramRunnable, Executor paramExecutor)
{
Preconditions.checkNotNull(paramRunnable, "Runnable was null.");
Preconditions.checkNotNull(paramExecutor, "Executor was null.");
try
{
if (!this.c)
{
this.b = new a(paramRunnable, paramExecutor, this.b);
return;
}
a(paramRunnable, paramExecutor);
return;
}
finally {}
}
public final void execute()
{
Object localObject1 = null;
Object localObject4;
try
{
if (this.c) {
return;
}
this.c = true;
Object localObject3 = this.b;
this.b = null;
for (;;)
{
localObject4 = localObject1;
if (localObject3 == null) {
break;
}
localObject4 = ((a)localObject3).c;
((a)localObject3).c = ((a)localObject1);
localObject1 = localObject3;
localObject3 = localObject4;
}
if (localObject4 == null) {
return;
}
}
finally {}
for (;;)
{
a(((a)localObject4).a, ((a)localObject4).b);
localObject4 = ((a)localObject4).c;
}
}
static final class a
{
final Runnable a;
final Executor b;
@Nullable
a c;
a(Runnable paramRunnable, Executor paramExecutor, a parama)
{
this.a = paramRunnable;
this.b = paramExecutor;
this.c = parama;
}
}
}
/* Location: /home/merong/decompile/hackery-dex2jar.jar!/com/google/common/util/concurrent/ExecutionList.class
* Java compiler version: 6 (50.0)
* JD-Core Version: 0.7.1
*/