package github.nisrulz.viewpager;
import android.os.Build;
import android.view.View;
import android.view.animation.AlphaAnimation;
import java.util.concurrent.atomic.AtomicInteger;
/**
* @author Nishant Srivastava
*/
public class Util {
private static final AtomicInteger sNextGeneratedId = new AtomicInteger(1);
/**
* Generate a value suitable for use in setId(int)
* This value will not collide with ID values generated at build time by aapt for R.id.
*
* @return a generated ID value
*/
public static int generateViewId() {
for (; ; ) {
final int result = sNextGeneratedId.get();
// aapt-generated IDs have the high byte nonzero; clamp to the range under that.
int newValue = result + 1;
if (newValue > 0x00FFFFFF) newValue = 1; // Roll over to 1, not 0.
if (sNextGeneratedId.compareAndSet(result, newValue)) {
return result;
}
}
}
/**
* Support setAlpha method
*
* @param view the view
* @param alpha the alpha value in float
*/
static void setAlpha(View view, float alpha) {
if (Build.VERSION.SDK_INT < 11) {
final AlphaAnimation animation = new AlphaAnimation(alpha, alpha);
animation.setDuration(0);
animation.setFillAfter(true);
view.startAnimation(animation);
} else
view.setAlpha(alpha);
}
}