CrackMe.apk
Download file
package com.google.common.util.concurrent;
import com.google.common.base.Preconditions;
import com.google.common.util.concurrent.AbstractFuture;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Executor;
import java.util.concurrent.TimeUnit;
import java.util.logging.Level;
import java.util.logging.Logger;
@ElementTypesAreNonnullByDefault
class ImmediateFuture<V> implements ListenableFuture<V> {
static final ListenableFuture<?> NULL = new ImmediateFuture((Object) null);
private static final Logger log = Logger.getLogger(ImmediateFuture.class.getName());
@ParametricNullness
private final V value;
public boolean cancel(boolean z) {
return false;
}
public boolean isCancelled() {
return false;
}
public boolean isDone() {
return true;
}
ImmediateFuture(@ParametricNullness V v) {
this.value = v;
}
public void addListener(Runnable runnable, Executor executor) {
Preconditions.checkNotNull(runnable, "Runnable was null.");
Preconditions.checkNotNull(executor, "Executor was null.");
try {
executor.execute(runnable);
} catch (RuntimeException e) {
Logger logger = log;
Level level = Level.SEVERE;
String valueOf = String.valueOf(runnable);
String valueOf2 = String.valueOf(executor);
StringBuilder sb = new StringBuilder(String.valueOf(valueOf).length() + 57 + String.valueOf(valueOf2).length());
sb.append("RuntimeException while executing runnable ");
sb.append(valueOf);
sb.append(" with executor ");
sb.append(valueOf2);
logger.log(level, sb.toString(), e);
}
}
@ParametricNullness
public V get() {
return this.value;
}
@ParametricNullness
public V get(long j, TimeUnit timeUnit) throws ExecutionException {
Preconditions.checkNotNull(timeUnit);
return get();
}
public String toString() {
String obj = super.toString();
String valueOf = String.valueOf(this.value);
StringBuilder sb = new StringBuilder(String.valueOf(obj).length() + 27 + String.valueOf(valueOf).length());
sb.append(obj);
sb.append("[status=SUCCESS, result=[");
sb.append(valueOf);
sb.append("]]");
return sb.toString();
}
static final class ImmediateFailedFuture<V> extends AbstractFuture.TrustedFuture<V> {
ImmediateFailedFuture(Throwable th) {
setException(th);
}
}
static final class ImmediateCancelledFuture<V> extends AbstractFuture.TrustedFuture<V> {
ImmediateCancelledFuture() {
cancel(false);
}
}
}
Download file