package com.suan.weclient.view.dropWindow;
import java.util.ArrayList;
import android.content.Context;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.PopupWindow;
import com.suan.weclient.R;
import com.suan.weclient.util.data.DataManager;
import com.suan.weclient.util.data.holder.resultHolder.MessageResultHolder;
import com.suan.weclient.util.net.WeChatLoader;
import com.suan.weclient.util.net.WechatManager;
import com.suan.weclient.view.ptr.PTRListview;
public class SMainDropListWindow extends PopupWindow {
private DataManager mDataManager;
private ListView contentListView;
private ArrayList<String> list = new ArrayList<String>();
private ArrayAdapter<String> adapter;
private Context mContext;
public SMainDropListWindow(DataManager dataManager, Context context, View contentView, int width, int height,
boolean focusable) {
super(contentView, width, height, focusable);
mContext = context;
mDataManager = dataManager;
contentListView = (ListView) contentView
.findViewById(R.id.drop_down_list);
adapter = new ArrayAdapter<String>(
contentView.getContext(),
R.layout.drop_down_item, R.id.drop_down_item_text, getData());
contentListView.setAdapter(adapter);
contentListView.setOnItemClickListener(new ItemClickListener());
}
public class ItemClickListener implements AdapterView.OnItemClickListener {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
switch (position) {
case 0:
mDataManager.getCurrentMessageHolder().setNowMessageMode(WeChatLoader.GET_MESSAGE_MODE_ALL);
mDataManager.getWechatManager().getNewMessageList(WechatManager.DIALOG_POP_CANCELABLE, mDataManager.getCurrentPosition(), new WechatManager.OnActionFinishListener() {
@Override
public void onFinish(int code, Object object) {
switch (code) {
case WechatManager.ACTION_SUCCESS:
mDataManager
.doMessageGet((MessageResultHolder) object);
mDataManager
.doAutoLoginEnd();
break;
case WechatManager.ACTION_SPECIFICED_ERROR:
break;
default:
break;
}
}
});
break;
case 1:
mDataManager.getCurrentMessageHolder().setNowMessageMode(WeChatLoader.GET_MESSAGE_MODE_TODAY);
mDataManager.getWechatManager().getNewMessageList(WechatManager.DIALOG_POP_CANCELABLE, mDataManager.getCurrentPosition(), new WechatManager.OnActionFinishListener() {
@Override
public void onFinish(int code, Object object) {
switch (code) {
case WechatManager.ACTION_SUCCESS:
mDataManager
.doMessageGet((MessageResultHolder) object);
mDataManager
.doAutoLoginEnd();
break;
case WechatManager.ACTION_SPECIFICED_ERROR:
break;
default:
break;
}
}
});
break;
case 2:
mDataManager.getCurrentMessageHolder().setNowMessageMode(WeChatLoader.GET_MESSAGE_MODE_YESTERDAY);
mDataManager.getWechatManager().getNewMessageList(WechatManager.DIALOG_POP_CANCELABLE, mDataManager.getCurrentPosition(), new WechatManager.OnActionFinishListener() {
@Override
public void onFinish(int code, Object object) {
switch (code) {
case WechatManager.ACTION_SUCCESS:
mDataManager
.doMessageGet((MessageResultHolder) object);
mDataManager
.doAutoLoginEnd();
break;
case WechatManager.ACTION_SPECIFICED_ERROR:
break;
default:
break;
}
}
});
break;
case 3:
mDataManager.getCurrentMessageHolder().setNowMessageMode(WeChatLoader.GET_MESSAGE_MODE_OLDER);
mDataManager.getWechatManager().getNewMessageList(WechatManager.DIALOG_POP_CANCELABLE, mDataManager.getCurrentPosition(), new WechatManager.OnActionFinishListener() {
@Override
public void onFinish(int code, Object object) {
switch (code) {
case WechatManager.ACTION_SUCCESS:
mDataManager
.doMessageGet((MessageResultHolder) object);
mDataManager
.doAutoLoginEnd();
break;
case WechatManager.ACTION_SPECIFICED_ERROR:
break;
default:
break;
}
}
});
break;
case 4:
mDataManager.getCurrentMessageHolder().setNowMessageMode(WeChatLoader.GET_MESSAGE_MODE_STAR);
mDataManager.getWechatManager().getNewMessageList(WechatManager.DIALOG_POP_CANCELABLE, mDataManager.getCurrentPosition(), new WechatManager.OnActionFinishListener() {
@Override
public void onFinish(int code, Object object) {
switch (code) {
case WechatManager.ACTION_SUCCESS:
mDataManager
.doMessageGet((MessageResultHolder) object);
mDataManager
.doAutoLoginEnd();
break;
case WechatManager.ACTION_SPECIFICED_ERROR:
break;
default:
break;
}
}
});
break;
}
dismiss();
}
}
private ArrayList<String> getData() {
list.add("" + mContext.getResources().getString(R.string.message_all));
list.add("" + mContext.getResources().getString(R.string.message_today));
list.add("" + mContext.getResources().getString(R.string.message_yesterday));
list.add("" + mContext.getResources().getString(R.string.message_older));
list.add("" + mContext.getResources().getString(R.string.message_star));
return list;
}
}