package com.classic.car.ui.base;
import android.content.Context;
import android.os.Bundle;
import android.support.v7.app.ActionBar;
import android.support.v7.widget.Toolbar;
import android.view.MenuItem;
import butterknife.BindView;
import butterknife.ButterKnife;
import com.classic.android.base.BaseActivity;
import com.classic.car.R;
import com.umeng.analytics.MobclickAgent;
import rx.Subscription;
import rx.subscriptions.CompositeSubscription;
public abstract class AppBaseActivity extends BaseActivity {
@BindView(R.id.toolbar) Toolbar mToolbar;
protected Context mAppContext;
private CompositeSubscription mCompositeSubscription;
public Toolbar getToolbar() {
return mToolbar;
}
@Override public void initView(Bundle savedInstanceState) {
ButterKnife.bind(this);
mAppContext = getApplicationContext();
if (mToolbar == null) {
throw new IllegalStateException("No Toolbar");
}
setSupportActionBar(mToolbar);
if (canBack()) {
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) actionBar.setDisplayHomeAsUpEnabled(true);
}
}
protected boolean canBack() {
return false;
}
@Override public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
onBackPressed();
return true;
} else {
return super.onOptionsItemSelected(item);
}
}
@Override public void unRegister() {
if (null != mCompositeSubscription) {
mCompositeSubscription.unsubscribe();
}
}
protected void addSubscription(Subscription subscription) {
if (null == mCompositeSubscription) {
mCompositeSubscription = new CompositeSubscription();
}
mCompositeSubscription.add(subscription);
}
@Override protected void onResume() {
super.onResume();
MobclickAgent.onResume(this);
}
@Override protected void onPause() {
super.onPause();
MobclickAgent.onPause(this);
}
}