package com.ftinc.scoop; import com.squareup.javapoet.ClassName; import com.squareup.javapoet.MethodSpec; import com.squareup.javapoet.TypeVariableName; /** * Created by r0adkll on 6/26/16. */ final class ClassStatusBarBinding extends Binding{ private static final ClassName STATUS_BAR_BINDING = ClassName.get("com.ftinc.scoop.binding", "StatusBarBinding"); private static final ClassName IBINDING = ClassName.get("com.ftinc.scoop.binding", "IBinding"); private final ClassName interpolator; private final long duration; public ClassStatusBarBinding(int id, ClassName interpolator, long duration) { super(id); this.interpolator = interpolator; this.duration = duration; } @Override public String getStatementFormat(){ StringBuilder builder = new StringBuilder("bindings.add(new $T($L, target"); if(interpolator != null) { builder.append(", new $T()"); } else { builder.append(", null"); } builder.append(", $L"); builder.append("));"); return builder.toString(); } @Override public Object[] getStatementArguments(){ int size = 3; int index = 0; if(interpolator != null) size++; Object[] args = new Object[size]; args[index++] = STATUS_BAR_BINDING; args[index++] = id; if(interpolator != null){ args[index++] = interpolator; } args[index] = duration == -1 ? IBINDING.toString().concat(".DEFAULT_ANIMATION_DURATION") : duration; return args; } }