package com.partynetwork.iparty.iparty;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.partynetwork.dataprovider.util.StringUtil;
import com.partynetwork.iparty.R;
import com.partynetwork.myview.mytoast.OkPopup;
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 IpartyPublishPurviewActivity extends Activity {
/**
* 用来给activityrequest用的识别符
*/
public static final int PURVIEW_REQUEST_CODE = 90;
public static final String PURVIEW = "purview";
public static final String PASSWORD = "password";
public static final int OPEN = 0;
public static final int FRIEND = 1;
public static final int INVITE = 2;
public static final int PASSWORDS = 3;
/**
* 公开权限
*/
@ViewInject(R.id.open)
private TextView open;
/**
* i好友可见
*/
@ViewInject(R.id.ifriend)
private TextView friend;
/**
* 邀请者可见
*/
@ViewInject(R.id.invite)
private TextView invite;
/**
* 密码可见
*/
@ViewInject(R.id.password)
private TextView password;
/**
* 密码输入框1
*/
@ViewInject(R.id.password_et1)
private EditText passwordEt1;
/**
* 密码输入框2
*/
@ViewInject(R.id.password_et2)
private EditText passwordEt2;
/**
* 密码的伸缩空间
*/
@ViewInject(R.id.password_ll)
private LinearLayout body;
private List<TextView> tvList = new ArrayList<TextView>();
/**
* 公开范围(0:所有;1:邀请的好友可见;2:仅i好友可见;3:密码可见)
*/
private int purviewPosition;
/** 消息提示框 */
private OkPopup mOkPopup;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.iparty_publish_purview);
ViewUtils.inject(this);
init();
}
/**
* 初始化数据、控件
*/
private void init() {
tvList.add(open);
tvList.add(friend);
tvList.add(invite);
tvList.add(password);
mOkPopup = new OkPopup(this);
}
/**
* 设置监听
*
* @param view
*/
@OnClick({ R.id.menu_head_left, R.id.menu_head_right, R.id.open,
R.id.ifriend, R.id.invite, R.id.password })
public void onClick(View view) {
switch (view.getId()) {
case R.id.menu_head_left:
// 返回
finish();
break;
case R.id.menu_head_right:
// 完成
Intent intent = new Intent();
intent.putExtra(PURVIEW, purviewPosition);
if (purviewPosition == PASSWORDS) {
// 判断密码
String pd1 = passwordEt1.getText().toString();
String pd2 = passwordEt2.getText().toString();
if (pd1 == null || pd2 == null || pd1.equals("")
|| pd2.equals("")) {
mOkPopup.setTitle("请输入密码!");
mOkPopup.showAtLocation(invite);
return;
}
if (!pd1.equals(pd2)) {
mOkPopup.setTitle("密码不一致!");
mOkPopup.showAtLocation(invite);
return;
}
if (!StringUtil.filterPassword(pd1)) {
mOkPopup.setTitle("密码格式不正确!");
mOkPopup.showAtLocation(invite);
return;
}
intent.putExtra(PASSWORD, pd1);
} else {
intent.putExtra(PASSWORD, "");
}
this.setResult(PURVIEW_REQUEST_CODE, intent);
finish();
break;
case R.id.open:
choose(OPEN);
break;
case R.id.ifriend:
choose(FRIEND);
break;
case R.id.invite:
choose(INVITE);
break;
case R.id.password:
choose(PASSWORDS);
break;
default:
break;
}
}
/**
* 选择
*
* @param position
*/
private void choose(int position) {
purviewPosition = position;
for (int i = 0; i < tvList.size(); i++) {
if (position == i) {
Drawable left = this.getResources().getDrawable(
R.drawable.contacts_selected);
left.setBounds(0, 0, left.getMinimumWidth(),
left.getMinimumHeight());
tvList.get(i).setCompoundDrawables(left, null, null, null);
} else {
Drawable left = this.getResources().getDrawable(
R.drawable.contacts_normal);
left.setBounds(0, 0, left.getMinimumWidth(),
left.getMinimumHeight());
tvList.get(i).setCompoundDrawables(left, null, null, null);
}
if (position == PASSWORDS) {
body.setVisibility(View.VISIBLE);
} else {
body.setVisibility(View.GONE);
}
}
}
@Override
protected void onResume() {
StatService.onResume(this);
super.onResume();
}
@Override
protected void onPause() {
StatService.onPause(this);
super.onPause();
}
}