package com.marcoscg.easyabout.items; import android.content.Context; import android.graphics.drawable.Drawable; import android.support.annotation.DrawableRes; import android.support.annotation.StringRes; import android.support.v4.content.res.ResourcesCompat; import android.view.View; /** * Created by @MarcosCGdev on 19/02/2018. */ public final class HeaderAboutItem extends AboutItem { private HeaderAboutItem(HeaderAboutItem.Builder builder) { super(builder.title, builder.subtitle, builder.icon, builder.onClickListener, builder.onLongClickListener); } public static class Builder { private Context context; private String title, subtitle; private Drawable icon; private View.OnClickListener onClickListener; private View.OnLongClickListener onLongClickListener; public Builder(Context context) { this.context = context; } public Builder setTitle(String title) { this.title = title; return this; } public Builder setTitle(@StringRes int title) { this.title = context.getResources().getString(title); return this; } public Builder setSubtitle(String subtitle) { this.subtitle = subtitle; return this; } public Builder setSubtitle(@StringRes int subtitle) { this.subtitle = context.getResources().getString(subtitle); return this; } public Builder setIcon(Drawable icon) { this.icon = icon; return this; } public Builder setIcon(@DrawableRes int icon) { this.icon = ResourcesCompat.getDrawable(context.getResources(), icon, null); return this; } public Builder setOnClickListener(View.OnClickListener onClickListener) { this.onClickListener = onClickListener; return this; } public Builder setOnLongClickListener(View.OnLongClickListener onLongClickListener) { this.onLongClickListener = onLongClickListener; return this; } public HeaderAboutItem build() { return new HeaderAboutItem(this); } } }