CrackMe.apk
Download file
package com.google.common.base;
import java.io.Serializable;
import javax.annotation.CheckForNull;
@ElementTypesAreNonnullByDefault
final class FunctionalEquivalence<F, T> extends Equivalence<F> implements Serializable {
private static final long serialVersionUID = 0;
private final Function<? super F, ? extends T> function;
private final Equivalence<T> resultEquivalence;
FunctionalEquivalence(Function<? super F, ? extends T> function2, Equivalence<T> equivalence) {
this.function = (Function) Preconditions.checkNotNull(function2);
this.resultEquivalence = (Equivalence) Preconditions.checkNotNull(equivalence);
}
/* access modifiers changed from: protected */
public boolean doEquivalent(F f, F f2) {
return this.resultEquivalence.equivalent(this.function.apply(f), this.function.apply(f2));
}
/* access modifiers changed from: protected */
public int doHash(F f) {
return this.resultEquivalence.hash(this.function.apply(f));
}
public boolean equals(@CheckForNull Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof FunctionalEquivalence)) {
return false;
}
FunctionalEquivalence functionalEquivalence = (FunctionalEquivalence) obj;
if (!this.function.equals(functionalEquivalence.function) || !this.resultEquivalence.equals(functionalEquivalence.resultEquivalence)) {
return false;
}
return true;
}
public int hashCode() {
return Objects.hashCode(this.function, this.resultEquivalence);
}
public String toString() {
String valueOf = String.valueOf(this.resultEquivalence);
String valueOf2 = String.valueOf(this.function);
StringBuilder sb = new StringBuilder(String.valueOf(valueOf).length() + 13 + String.valueOf(valueOf2).length());
sb.append(valueOf);
sb.append(".onResultOf(");
sb.append(valueOf2);
sb.append(")");
return sb.toString();
}
}
Download file