package com.cheikh.lazywaimai.ui.activity; import android.text.TextUtils; import android.view.Menu; import android.view.MenuItem; import android.widget.EditText; import android.widget.TextView; import com.cheikh.lazywaimai.R; import com.cheikh.lazywaimai.base.BaseActivity; import com.cheikh.lazywaimai.base.BaseController; import com.cheikh.lazywaimai.context.AppContext; import com.cheikh.lazywaimai.controller.MainController; import com.cheikh.lazywaimai.model.bean.Feedback; import com.cheikh.lazywaimai.model.bean.ResponseError; import com.cheikh.lazywaimai.ui.Display; import com.cheikh.lazywaimai.util.ContentView; import com.cheikh.lazywaimai.util.SystemUtil; import com.cheikh.lazywaimai.util.ToastUtil; import butterknife.Bind; import butterknife.OnTextChanged; /** * author: cheikh.wang on 17/1/10 * email: wanghonghi@126.com */ @ContentView(R.layout.activity_feedback) public class FeedbackActivity extends BaseActivity<MainController.MainUiCallbacks> implements MainController.MainFeedbackUi { @Bind(R.id.edit_content) EditText mContentEdit; @Bind(R.id.txt_count) TextView mContentCountTxt; @Bind(R.id.edit_contact_way) EditText mContactWayEdit; private MenuItem mSubmitMenuItem; @Override protected BaseController getController() { return AppContext.getContext().getMainController(); } private void updateSubmitMenuItemState(boolean enable) { mSubmitMenuItem.setEnabled(enable); } @OnTextChanged(R.id.edit_content) public void onContentTextChange(CharSequence s) { int length = s != null ? s.length() : 0; mContentCountTxt.setText(getString(R.string.label_remark_limit_count, length)); if (mSubmitMenuItem == null) { invalidateOptionsMenu(); } updateSubmitMenuItemState(length != 0); } @Override public void onFeedbackFinish() { cancelLoading(); ToastUtil.showToast(R.string.toast_success_submit_feedback); Display display = getDisplay(); if (display != null) { display.finishActivity(); } } @Override public void onResponseError(ResponseError error) { cancelLoading(); ToastUtil.showToast(error); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_feedback, menu); mSubmitMenuItem = menu.findItem(R.id.menu_submit); updateSubmitMenuItemState(!TextUtils.isEmpty(mContentEdit.getText().toString())); return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == R.id.menu_submit) { feedback(); return true; } return super.onOptionsItemSelected(item); } /** * 提交反馈 */ private void feedback() { // 隐藏软键盘 SystemUtil.hideKeyBoard(this); String content = mContentEdit.getText().toString(); String contactWay = mContactWayEdit.getText().toString(); // 验证反馈内容是否为空 if (TextUtils.isEmpty(content)) { ToastUtil.showToast(R.string.toast_error_empty_feedback_content); return; } Feedback feedback = new Feedback(); feedback.setContent(content); feedback.setContactWay(contactWay); showLoading(R.string.label_being_something); getCallbacks().feedback(feedback); } }