package cn.shangyu.gdxzExpert.activity; import android.Manifest; import android.content.Context; import android.os.Build; import android.view.Gravity; import android.view.View; import android.view.inputmethod.InputMethodManager; import android.widget.Button; import android.widget.EditText; import androidx.annotation.NonNull; import com.github.dfqin.grantor.PermissionListener; import com.github.dfqin.grantor.PermissionsUtil; import com.google.gson.Gson; import com.gyf.immersionbar.ImmersionBar; import com.hjq.window.EasyWindow; import java.util.HashMap; import java.util.Map; import cn.shangyu.gdxzExpert.R; import cn.shangyu.gdxzExpert.base.BaseActivity; import cn.shangyu.gdxzExpert.bean.BaseBean; import cn.shangyu.gdxzExpert.http.OnCallBackFromNet; import cn.shangyu.gdxzExpert.utils.KeDaXunFeiUtil; import cn.shangyu.gdxzExpert.utils.StringUtil; import cn.shangyu.gdxzExpert.utils.ToastUtil; import cn.shangyu.gdxzExpert.utils.UIUtils; import cn.shangyu.gdxzExpert.utils.Url; import cn.shangyu.gdxzExpert.widget.LoadingPage; /** * Created by wangchengxin on 2019/1/14. */ public class OutpatientInfoActivity extends BaseActivity implements OnCallBackFromNet{ private EditText et_feedbook; private Button mBt_get_Voice; private Button bt_submit; private String note; private static final int addOutPatient = 1; private static final int addOutPatient1 = 101; private String uuid; private KeDaXunFeiUtil VoiceUtil; @Override public void setTitle() { top_title.setText("门诊信息"); } @Override public View onCreateSuccessedView() { ImmersionBar.with(this).keyboardEnable(true).statusBarDarkFont(true).titleBar(mToolbar).init(); View view = UIUtils.inflate(R.layout.activity_zhibo_feedbook); et_feedbook = (EditText) view.findViewById(R.id.et_feedbook); et_feedbook.setHint("您可以在这里填写想告诉患者的停诊补充信息,最多填写300个字哦~"); mBt_get_Voice = (Button) view.findViewById(R.id.bt_get_voice); mBt_get_Voice.setOnClickListener(this); // 字数限制的 // et_feedbook.addTextChangedListener(tw); bt_submit = (Button) view.findViewById(R.id.bt_submit); bt_submit.setOnClickListener(this); note = getIntent().getExtras().getString("note"); if (!StringUtil.isEmpty(note)){ et_feedbook.setText(note); uuid = getIntent().getExtras().getString("uuid"); } return view; } @Override public LoadingPage.ResultState onLoad() { return LoadingPage.ResultState.STATE_SUCCESSED; } @Override protected void processClick(View v) { switch (v.getId()){ case R.id.bt_get_voice: if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { if (PermissionsUtil.hasPermission(this, Manifest.permission.RECORD_AUDIO)) { //有访问录音 VoiceUtil = new KeDaXunFeiUtil(OutpatientInfoActivity.this, et_feedbook); } else { EasyWindow.with(OutpatientInfoActivity.this).setGravity(Gravity.TOP).setYOffset(200).setWidth(1000) .setContentView(R.layout.float_top_dialog_record).show(); PermissionsUtil.requestPermission(this, new PermissionListener() { @Override public void permissionGranted(@NonNull String[] permissions) { EasyWindow.cancelAll(); //用户授予了访问录音的权限 VoiceUtil = new KeDaXunFeiUtil(OutpatientInfoActivity.this, et_feedbook); } @Override public void permissionDenied(@NonNull String[] permissions) { EasyWindow.cancelAll(); //用户拒绝了访问录音的申请 } }, new String[]{Manifest.permission.RECORD_AUDIO}); } }else { VoiceUtil = new KeDaXunFeiUtil(OutpatientInfoActivity.this, et_feedbook); } break; case R.id.bt_submit: View view = getWindow().peekDecorView(); if (view != null) { InputMethodManager inputmanger = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); inputmanger.hideSoftInputFromWindow(view.getWindowToken(), 0); } String trim = et_feedbook.getText().toString().trim(); if (StringUtil.isEmpty(trim)){ ToastUtil.showMessage("请输入信息"); return; } if (trim.equals(note)){ ToastUtil.showMessage("未修改信息内容"); return; } Map param1 = new HashMap<>(); param1.put("workplace_uuid",""); param1.put("week",""); param1.put("day",""); param1.put("type","2"); param1.put("note",trim); param1.put("uuid",""); sendJsonPostParamtoNetSignMD5(Url.addOutPatientA, param1, addOutPatient1, OutpatientInfoActivity.this); Map param = new HashMap<>(); param.put("notice",trim); if (!StringUtil.isEmpty(note)){ param.put("uuid",uuid); sendJsonPostParamtoNetSignMD5(Url.mailanNoticeUpate, param, addOutPatient, OutpatientInfoActivity.this); }else { sendJsonPostParamtoNetSignMD5(Url.mailanNoticeAdd, param, addOutPatient, OutpatientInfoActivity.this); } break; } } @Override public void onCallbackFromThread(String resultJson) { } @Override public void onCallBackFromThread(String resultJson, int resultCode) { switch (resultCode){ case addOutPatient1: break; case addOutPatient: Gson gson1 = new Gson(); BaseBean fromJson1 = gson1.fromJson(resultJson, BaseBean.class); if (fromJson1!=null&&"200".equals(fromJson1.code)){ finish(); } ToastUtil.showMessage(fromJson1.message); break; } } @Override protected void onDestroy() { if (VoiceUtil != null) { VoiceUtil.dissDialog(); } super.onDestroy(); } }