package com.partynetwork.iparty.site;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.TextView;
import com.lidroid.xutils.util.LogUtils;
import com.partynetwork.dataprovider.DataProvider.IJsonResultListener;
import com.partynetwork.dataprovider.json.NetworkEntity;
import com.partynetwork.dataprovider.json.struct.Account_getAccountInfoRequest;
import com.partynetwork.dataprovider.json.struct.Account_getAccountInfoResponse;
import com.partynetwork.dataprovider.util.Util;
import com.partynetwork.iparty.R;
import com.partynetwork.iparty.app.AppContext;
import com.partynetwork.iparty.app.util.StringUtils;
import com.partynetwork.iparty.info.AccountInfo;
import com.baidu.mobstat.StatService;
/**
* 设置—账户管理
*
* @author DongCeMedia
*
*/
public class SiteAccountActivity extends Activity implements
IJsonResultListener, OnClickListener {
private TextView balance; // 余额
private TextView bankcard; // 银行卡
private TextView password;
private AccountInfo info; // 数据源
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.site_account);
initView();
}
private void initView() {
initHeadView();
initBody();
sendRequest();
}
private void initBody() {
findViewById(R.id.balance_rl).setOnClickListener(this);
findViewById(R.id.recharge_rl).setOnClickListener(this);
findViewById(R.id.deposit_rl).setOnClickListener(this);
findViewById(R.id.change_password_rl).setOnClickListener(this);
balance = (TextView) findViewById(R.id.balance);
bankcard = (TextView) findViewById(R.id.bankcard);
password = (TextView) findViewById(R.id.change_password_tv);
}
private void initHeadView() {
findViewById(R.id.menu_head_left).setOnClickListener(this);
findViewById(R.id.menu_head_middle).setOnClickListener(this);
findViewById(R.id.menu_head_right).setOnClickListener(this);
ImageView mHeadLeftImage = (ImageView) findViewById(R.id.menu_head_left_iv);
mHeadLeftImage.setImageResource(R.drawable.menu_head_back);
TextView mHeadTitle = (TextView) findViewById(R.id.menu_head_middle_text);
mHeadTitle.setText("账户管理");
mHeadTitle.setTextColor(Color.BLACK);
ImageView mHeadMiddleImage = (ImageView) findViewById(R.id.menu_head_middle_img);
mHeadMiddleImage.setVisibility(View.GONE);
ImageView mHeadRightImage = (ImageView) findViewById(R.id.menu_head_right_iv);
mHeadRightImage.setVisibility(View.INVISIBLE);
}
/**
* 发送数据请求
*/
private void sendRequest() {
AppContext context = (AppContext) getApplication();
Account_getAccountInfoRequest request = new Account_getAccountInfoRequest();
request.setUserId(context.getLoginUid());
context.getmDataProvider().getJsonFromNetwork(request, this);
}
/**
* 初始化数据
*/
private void initData() {
if (info == null) {
return;
}
// 余额
LogUtils.i("余额:" + info.getAccountBalance());
float b = StringUtils.toFloat(info.getAccountBalance());
balance.setText(b + "");
// 银行卡
int size = 0;
if (info.getBankCardArray() != null) {
size = info.getBankCardArray().length;
}
if (size == 0) {
bankcard.setText("我的银行卡");
} else {
bankcard.setText("我的银行卡(" + size + ")");
}
}
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.menu_head_left:
// 关闭
finish();
break;
case R.id.balance_rl:
// 账户余额
break;
case R.id.recharge_rl:
// 充值
Intent intent = new Intent(this, SiteAccountRechargeActivity.class);
startActivity(intent);
break;
case R.id.deposit_rl:
// 提现
Intent checkout = new Intent(this,
SiteAccountCheckoutActivity.class);
startActivity(checkout);
break;
case R.id.bankcard_rl:
// 银行卡
break;
case R.id.change_password_rl:
// 修改密码
if (info == null) {
return;
}
if (StringUtils.isEmpty(info.getAccountPaymentPassword())) {
Intent passwrodSet1 = new Intent(this,
SiteAccountPasswordSet1Activity.class);
startActivity(passwrodSet1);
} else {
Intent passwrodChange = new Intent(this,
SiteAccountPasswordChangeActivity.class);
startActivity(passwrodChange);
}
break;
default:
break;
}
}
public void onNetworkRequest() {
}
public void onResultSuccess(NetworkEntity entity) {
if (entity.getRequest().getAction()
.equals(new Account_getAccountInfoRequest().getAction())) {
Account_getAccountInfoResponse response = (Account_getAccountInfoResponse) entity
.getResponse();
info = response.getDetails();
initData();
}
}
public void onResultFail(String result) {
Util.showMsg(this, result);
}
@Override
protected void onResume() {
super.onResume();
sendRequest();
StatService.onResume(this);
}
@Override
protected void onPause() {
StatService.onPause(this);
super.onPause();
}
}