package fr.eyal.datalib.sample.netflix.fragment; import java.util.ArrayList; import android.os.Bundle; import android.support.v4.app.Fragment; import fr.eyal.datalib.sample.netflix.data.service.NetflixDataManager; import fr.eyal.lib.data.service.DataManager.OnDataListener; import fr.eyal.lib.util.Out; public abstract class NetflixFragment extends Fragment implements OnDataListener { /** * NetflixDataManager of the project */ protected NetflixDataManager mDataManager; /** * List of requests currently running for this activity */ final protected ArrayList<Integer> mRequestIds = new ArrayList<Integer>(); @Override public void onCreate(Bundle savedInstanceState) { mDataManager = NetflixDataManager.getInstance(getActivity()); super.onCreate(savedInstanceState); } @Override public void onResume() { if(mRequestIds != null && mDataManager != null){ // we launch the request's data reception synchronized (mRequestIds) { int size = mRequestIds.size(); for (int i = 0; i < size; i++) { Integer requestId = mRequestIds.get(i); Out.w("", "RESUME" + requestId + " " + mRequestIds); if(requestId != null) mDataManager.addOnDataListener(requestId, this); else Out.e("", "REQUEST ID NULL !!!!!!!!!!!!!"); } } } super.onResume(); } @Override public void onPause() { if(mRequestIds != null && mDataManager != null){ // we stop the request's data reception synchronized (mRequestIds) { int size = mRequestIds.size(); for (int i = 0; i < size; i++) { Integer requestId = mRequestIds.get(i); Out.e("", "PAUSE " + requestId + " " + mRequestIds); if(requestId != null) mDataManager.removeOnDataListener(requestId, this); else Out.e("", "REQUEST ID NULL !!!!!!!!!!!!!"); } } } super.onPause(); } }