CrackMe.apk
Download file
package com.google.common.base;
import com.google.errorprone.annotations.DoNotMock;
import java.io.Serializable;
import java.util.Iterator;
import java.util.Set;
import javax.annotation.CheckForNull;
@ElementTypesAreNonnullByDefault
@DoNotMock("Use Optional.of(value) or Optional.absent()")
public abstract class Optional<T> implements Serializable {
private static final long serialVersionUID = 0;
public abstract Set<T> asSet();
public abstract boolean equals(@CheckForNull Object obj);
public abstract T get();
public abstract int hashCode();
public abstract boolean isPresent();
public abstract Optional<T> or(Optional<? extends T> optional);
public abstract T or(Supplier<? extends T> supplier);
public abstract T or(T t);
@CheckForNull
public abstract T orNull();
public abstract String toString();
public abstract <V> Optional<V> transform(Function<? super T, V> function);
public static <T> Optional<T> absent() {
return Absent.withType();
}
public static <T> Optional<T> of(T t) {
return new Present(Preconditions.checkNotNull(t));
}
public static <T> Optional<T> fromNullable(@CheckForNull T t) {
return t == null ? absent() : new Present(t);
}
Optional() {
}
public static <T> Iterable<T> presentInstances(final Iterable<? extends Optional<? extends T>> iterable) {
Preconditions.checkNotNull(iterable);
return new Iterable<T>() {
public Iterator<T> iterator() {
return new AbstractIterator<T>() {
private final Iterator<? extends Optional<? extends T>> iterator;
{
this.iterator = (Iterator) Preconditions.checkNotNull(iterable.iterator());
}
/* access modifiers changed from: protected */
@CheckForNull
public T computeNext() {
while (this.iterator.hasNext()) {
Optional optional = (Optional) this.iterator.next();
if (optional.isPresent()) {
return optional.get();
}
}
return endOfData();
}
};
}
};
}
}
Download file