package com.cheikh.lazywaimai.base;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import com.cheikh.lazywaimai.context.AppContext;
import com.cheikh.lazywaimai.model.bean.ResponseError;
import com.cheikh.lazywaimai.ui.Display;
/**
* author: cheikh.wang on 17/1/22
* email: wanghonghi@126.com
*/
public abstract class CoreFragment<UC> extends Fragment implements BaseController.Ui<UC> {
private UC mCallbacks;
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getController().attachUi(this);
}
@Override
public void onResume() {
super.onResume();
getController().startUi(this);
}
@Override
public void onDestroy() {
super.onDestroy();
getController().detachUi(this);
AppContext.getContext().getRefWatcher().watch(this);
}
@Override
public UC getCallbacks() {
return mCallbacks;
}
@Override
public void setCallbacks(UC callbacks) {
mCallbacks = callbacks;
}
@Override
public void onResponseError(ResponseError error) {}
protected abstract BaseController getController();
protected Display getDisplay() {
return ((BaseActivity) getActivity()).getDisplay();
}
}