}
};
// Icons paint
private final Paint mIconPaint = new Paint(Paint.ANTI_ALIAS_FLAG) {
{
setDither(true);
}
};
// Paint for icon mask pointer
private final Paint mIconPointerPaint = new Paint(Paint.ANTI_ALIAS_FLAG) {
{
setStyle(Style.FILL);
setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
}
};
// Paint for model title
private final Paint mModelTitlePaint = new TextPaint(Paint.ANTI_ALIAS_FLAG) {
{
setDither(true);
setColor(Color.WHITE);
setTextAlign(Align.CENTER);
}
};
// Paint for badge
private final Paint mBadgePaint = new TextPaint(Paint.ANTI_ALIAS_FLAG) {
{
setDither(true);
setTextAlign(Align.CENTER);
setFakeBoldText(true);
}
};
// Variables for animator
private final ValueAnimator mAnimator = new ValueAnimator();
private final ResizeInterpolator mResizeInterpolator = new ResizeInterpolator();
private int mAnimationDuration;
// NTP models
private List<Model> mModels = new ArrayList<>();
// Variables for ViewPager
private ViewPager mViewPager;
private ViewPager.OnPageChangeListener mOnPageChangeListener;
private int mScrollState;
// Tab listener
private OnTabBarSelectedIndexListener mOnTabBarSelectedIndexListener;
private ValueAnimator.AnimatorListener mAnimatorListener;
// Variables for sizes
private float mModelSize;
private int mIconSize;
// Corners radius for rect mode
private float mCornersRadius;
// Model title size and margin
private float mModelTitleSize;
private float mTitleMargin;
// Model badge title size and margin
private float mBadgeMargin;
private float mBadgeTitleSize;
// Model title mode: active ar all
private TitleMode mTitleMode;
// Model badge position: left, center or right
private BadgePosition mBadgePosition;
// Model badge gravity: top or bottom
private BadgeGravity mBadgeGravity;
// Indexes
private int mLastIndex = INVALID_INDEX;
private int mIndex = INVALID_INDEX;
// General fraction value
private float mFraction;
// Coordinates of pointer