CrashDialogPresenter.java 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. package com.edufound.reader.presenter;
  2. import android.content.ComponentName;
  3. import android.content.Context;
  4. import android.content.Intent;
  5. import android.content.ServiceConnection;
  6. import android.os.IBinder;
  7. import com.chivox.aiengine.EvalResult;
  8. import com.edufound.reader.base.BasePresenter;
  9. import com.edufound.reader.contract.CrashDialogContract;
  10. import com.edufound.reader.services.RecordServices;
  11. import com.orhanobut.logger.Logger;
  12. public class CrashDialogPresenter extends BasePresenter<CrashDialogContract.View> implements CrashDialogContract.Presenter {
  13. RecordServices mRecordServices;
  14. public CrashDialogPresenter() {
  15. }
  16. @Override
  17. public void bindRecordServices() {
  18. if (mRecordServices == null) {
  19. Intent intent = new Intent();
  20. intent.setClass(mView.getActivity(), RecordServices.class);
  21. mView.getActivity().bindService(intent, recordServicesConn, Context.BIND_AUTO_CREATE);
  22. }
  23. }
  24. @Override
  25. public void startRecord(String name, String refText) {
  26. mRecordServices.startRecord(mView.getActivity(), name, refText);
  27. }
  28. @Override
  29. public void stopRecord() {
  30. mRecordServices.stopRecord();
  31. }
  32. @Override
  33. public void rePlayRecord() {
  34. mRecordServices.replayRecord();
  35. }
  36. @Override
  37. public void activityDestory() {
  38. mRecordServices.unbindService(recordServicesConn);
  39. if (mRecordServices != null) {
  40. mView.getActivity().unbindService(recordServicesConn);
  41. }
  42. }
  43. private ServiceConnection recordServicesConn = new ServiceConnection() {
  44. @Override
  45. public void onServiceConnected(ComponentName componentName, IBinder iBinder) {
  46. mRecordServices = ((RecordServices.RecordServicesBind) iBinder).getService();
  47. mRecordServices.setRecordCallBack(new RecordServices.RecordCallBack() {
  48. @Override
  49. public void onRecordStart() {
  50. Logger.e("录音开始");
  51. }
  52. @Override
  53. public void onRecordStop(int type, String tokenId, EvalResult result) {
  54. Logger.e("录音停止");
  55. }
  56. @Override
  57. public void onRecordCancel() {
  58. Logger.e("录音取消");
  59. }
  60. });
  61. }
  62. @Override
  63. public void onServiceDisconnected(ComponentName componentName) {
  64. mRecordServices = null;
  65. }
  66. };
  67. }