package com.edufound.reader.presenter; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.ServiceConnection; import android.os.IBinder; import com.chivox.aiengine.EvalResult; import com.edufound.reader.base.BasePresenter; import com.edufound.reader.contract.CrashDialogContract; import com.edufound.reader.services.RecordServices; import com.orhanobut.logger.Logger; public class CrashDialogPresenter extends BasePresenter implements CrashDialogContract.Presenter { RecordServices mRecordServices; public CrashDialogPresenter() { } @Override public void bindRecordServices() { if (mRecordServices == null) { Intent intent = new Intent(); intent.setClass(mView.getActivity(), RecordServices.class); mView.getActivity().bindService(intent, recordServicesConn, Context.BIND_AUTO_CREATE); } } @Override public void startRecord(String name, String refText) { mRecordServices.startRecord(mView.getActivity(), name, refText); } @Override public void stopRecord() { mRecordServices.stopRecord(); } @Override public void rePlayRecord() { mRecordServices.replayRecord(); } @Override public void activityDestory() { mRecordServices.unbindService(recordServicesConn); if (mRecordServices != null) { mView.getActivity().unbindService(recordServicesConn); } } private ServiceConnection recordServicesConn = new ServiceConnection() { @Override public void onServiceConnected(ComponentName componentName, IBinder iBinder) { mRecordServices = ((RecordServices.RecordServicesBind) iBinder).getService(); mRecordServices.setRecordCallBack(new RecordServices.RecordCallBack() { @Override public void onRecordStart() { Logger.e("录音开始"); } @Override public void onRecordStop(int type, String tokenId, EvalResult result) { Logger.e("录音停止"); } @Override public void onRecordCancel() { Logger.e("录音取消"); } }); } @Override public void onServiceDisconnected(ComponentName componentName) { mRecordServices = null; } }; }