package com.partynetwork.iparty.contacts;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import com.partynetwork.dataprovider.DataProvider.IJsonResultListener;
import com.partynetwork.dataprovider.json.NetworkEntity;
import com.partynetwork.dataprovider.json.struct.Contacts_getRecommendArrayRequest;
import com.partynetwork.dataprovider.json.struct.Contacts_getRecommendArrayResponse;
import com.partynetwork.dataprovider.json.struct.Contacts_searchUserRequest;
import com.partynetwork.dataprovider.json.struct.Contacts_searchUserResponse;
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.app.entities.CommonUser;
import com.lidroid.xutils.ViewUtils;
import com.lidroid.xutils.view.annotation.ViewInject;
import com.lidroid.xutils.view.annotation.event.OnClick;
import android.app.Activity;
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.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.TextView;
public class ContactsRecommendActivity extends Activity implements
IJsonResultListener {
public static final String PAGE_TYPE = "pageType";
/** 推荐的好友列表 */
public static final int RECOMMEND = 0;
/** 查找好友 */
public static final int SEARCH = 1;
/**
* 返回按钮
*/
@ViewInject(R.id.menu_head_left)
private LinearLayout backBtn;
/**
* 页面标题
*/
@ViewInject(R.id.menu_head_middle_text)
private TextView headTitle;
/**
* 确定按钮
*/
@ViewInject(R.id.menu_head_right)
private RelativeLayout searchBtn;
/**
* 确定的文本框
*/
@ViewInject(R.id.menu_head_right_tv)
private TextView rightTv;
/**
* 设置按钮
*/
@ViewInject(R.id.menu_head_right_iv)
private ImageView rightIv;
/**
* 搜索的外围布局
*/
@ViewInject(R.id.search_rl)
private LinearLayout searchRl;
/**
* 搜索文本输入框
*/
@ViewInject(R.id.search_et)
private EditText searchEt;
/**
* 下方显示内容的listview
*/
@ViewInject(R.id.listview)
private ListView listview;
/** 页面类型 */
private int pageType;
/**
* 存放当前显示好友
*/
private List<CommonUser> filterDateList = new ArrayList<CommonUser>();
/** 列表适配器 */
private ContactsRecommendAdapter adapter;
/**
* 覆盖方法
*
* @see android.app.Activity#onCreate(android.os.Bundle)
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.contacts_recommend);
ViewUtils.inject(this);
init();
}
/**
* 初始化
*/
private void init() {
pageType = getIntent().getIntExtra(PAGE_TYPE, RECOMMEND);
searchBtn.setClickable(false);
if (pageType == RECOMMEND) {
headTitle.setText("推荐");
rightTv.setVisibility(View.GONE);
searchRl.setVisibility(View.GONE);
sendRequest();
} else {
headTitle.setText("查询用户");
rightTv.setText("查找");
rightTv.setVisibility(View.VISIBLE);
searchRl.setVisibility(View.VISIBLE);
searchEt.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()) {
searchEt.setTextColor(Color.BLACK);
searchEt.setBackgroundResource(R.drawable.stroke_single_select);
searchBtn.setClickable(true);
rightTv.setTextColor(getResources().getColor(
R.color.blue_text));
} else {
searchEt.setTextColor(color.lightgray);
searchEt.setBackgroundResource(R.drawable.stroke_single);
searchBtn.setClickable(false);
rightTv.setTextColor(getResources().getColor(
R.color.gray));
}
}
});
}
}
/**
* 点击事件监听
*
* @param v
*/
@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:
// 查找
sendSearchRequest();
break;
default:
break;
}
}
/**
* 发送查找请求
*/
private void sendSearchRequest() {
AppContext context=(AppContext) getApplication();
Contacts_searchUserRequest request = new Contacts_searchUserRequest();
request.setFromUserId(context.getLoginUid());
request.setContent(searchEt.getText().toString());
request.setType(2);
context.getmDataProvider().getJsonFromNetwork(request, this);
}
/**
* 发送获取用户的请求
*/
private void sendRequest() {
AppContext context=(AppContext) getApplication();
Contacts_getRecommendArrayRequest request = new Contacts_getRecommendArrayRequest();
request.setUserId(context.getLoginUid());
context.getmDataProvider().getJsonFromNetwork(request, this);
}
/**
* 初始化listview
*/
private void initListView() {
adapter = new ContactsRecommendAdapter(this, filterDateList);
listview.setAdapter(adapter);
}
public void onNetworkRequest() {
}
public void onResultSuccess(NetworkEntity entity) {
// 推荐的人
if (entity.getRequest().getAction()
.equals(new Contacts_getRecommendArrayRequest().getAction())) {
Contacts_getRecommendArrayResponse recommendArrayResponse = (Contacts_getRecommendArrayResponse) entity
.getResponse();
CommonUser[] infoArray = recommendArrayResponse.getDetails();
filterDateList = Arrays.asList(infoArray);
initListView();
}
// 查找的用户
if (entity.getRequest().getAction()
.equals(new Contacts_searchUserRequest().getAction())) {
Contacts_searchUserResponse searchUserResponse = (Contacts_searchUserResponse) entity
.getResponse();
CommonUser[] infoArray = searchUserResponse.getDetails();
filterDateList = Arrays.asList(infoArray);
initListView();
}
}
public void onResultFail(String result) {
T.showTips(this, R.drawable.tips_error, result);
}
}