package com.cheng.multithreadstudy.sunframework.base; import android.content.Context; import android.os.Bundle; import com.cheng.multithreadstudy.sunframework.proxy.MessageProxy; import com.cheng.multithreadstudy.sunframework.proxy.ModelMap; import com.cheng.multithreadstudy.sunframework.proxy.common.IActivityLifecycle; import com.cheng.multithreadstudy.sunframework.proxy.handler.AsyncObjectHandler; import com.cheng.multithreadstudy.sunframework.proxy.helper.ObjectHelper; import com.cheng.multithreadstudy.sunframework.proxy.common.IRefreshBack; /** * Created by sunfusheng on 15/11/5. */ public class BaseAsyncObject<T extends BaseControl> implements IActivityLifecycle, IRefreshBack { protected T mControl; protected MessageProxy messageProxy; protected ModelMap mModel; private ObjectHelper mHelper; public void initParams() { mModel = mHelper.getModelMap(); messageProxy = mHelper.getMessageProxy(); mControl = (T) mHelper.getControl(); } public void initParamManually() { mHelper = new ObjectHelper(this, new AsyncObjectHandler(this)); mHelper.onCreate(); initParams(); } public void onCreate(Context context) { initParamManually(); } @Override public void onCreate() { initParamManually(); } @Override public void onStart() { mHelper.onStart(); } @Override public void onResume() { mHelper.onResume(); } @Override public void onPause() { mHelper.onPause(); } @Override public void onStop() { mHelper.onStop(); } @Override public void onDestory() { mHelper.onDestroy(); } public Context getContext() { return mHelper.getContext(); } @Override public void onRefresh(int requestCode, Bundle bundle) { } }