package com.kickstarter.ui.toolbars;
import android.content.Context;
import android.support.annotation.CallSuper;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v7.widget.Toolbar;
import android.util.AttributeSet;
import android.widget.TextView;
import com.kickstarter.R;
import com.kickstarter.libs.BaseActivity;
import butterknife.Bind;
import butterknife.ButterKnife;
import butterknife.OnClick;
import rx.Subscription;
import rx.subscriptions.CompositeSubscription;
public class KSToolbar extends Toolbar {
@Nullable @Bind(R.id.title_text_view) TextView titleTextView;
private final CompositeSubscription subscriptions = new CompositeSubscription();
public KSToolbar(final @NonNull Context context) {
super(context);
}
public KSToolbar(final @NonNull Context context, final @Nullable AttributeSet attrs) {
super(context, attrs);
}
public KSToolbar(final @NonNull Context context, final @Nullable AttributeSet attrs, final int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@Nullable @OnClick(R.id.back_button)
protected void backButtonClick() {
((BaseActivity) getContext()).back();
}
/**
* If the toolbar has a textview with id title_text_view, set its title.
*/
public void setTitle(final @NonNull String title) {
if (titleTextView != null) {
titleTextView.setText(title);
}
}
@CallSuper
@Override
protected void onFinishInflate() {
super.onFinishInflate();
ButterKnife.bind(this);
}
@CallSuper
@Override
protected void onAttachedToWindow() {
super.onAttachedToWindow();
}
@CallSuper
@Override
protected void onDetachedFromWindow() {
super.onDetachedFromWindow();
subscriptions.clear();
}
protected final void addSubscription(final @NonNull Subscription subscription) {
subscriptions.add(subscription);
}
}