package de.devland.masterpassword.base.ui; import android.content.Intent; import android.os.Bundle; import android.support.design.widget.Snackbar; import android.support.v7.app.AppCompatActivity; import com.squareup.otto.Bus; import de.devland.masterpassword.base.BaseApp; import de.devland.masterpassword.base.util.RequestCodeManager; /** * Created by David Kunzler on 23.10.2014. */ public abstract class BaseActivity extends AppCompatActivity { public static final String EXTRA_SNACKBAR_MESSAGE = "de.devland.masterpassword.shared.ui.BaseActivity.MESSAGE"; protected Bus bus; @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); RequestCodeManager.INSTANCE.execute(requestCode, resultCode, data); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); bus = BaseApp.get().getBus(); } @Override protected void onResume() { super.onResume(); BaseApp.get().getBus().register(this); BaseApp.get().setCurrentForegroundActivity(this); Bundle extras = getIntent().getExtras(); if (extras != null) { if (extras.containsKey(EXTRA_SNACKBAR_MESSAGE)) { String message = extras.getString(EXTRA_SNACKBAR_MESSAGE); Snackbar.make(findViewById(android.R.id.content), message, Snackbar.LENGTH_LONG).show(); extras.remove(EXTRA_SNACKBAR_MESSAGE); } } } @Override protected void onPause() { super.onPause(); BaseApp.get().getBus().unregister(this); } }