package com.partynetwork.iparty.site;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.partynetwork.dataprovider.DataProvider.IJsonResultListener;
import com.partynetwork.dataprovider.json.NetworkEntity;
import com.partynetwork.dataprovider.json.struct.Personal_setUserInfoByKeyRequest;
import com.partynetwork.dataprovider.json.struct.Personal_setUserInfoByKeyResponse;
import com.partynetwork.dataprovider.util.T;
import com.partynetwork.iparty.R;
import com.partynetwork.iparty.R.color;
import com.partynetwork.iparty.app.AppContext;
import com.partynetwork.iparty.info.UserInfo;
import com.baidu.mobstat.StatService;
import com.lidroid.xutils.ViewUtils;
import com.lidroid.xutils.view.annotation.ViewInject;
import com.lidroid.xutils.view.annotation.event.OnClick;
public class SiteUserInfoNameActivity extends Activity implements
IJsonResultListener {
public static final String RESULT_NAME = "result_name";
/**
* 返回按钮
*/
@ViewInject(R.id.menu_head_left)
private LinearLayout backBtn;
/**
* 确定按钮
*/
@ViewInject(R.id.menu_head_right)
private RelativeLayout rightBtn;
/**
* 页面标题
*/
@ViewInject(R.id.menu_head_middle_text)
private TextView headTitle;
/**
* 确定的文本框
*/
@ViewInject(R.id.menu_head_right_tv)
private TextView rightTv;
/**
* 姓名
*/
@ViewInject(R.id.name_et)
private EditText name;
/** 当前登陆用户 */
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.site_info_name);
ViewUtils.inject(this);
init();
}
/**
* 初始化
*/
private void init() {
initData();
}
/**
* 初始化数据
*/
private void initData() {
AppContext context = (AppContext) this.getApplication();
// 姓名
this.name.setText(context.getLoginInfo().getName());
rightBtn.setClickable(false);
name.addTextChangedListener(new TextWatcher() {
public void onTextChanged(CharSequence arg0, int arg1, int arg2,
int arg3) {
}
public void beforeTextChanged(CharSequence arg0, int arg1,
int arg2, int arg3) {
}
public void afterTextChanged(Editable s) {
if (0 < s.toString().length()) {
name.setTextColor(Color.BLACK);
name.setBackgroundResource(R.drawable.stroke_single_select);
rightBtn.setClickable(true);
rightTv.setTextColor(getResources().getColor(
R.color.blue_text));
} else {
name.setTextColor(color.lightgray);
name.setBackgroundResource(R.drawable.stroke_single);
rightBtn.setClickable(false);
rightTv.setTextColor(getResources().getColor(R.color.gray));
}
}
});
}
/**
* 事件监听
*
* @param view
*/
@OnClick({ R.id.menu_head_left, R.id.menu_head_right })
public void onClick(View view) {
switch (view.getId()) {
case R.id.menu_head_left:
// 关闭
finish();
break;
case R.id.menu_head_right:
// 确定
sendRequst();
break;
default:
break;
}
}
/**
* 发送修改请求
*/
private void sendRequst() {
AppContext context = (AppContext) this.getApplication();
Personal_setUserInfoByKeyRequest request = new Personal_setUserInfoByKeyRequest();
request.setUserId(context.getLoginUid());
request.setKey("userName");
request.setValue(this.name.getText().toString());
context.getmDataProvider().getJsonFromNetwork(request, this);
}
/**
* 返回修改后的数据
*
* @param str
*/
private void setResult(String str) {
AppContext context = (AppContext) this.getApplication();
context.getLoginInfo().setName(str);
Intent intent = new Intent();
intent.putExtra(RESULT_NAME, str);
this.setResult(SiteUserInfoActivity.NAME_CODE, intent);
finish();
}
public void onNetworkRequest() {
}
public void onResultSuccess(NetworkEntity entity) {
if (entity.getRequest().getAction()
.equals(new Personal_setUserInfoByKeyRequest().getAction())) {
Personal_setUserInfoByKeyResponse sResponse = (Personal_setUserInfoByKeyResponse) entity
.getResponse();
UserInfo info = sResponse.getDetails();
String name = this.name.getText().toString();
if (info != null) {
name = info.getUserName();
}
setResult(name);
}
}
public void onResultFail(String result) {
T.showTips(this, R.drawable.tips_error, result);
}
@Override
protected void onResume() {
StatService.onResume(this);
super.onResume();
}
@Override
protected void onPause() {
StatService.onPause(this);
super.onPause();
}
}