package me.storm.ninegag.ui; import android.app.ActionBar; import android.content.Intent; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.view.MenuItem; import android.view.View; import com.android.volley.Request; import com.android.volley.Response; import com.android.volley.VolleyError; import com.romainpiel.shimmer.Shimmer; import com.romainpiel.shimmer.ShimmerTextView; import me.storm.ninegag.R; import me.storm.ninegag.data.RequestManager; import me.storm.ninegag.util.ToastUtils; /** * Created by storm on 14-3-24. */ public abstract class BaseActivity extends FragmentActivity { protected ActionBar actionBar; private ShimmerTextView mActionBarTitle; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); initActionBar(); } private void initActionBar() { actionBar = getActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); actionBar.setDisplayShowHomeEnabled(true); actionBar.setHomeButtonEnabled(true); actionBar.setDisplayShowTitleEnabled(false); actionBar.setDisplayShowCustomEnabled(true); View view = View.inflate(this, R.layout.actionbar_title, null); mActionBarTitle = (ShimmerTextView) view.findViewById(R.id.tv_shimmer); new Shimmer().start(mActionBarTitle); actionBar.setCustomView(view); } public void setTitle(int resId) { mActionBarTitle.setText(resId); } public void setTitle(CharSequence text) { mActionBarTitle.setText(text); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: onBackPressed(); return true; case R.id.action_settings: startActivity(new Intent(this, PreferenceActivity.class)); return true; default: return super.onOptionsItemSelected(item); } } @Override public void onDestroy() { super.onDestroy(); RequestManager.cancelAll(this); } protected void executeRequest(Request<?> request) { RequestManager.addRequest(request, this); } protected Response.ErrorListener errorListener() { return new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { ToastUtils.showLong(error.getMessage()); } }; } }