package com.ambergleam.android.photogallery; import android.app.Activity; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.os.Bundle; import android.support.v4.app.Fragment; import com.ambergleam.android.photogallery.controller.PollService; import com.ambergleam.android.photogallery.util.InjectionUtils; import timber.log.Timber; public abstract class BaseFragment extends Fragment { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setRetainInstance(true); setHasOptionsMenu(true); setupInjection(); } @Override public void onResume() { super.onResume(); IntentFilter filter = new IntentFilter(PollService.ACTION_SHOW_NOTIFICATION); getActivity().registerReceiver(mOnShowNotification, filter, PollService.PERM_PRIVATE, null); } @Override public void onPause() { super.onPause(); getActivity().unregisterReceiver(mOnShowNotification); } private void setupInjection() { InjectionUtils.inject(getActivity(), this); } private BroadcastReceiver mOnShowNotification = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { Timber.i("Canceling Notification"); setResultCode(Activity.RESULT_CANCELED); } }; }