package com.linroid.sky31radio.ui.base; import android.annotation.TargetApi; import android.os.Build; import android.os.Bundle; import android.support.v4.app.NavUtils; import android.support.v7.app.ActionBarActivity; import android.support.v7.widget.Toolbar; import android.text.TextUtils; import android.view.MenuItem; import com.avos.avoscloud.AVAnalytics; import com.linroid.sky31radio.R; import com.readystatesoftware.systembartint.SystemBarTintManager; import butterknife.ButterKnife; import butterknife.InjectView; import timber.log.Timber; /** * Created by linroid on 1/14/15. */ public abstract class BaseActivity extends ActionBarActivity { @InjectView(R.id.toolbar) protected Toolbar toolbar; SystemBarTintManager tintManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Timber.i("onCreate"); AVAnalytics.trackAppOpened(getIntent()); setContentView(provideContentViewId()); ButterKnife.inject(this); if(toolbar!=null){ setSupportActionBar(toolbar); } if(!TextUtils.isEmpty(NavUtils.getParentActivityName(this))){ getSupportActionBar().setDisplayHomeAsUpEnabled(true); } if(Build.VERSION.SDK_INT <= 19){ tintManager = new SystemBarTintManager(this); tintManager.setStatusBarTintEnabled(true); tintManager.setNavigationBarTintEnabled(true); tintManager.setStatusBarTintColor(getResources().getColor(R.color.primary_dark)); } } @TargetApi(Build.VERSION_CODES.LOLLIPOP) public void setStatusColor(int color){ if(Build.VERSION.SDK_INT > 19){ getWindow().setStatusBarColor(color); }else{ tintManager.setStatusBarTintColor(color); } } public void setNavigationColor(int color){ tintManager.setNavigationBarTintColor(color); } protected abstract int provideContentViewId(); @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == android.R.id.home) { NavUtils.navigateUpTo (this, NavUtils.getParentActivityIntent(this)); return true; } return super.onOptionsItemSelected(item); } @Override protected void onStop() { super.onStop(); Timber.i("onStop"); } @Override public void onDestroy() { super.onDestroy(); Timber.i("onDestroy"); } @Override public void onPause() { super.onPause(); Timber.i("onPause"); AVAnalytics.onPause(this); } @Override protected void onResume() { super.onResume(); AVAnalytics.onResume(this); } @Override public void onStart() { super.onStart(); Timber.i("onStart"); } }