package com.partynetwork.iparty.login;
import com.partynetwork.dataprovider.util.StringUtil;
import com.partynetwork.iparty.R;
import com.partynetwork.iparty.app.api.URLs;
import com.partynetwork.iparty.helper.IntentHelper;
import com.partynetwork.iparty.info.RegisterUserInfo;
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;
import eu.inmite.android.lib.dialogs.ISimpleDialogListener;
import eu.inmite.android.lib.dialogs.SimpleDialogFragment;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.View;
import android.view.Window;
import android.widget.EditText;
import android.widget.TextView;
/**
* 注册界面1
*
* @author sys
* @version 1.0
* @since 2013.09.27
*/
public class RegisterOneActivity extends FragmentActivity implements
ISimpleDialogListener {
/* 控件声明注册 */
// 返回按钮
@ViewInject(R.id.head_left_tv)
private TextView left_tv;
// 注册的类别标题
@ViewInject(R.id.menu_head_middle_text)
private TextView title;
// 下一步按钮
@ViewInject(R.id.head_right_tv)
private TextView right_tv;
// 输入框的类别图标
@ViewInject(R.id.register_type_tv)
private TextView type_tv;
// 内容输入框
@ViewInject(R.id.register_type_et)
private EditText type_et;
// 类别说明文字
@ViewInject(R.id.register_explanation_tv)
private TextView explanation_tv;
// 是否同意条款选择文本
@ViewInject(R.id.register_clause_check_tv)
private TextView clause_check;
// 查看条款文本按钮
@ViewInject(R.id.register_phone_number_tv)
private TextView clause;
private String typeContent;
// 传递的用户
private RegisterUserInfo user;
private boolean isGreet = true;
// 注册类别
private int registerType;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTheme(R.style.DefaultLightTheme);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.register_one);
ViewUtils.inject(this);
init();
}
/**
* 所有数据初始化
*/
private void init() {
user = new RegisterUserInfo();
initType();
}
/**
* 初始化注册类别数据
*/
private void initType() {
registerType = getIntent().getIntExtra("registerType", 0);
if (registerType == 0) {
title.setText("手机号");
type_tv.setText("+86");
Drawable drawable = getResources().getDrawable(
R.drawable.register_phone);
drawable.setBounds(0, 0, drawable.getMinimumWidth(),
drawable.getMinimumHeight());
type_tv.setCompoundDrawables(drawable, null, null, null);
type_et.setHint("输入手机号码");
explanation_tv.setText("输入你的手机号码,免费注册iParty,iParty不会在任何地方泄露你的号码。");
} else if (registerType == 1) {
title.setText("邮箱");
type_tv.setText("");
Drawable drawable = getResources().getDrawable(
R.drawable.register_email);
drawable.setBounds(0, 0, drawable.getMinimumWidth(),
drawable.getMinimumHeight());
type_tv.setCompoundDrawables(drawable, null, null, null);
type_et.setHint("输入邮箱");
explanation_tv.setText("输入你的邮箱,免费注册iParty。");
} else if (registerType == 2) {
title.setText("重设密码");
type_tv.setText("+86");
Drawable drawable = getResources().getDrawable(
R.drawable.register_phone);
drawable.setBounds(0, 0, drawable.getMinimumWidth(),
drawable.getMinimumHeight());
type_tv.setCompoundDrawables(drawable, null, null, null);
type_et.setHint("输入手机号码");
explanation_tv.setText("输入与iparty账号绑定的手机号。");
clause_check.setVisibility(View.GONE);
clause.setVisibility(View.GONE);
} else if (registerType == 3) {
title.setText("重设密码");
type_tv.setText("");
Drawable drawable = getResources().getDrawable(
R.drawable.register_email);
drawable.setBounds(0, 0, drawable.getMinimumWidth(),
drawable.getMinimumHeight());
type_tv.setCompoundDrawables(drawable, null, null, null);
type_et.setHint("输入邮箱");
explanation_tv.setText("输入与iparty账号绑定的邮箱。");
clause_check.setVisibility(View.GONE);
clause.setVisibility(View.GONE);
}
}
/**
* 事件监听
*
* @param v
*/
@OnClick({ R.id.head_left_tv, R.id.head_right_tv,
R.id.register_clause_check_tv, R.id.register_phone_number_tv })
public void btnClick(View v) {
switch (v.getId()) {
case R.id.head_left_tv:
finish();
break;
case R.id.register_clause_check_tv:
if (isGreet) {
Drawable drawable = getResources().getDrawable(
R.drawable.register_clause_unchecked);
// / 这一步必须要做,否则不会显示.
drawable.setBounds(0, 0, drawable.getMinimumWidth(),
drawable.getMinimumHeight());
clause_check.setCompoundDrawables(drawable, null, null, null);
isGreet = false;
} else {
Drawable drawable = getResources().getDrawable(
R.drawable.register_clause_checked);
// / 这一步必须要做,否则不会显示.
drawable.setBounds(0, 0, drawable.getMinimumWidth(),
drawable.getMinimumHeight());
clause_check.setCompoundDrawables(drawable, null, null, null);
isGreet = true;
}
break;
case R.id.head_right_tv:
if (isGreet) {
typeContent = type_et.getText().toString();
if (registerType == 0 || registerType == 2) {
if (StringUtil.filterPhoneNumber(typeContent)) {
user.setUserPhone(typeContent);
user.setRegisterType(registerType);
showDialog();
} else {
SimpleDialogFragment
.createBuilder(this,
getSupportFragmentManager())
.setMessage("电话号码有误!")
.setNegativeButtonText("确定").show();
}
} else if (registerType == 1 || registerType == 3) {
if (StringUtil.filterEmail(typeContent)) {
user.setUserEmail(typeContent);
user.setRegisterType(registerType);
showDialog();
} else {
SimpleDialogFragment
.createBuilder(this,
getSupportFragmentManager())
.setMessage("邮箱有误!")
.setNegativeButtonText("确定").show();
}
}
} else {
SimpleDialogFragment
.createBuilder(this, getSupportFragmentManager())
.setMessage("请认真阅读使用条款,并同意条款!")
.setNegativeButtonText("确定").show();
}
break;
case R.id.register_phone_number_tv:
IntentHelper.goWebActivity(this, "使用条款", URLs.URL_API_HOST
+ "/Ihelp/service/");
break;
default:
break;
}
}
/**
* 显示弹出菜单
*/
private void showDialog() {
String message = "";
if (registerType == 0 || registerType == 2) {
message = "我们将发送验证短信到这个号码:\n" + typeContent;
} else if (registerType == 1 || registerType == 3) {
message = "我们将发送验证码到这个邮箱:\n" + typeContent;
}
SimpleDialogFragment.createBuilder(this, getSupportFragmentManager())
.setMessage(message).setPositiveButtonText("取消")
.setNegativeButtonText("确定").setRequestCode(4).show();
}
@Override
protected void onResume() {
StatService.onResume(this);
super.onResume();
}
@Override
public void onPause() {
StatService.onPause(this);
super.onResume();
}
@Override
public void onPositiveButtonClicked(int requestCode) {
}
@Override
public void onNegativeButtonClicked(int requestCode) {
if (requestCode == 4) {
// 跳到下一个界面
Intent intent = new Intent(RegisterOneActivity.this,
RegisterTwoActivity.class);
intent.putExtra("user", user);
intent.putExtra("registerType", registerType);
startActivity(intent);
return;
}
}
}