package com.github.espiandev.showcaseview;
import android.app.Activity;
import android.view.View;
public class ShowcaseViewBuilder {
private final ShowcaseView showcaseView;
public ShowcaseViewBuilder(Activity activity) {
this.showcaseView = new ShowcaseView(activity);
}
public ShowcaseViewBuilder(ShowcaseView showcaseView) {
this.showcaseView = showcaseView;
}
public ShowcaseViewBuilder(Activity activity, int showcaseLayoutViewId) {
this.showcaseView = (ShowcaseView) activity.getLayoutInflater().inflate(showcaseLayoutViewId, null);
}
public ShowcaseViewBuilder setShowcaseView(View view) {
showcaseView.setShowcaseView(view);
return this;
}
public ShowcaseViewBuilder setShowcasePosition(float x, float y) {
showcaseView.setShowcasePosition(x, y);
return this;
}
public ShowcaseViewBuilder setShowcaseItem(int itemType, int actionItemId, Activity activity) {
showcaseView.setShowcaseItem(itemType, actionItemId, activity);
return this;
}
public ShowcaseViewBuilder setShowcaseIndicatorScale(float scale) {
showcaseView.setShowcaseIndicatorScale(scale);
return this;
}
public ShowcaseViewBuilder overrideButtonClick(View.OnClickListener listener) {
showcaseView.overrideButtonClick(listener);
return this;
}
public ShowcaseViewBuilder animateGesture(float offsetStartX, float offsetStartY, float offsetEndX, float offsetEndY) {
showcaseView.animateGesture(offsetStartX, offsetStartY, offsetEndX, offsetEndY);
return this;
}
public ShowcaseViewBuilder setTextColors(int titleTextColor, int detailTextColor) {
showcaseView.setTextColors(titleTextColor, detailTextColor);
return this;
}
public ShowcaseViewBuilder setText(String titleText, String subText) {
showcaseView.setText(titleText, subText);
return this;
}
public ShowcaseViewBuilder setText(int titleText, int subText) {
showcaseView.setText(titleText, subText);
return this;
}
public ShowcaseViewBuilder pointTo(View view) {
showcaseView.pointTo(view);
return this;
}
public ShowcaseViewBuilder pointTo(float x, float y) {
showcaseView.pointTo(x, y);
return this;
}
public ShowcaseView build(){
return showcaseView;
}
}