package com.kickstarter.libs.utils;
import android.support.annotation.NonNull;
import com.kickstarter.libs.RefTag;
import com.kickstarter.services.DiscoveryParams;
import static com.kickstarter.libs.utils.BooleanUtils.isTrue;
import static com.kickstarter.libs.utils.IntegerUtils.isNonZero;
public final class DiscoveryParamsUtils {
private DiscoveryParamsUtils() {}
/**
* A `ref_tag` representation of some discovery params. This tag can be used to attribute a checkout when a user
* pledges from discovery using these particular params.
*/
public static @NonNull RefTag refTag(final @NonNull DiscoveryParams params) {
if (params.isCategorySet()) {
final DiscoveryParams.Sort sort = params.sort();
if (sort != null) {
return RefTag.category(sort);
}
return RefTag.category();
}
if (params.location() != null) {
return RefTag.city();
}
final boolean staffPicks = isTrue(params.staffPicks());
if (staffPicks) {
final DiscoveryParams.Sort sort = params.sort();
if (sort != null) {
return RefTag.recommended(sort);
}
return RefTag.recommended();
}
if (isNonZero(params.social())) {
return RefTag.social();
}
if (params.term() != null) {
return RefTag.search();
}
return RefTag.discovery();
}
}