package com.suan.weclient.util.net;
import org.apache.http.Header;
import org.json.JSONObject;
import android.content.Context;
import android.graphics.Bitmap;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;
import com.google.gson.Gson;
import com.suan.weclient.util.SharedPreferenceManager;
import com.suan.weclient.util.Util;
import com.suan.weclient.util.data.bean.MaterialBean;
import com.suan.weclient.util.data.holder.AppItemHolder;
import com.suan.weclient.util.data.holder.ChatHolder;
import com.suan.weclient.util.data.DataManager;
import com.suan.weclient.util.data.DataManager.DialogSureClickListener;
import com.suan.weclient.util.data.holder.FansHolder;
import com.suan.weclient.util.data.bean.MessageBean;
import com.suan.weclient.util.data.bean.UserBean;
import com.suan.weclient.util.data.holder.MaterialHolder;
import com.suan.weclient.util.data.holder.resultHolder.FansResultHolder;
import com.suan.weclient.util.data.holder.resultHolder.MaterialResultHolder;
import com.suan.weclient.util.data.holder.resultHolder.MessageResultHolder;
import com.suan.weclient.util.net.DataParser.ChatListParseCallback;
import com.suan.weclient.util.net.DataParser.FansListParseCallback;
import com.suan.weclient.util.net.DataParser.MessageListParseCallBack;
import com.suan.weclient.util.net.DataParser.ParseMassDataCallBack;
import com.suan.weclient.util.net.WeChatLoader.WechatGetFansList;
import com.suan.weclient.util.net.WeChatLoader.WechatGetHeadImgCallBack;
import com.suan.weclient.util.net.WeChatLoader.WechatGetMassData;
import com.suan.weclient.util.net.WeChatLoader.WechatGetMessageImgCallBack;
import com.suan.weclient.util.net.WeChatLoader.WechatGetUserProfleCallBack;
import com.suan.weclient.util.net.WeChatLoader.WechatGetVoiceMsgCallBack;
import com.suan.weclient.util.net.WeChatLoader.WechatLoginCallBack;
import com.suan.weclient.util.net.WeChatLoader.WechatMassCallBack;
import com.suan.weclient.util.net.WeChatLoader.WechatMessageListCallBack;
import com.suan.weclient.util.net.WeChatLoader.WechatMessagePageCallBack;
import com.suan.weclient.util.net.WeChatLoader.WechatMessageReplyCallBack;
import com.suan.weclient.util.net.WeChatLoader.WechatMessageStarCallBack;
import com.suan.weclient.util.net.images.ImageCacheManager;
public class WechatManager {
public static final int ACTION_SUCCESS = 1;
public static final int ACTION_TIME_OUT = 2;
public static final int ACTION_OTHER = 3;
public static final int ACTION_SPECIFICED_SITUATION = 4;
public static final int ACTION_SPECIFICED_ERROR = 5;
public static final int GET_NEW_MESSAGE_COUNT_SUCCESS = 0;
/*
about pop dialog
*/
public static final int DIALOG_POP_NOT_CANCELABLE = 3;
public static final int DIALOG_POP_CANCELABLE = 2;
public static final int DIALOG_POP_NO = 1;
public interface OnActionFinishListener {
public void onFinish(int code, Object object);
}
private DataManager mDataManager;
private Context mContext;
public WechatManager(DataManager dataManager, Context context) {
mDataManager = dataManager;
mContext = context;
}
public void login(final int userIndex, final int popDialog,
final OnActionFinishListener onActionFinishListener) {
if (popDialog > DIALOG_POP_NO) {
mDataManager.doDismissAllDialog();
mDataManager.doLoadingStart("登录...", popDialog);
}
WeChatLoader
.wechatLogin(
new WechatLoginCallBack() {
@Override
public void onBack(int resultCode, String strResult,
Header[] headers) {
// TODO Auto-generated method stub
switch (resultCode) {
case WeChatLoader.WECHAT_RESULT_MESSAGE_OK:
try {
UserBean nowBean = mDataManager
.getUserGroup().get(userIndex);
DataParser.parseLogin(new DataParser.LoginParseCallBack() {
@Override
public void onBack(int code, UserBean userBean) {
switch (code) {
case DataParser.PARSE_SUCCESS:
mDataManager.doLoginSuccess(userBean);
onActionFinishListener.onFinish(ACTION_SUCCESS, null);
return;
case DataParser.PARSE_SPECIFIC_STUATION:
onActionFinishListener.onFinish(ACTION_SPECIFICED_SITUATION, null);
return;
case DataParser.PARSE_FAILED:
onActionFinishListener.onFinish(ACTION_SPECIFICED_ERROR, null);
return;
}
}
}, strResult, headers, mDataManager.getUserGroup().get(userIndex));
} catch (Exception exception) {
Log.e("login parese failed", "" + exception);
}
onActionFinishListener.onFinish(ACTION_OTHER, null);
return;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_TIMEOUT:
if (popDialog > DIALOG_POP_NO) {
mDataManager.doPopEnsureDialog(true, false,
"失败", "登录失败 重试?",
new DialogSureClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method
// stub
login(userIndex, popDialog,
onActionFinishListener);
}
});
}
return;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_OTHER:
if (popDialog > DIALOG_POP_NO) {
mDataManager.doPopEnsureDialog(true, false,
"失败", "登录失败 重试?",
new DialogSureClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method
// stub
login(userIndex, popDialog,
onActionFinishListener);
}
});
}
return;
}
onActionFinishListener.onFinish(ACTION_OTHER, null);
}
}, mDataManager.getUserGroup().get(userIndex)
.getUserName(),
mDataManager.getUserGroup().get(userIndex).getPwd(),
"", "json"
);
}
public void getVerifyPage(final int userIndex,
final String phone,
final OnActionFinishListener onActionFinishListener) {
WeChatLoader.wechatGetVerifyPage(phone, new WeChatLoader.WechatGetVerifyPageCallBack() {
@Override
public void onBack(int resultCode, String strResult, Header[] headers, String referer) {
switch (resultCode) {
case WeChatLoader.WECHAT_RESULT_MESSAGE_OK:
try {
Log.e("get verify page", "success");
DataParser.parseVerifyPage(new DataParser.VerifyPageParseCallBack() {
@Override
public void onBack(int code, UserBean userBean) {
switch (code) {
case DataParser.PARSE_SUCCESS:
mDataManager.doLoginSuccess(userBean);
onActionFinishListener.onFinish(ACTION_SUCCESS, null);
return;
case DataParser.PARSE_SPECIFIC_STUATION:
onActionFinishListener.onFinish(ACTION_SPECIFICED_SITUATION, null);
return;
case DataParser.PARSE_FAILED:
onActionFinishListener.onFinish(ACTION_SPECIFICED_ERROR, null);
return;
}
}
}, strResult, headers, mDataManager.getUserGroup().get(userIndex));
} catch (Exception exception) {
Log.e("login parese failed", "" + exception);
}
onActionFinishListener.onFinish(ACTION_OTHER, null);
return;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_TIMEOUT:
return;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_OTHER:
return;
}
onActionFinishListener.onFinish(ACTION_OTHER, null);
}
});
WeChatLoader
.wechatLogin(
new WechatLoginCallBack() {
@Override
public void onBack(int resultCode, String strResult,
Header[] headers) {
// TODO Auto-generated method stub
}
}, mDataManager.getUserGroup().get(userIndex)
.getUserName(),
mDataManager.getUserGroup().get(userIndex).getPwd(),
"", "json"
);
}
public void getUserProfile(final int popDialog, final int userIndex,
final OnActionFinishListener onActionFinishListener) {
if (popDialog > DIALOG_POP_NO) {
mDataManager.doLoadingStart("获取用户数据...", popDialog);
}
WeChatLoader.wechatGetUserProfile(
new WechatGetUserProfleCallBack() {
@Override
public void onBack(int resultCode, String strResult, String referer) {
// TODO Auto-generated method
// stub
switch (resultCode) {
case WeChatLoader.WECHAT_RESULT_MESSAGE_OK:
try {
if (popDialog > DIALOG_POP_NO) {
mDataManager.doLoadingStart("解析用户数据...", popDialog);
}
int getUserProfileState = DataParser.parseUserProfile(
strResult,
mDataManager.getUserGroup().get(userIndex));
switch (getUserProfileState) {
case DataParser.GET_USER_PROFILE_SUCCESS:
mDataManager.doProfileGet(mDataManager.getUserGroup()
.get(userIndex));
onActionFinishListener.onFinish(ACTION_SUCCESS, referer);
return;
case DataParser.GET_USER_PROFILE_FAILED:
break;
}
} catch (Exception exception) {
}
return;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_TIMEOUT:
if (popDialog > DIALOG_POP_NO) {
mDataManager.doPopEnsureDialog(true, false,
"失败", "获取用户信息失败 重试?",
new DialogSureClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method
// stub
getUserProfile(popDialog, userIndex, onActionFinishListener);
}
});
}
onActionFinishListener.onFinish(ACTION_TIME_OUT, null);
return;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_OTHER:
if (popDialog > DIALOG_POP_NO) {
mDataManager.doPopEnsureDialog(true, false,
"失败", "获取用户信息失败 重试?",
new DialogSureClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method
// stub
getUserProfile(popDialog, userIndex, onActionFinishListener);
}
});
}
onActionFinishListener.onFinish(ACTION_OTHER, null);
return;
}
}
}, mDataManager.getUserGroup().get(userIndex)
);
}
public void getUserImgDirectly(final int popDialog,
final int userIndex, final ImageView userProfileImageView,
final OnActionFinishListener onActionFinishListener) {
WeChatLoader.wechatGetUserProfile(
new WechatGetUserProfleCallBack() {
@Override
public void onBack(int resultCode, String strResult, String referer) {
// TODO Auto-generated method
// stub
switch (resultCode) {
case WeChatLoader.WECHAT_RESULT_MESSAGE_OK:
try {
int getUserProfileState = DataParser.parseUserProfile(
strResult,
mDataManager.getUserGroup().get(userIndex));
switch (getUserProfileState) {
case DataParser.GET_USER_PROFILE_SUCCESS:
getUserImgWithReferer(userIndex, popDialog,
userProfileImageView, onActionFinishListener,
referer);
break;
case DataParser.GET_USER_PROFILE_FAILED:
break;
}
} catch (Exception exception) {
onActionFinishListener.onFinish(ACTION_TIME_OUT, null);
}
return;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_TIMEOUT:
onActionFinishListener.onFinish(ACTION_OTHER, null);
return;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_OTHER:
onActionFinishListener.onFinish(ACTION_TIME_OUT, null);
return;
}
}
}, mDataManager.getUserGroup().get(userIndex)
);
}
public void getMessageHeadImg(final int userIndex, final String fakeId,
final String referer, final ImageView imageView,
final OnActionFinishListener onActionFinishListener) {
WeChatLoader.wechatGetHeadImg(
new WechatGetHeadImgCallBack() {
@Override
public void onBack(int resultCode, Bitmap bitmap, String referer,
ImageView imageView) {
// TODO Auto-generated method stub
switch (resultCode) {
case WeChatLoader.WECHAT_RESULT_MESSAGE_OK:
if (bitmap != null) {
onActionFinishListener.onFinish(ACTION_SUCCESS, bitmap);
return;
} else {
onActionFinishListener.onFinish(ACTION_OTHER, null);
}
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_TIMEOUT:
onActionFinishListener.onFinish(ACTION_TIME_OUT, null);
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_OTHER:
onActionFinishListener.onFinish(ACTION_OTHER, null);
break;
}
}
}, mDataManager.getUserGroup().get(userIndex), fakeId, referer,
imageView
);
}
public void getMessageVoice(final int userIndex, final MessageBean messageBean,
final int length, final UserBean userBean,
final OnActionFinishListener onActionFinishListener) {
WeChatLoader.wechatGetVoiceMsg(
new WechatGetVoiceMsgCallBack() {
@Override
public void onBack(int resultCode, byte[] bytes) {
// TODO Auto-generated method stub
switch (resultCode) {
case WeChatLoader.WECHAT_RESULT_MESSAGE_OK:
if (bytes != null) {
onActionFinishListener.onFinish(ACTION_SUCCESS, bytes);
} else {
onActionFinishListener.onFinish(ACTION_OTHER, null);
}
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_TIMEOUT:
onActionFinishListener.onFinish(ACTION_TIME_OUT, null);
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_OTHER:
onActionFinishListener.onFinish(ACTION_OTHER, null);
break;
}
}
}, userBean, messageBean, length
);
}
public void getMaterialVoice(final int userIndex, final MaterialBean materialBean,
final UserBean userBean,
final OnActionFinishListener onActionFinishListener) {
WeChatLoader.wechatGetVoiceMaterial(
new WeChatLoader.WechatGetVoiceMaterialCallBack() {
@Override
public void onBack(int resultCode, byte[] bytes) {
// TODO Auto-generated method stub
switch (resultCode) {
case WeChatLoader.WECHAT_RESULT_MESSAGE_OK:
if (bytes != null) {
onActionFinishListener.onFinish(ACTION_SUCCESS, bytes);
} else {
onActionFinishListener.onFinish(ACTION_OTHER, null);
}
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_TIMEOUT:
onActionFinishListener.onFinish(ACTION_TIME_OUT, null);
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_OTHER:
onActionFinishListener.onFinish(ACTION_OTHER, null);
break;
}
}
}, userBean, materialBean
);
}
public void getMessageImg(final int userIndex, final MessageBean messageBean, final ImageView imageView,
final String imgType,
final OnActionFinishListener onActionFinishListener) {
WeChatLoader.wechatGetMessageImg(new WechatGetMessageImgCallBack() {
@Override
public void onBack(int resultCode, Bitmap bitmap, ImageView imageView) {
// TODO Auto-generated method stub
switch (resultCode) {
case WeChatLoader.WECHAT_RESULT_MESSAGE_OK:
if (bitmap != null) {
imageView.setImageBitmap(bitmap);
onActionFinishListener.onFinish(ACTION_SUCCESS, bitmap);
} else {
onActionFinishListener.onFinish(ACTION_OTHER, null);
}
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_TIMEOUT:
onActionFinishListener.onFinish(ACTION_TIME_OUT, null);
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_OTHER:
onActionFinishListener.onFinish(ACTION_OTHER, null);
break;
}
}
}, mDataManager.getUserGroup().get(userIndex), messageBean, imageView,
WeChatLoader.WECHAT_URL_MESSAGE_IMG_LARGE
);
}
public void getUserImgWithReferer(final int userIndex,
final int popDialog, final ImageView imageView,
final OnActionFinishListener onActionFinishListener,
final String referer) {
if (popDialog > DIALOG_POP_NO) {
mDataManager.doLoadingStart("获取用户头像...", popDialog);
}
WeChatLoader.wechatGetHeadImg(
new WechatGetHeadImgCallBack() {
@Override
public void onBack(int resultCode, Bitmap bitmap, String referer,
ImageView imageView) {
switch (resultCode) {
case WeChatLoader.WECHAT_RESULT_MESSAGE_OK:
bitmap = Util.roundCorner(bitmap, bitmap.getWidth() / 2);
if (popDialog > DIALOG_POP_NO) {
mDataManager.doLoadingStart("设置用户头像...", popDialog);
}
mDataManager.getCacheManager().putBitmap(
ImageCacheManager.CACHE_USER_PROFILE
+ mDataManager.getUserGroup()
.get(userIndex).getUserName(),
bitmap, true);
if (imageView != null) {
imageView.setImageBitmap(bitmap);
}
if (popDialog > DIALOG_POP_NO) {
mDataManager.doDismissAllDialog();
}
onActionFinishListener.onFinish(ACTION_SUCCESS, bitmap);
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_TIMEOUT:
onActionFinishListener.onFinish(ACTION_TIME_OUT, bitmap);
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_OTHER:
onActionFinishListener.onFinish(ACTION_OTHER, bitmap);
break;
}
}
}, mDataManager.getUserGroup().get(userIndex), mDataManager
.getUserGroup().get(userIndex).getFakeId(), referer, imageView
);
}
public void getMaterialImg(final int userIndex, final MaterialBean materialBean, final ImageView imageView,
final String imgType,
final OnActionFinishListener onActionFinishListener) {
WeChatLoader.wechatGetMaterialImg(new WeChatLoader.WechatGetMaterialImgCallBack() {
@Override
public void onBack(int resultCode, Bitmap bitmap, ImageView imageView) {
// TODO Auto-generated method stub
switch (resultCode) {
case WeChatLoader.WECHAT_RESULT_MESSAGE_OK:
if (bitmap != null) {
imageView.setImageBitmap(bitmap);
onActionFinishListener.onFinish(ACTION_SUCCESS, bitmap);
} else {
onActionFinishListener.onFinish(ACTION_OTHER, null);
}
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_TIMEOUT:
onActionFinishListener.onFinish(ACTION_TIME_OUT, null);
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_OTHER:
onActionFinishListener.onFinish(ACTION_OTHER, null);
break;
}
}
}, mDataManager.getUserGroup().get(userIndex), materialBean, imageView,
WeChatLoader.WECHAT_URL_MESSAGE_IMG_LARGE
);
}
public void getNormalImg(final int userIndex,final String imgUrl, final ImageView imageView,
final OnActionFinishListener onActionFinishListener) {
Log.e("start nromal img",""+imgUrl);
WeChatLoader.wechatGetNormalImg(new WeChatLoader.WechatGetNormalImgCallBack() {
@Override
public void onBack(int resultCode, Bitmap bitmap, ImageView imageView) {
// TODO Auto-generated method stub
if(resultCode==WeChatLoader.WECHAT_RESULT_MESSAGE_OK){
Log.e("get nromal img","ok");
}else{
Log.e("get nromal img","wrong");
}
switch (resultCode) {
case WeChatLoader.WECHAT_RESULT_MESSAGE_OK:
if (bitmap != null) {
imageView.setImageBitmap(bitmap);
onActionFinishListener.onFinish(ACTION_SUCCESS, bitmap);
} else {
onActionFinishListener.onFinish(ACTION_OTHER, null);
}
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_TIMEOUT:
onActionFinishListener.onFinish(ACTION_TIME_OUT, null);
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_OTHER:
onActionFinishListener.onFinish(ACTION_OTHER, null);
break;
}
}
},imgUrl, mDataManager.getUserGroup().get(userIndex), imageView
);
}
public void getMassData(final int userIndex, final int popDialog,
final OnActionFinishListener onActionFinishListener) {
if (popDialog > DIALOG_POP_NO) {
mDataManager.doLoadingStart("获取用户群发数据...", popDialog);
}
WeChatLoader.wechatGetMassData(new WechatGetMassData() {
@Override
public void onBack(int resultCode, String strResult) {
// TODO Auto-generated method stub
switch (resultCode) {
case WeChatLoader.WECHAT_RESULT_MESSAGE_OK:
try {
if (popDialog > DIALOG_POP_NO) {
mDataManager.doLoadingStart("解析用户群发数据...", popDialog);
}
DataParser.parseMassData(strResult, mDataManager
.getUserGroup().get(userIndex),
new ParseMassDataCallBack() {
@Override
public void onBack(int code, UserBean userBean) {
// TODO Auto-generated method stub
if (code == DataParser.PARSE_SUCCESS) {
mDataManager.doProfileGet(mDataManager
.getUserGroup().get(userIndex));
if (popDialog > DIALOG_POP_NO) {
mDataManager.doDismissAllDialog();
}
onActionFinishListener.onFinish(ACTION_SUCCESS, null);
} else {
onActionFinishListener.onFinish(ACTION_OTHER, null);
}
}
});
} catch (Exception exception) {
Log.e("mass parse error", "" + exception);
onActionFinishListener.onFinish(ACTION_OTHER, null);
}
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_TIMEOUT:
onActionFinishListener.onFinish(ACTION_TIME_OUT, null);
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_OTHER:
onActionFinishListener.onFinish(ACTION_OTHER, null);
break;
}
}
}, mDataManager.getUserGroup().get(userIndex)
);
}
public void getNewMessageList(final int popLoadingDialog,
final int userIndex,
final OnActionFinishListener onActionFinishListener) {
if (popLoadingDialog > DIALOG_POP_NO) {
mDataManager.doLoadingStart("获取消息数据...", popLoadingDialog);
}
WeChatLoader.wechatGetMessageList(
new WechatMessageListCallBack() {
@Override
public void onBack(int resultCode, String strResult, String referer) {
// TODO Auto-generated method
// stub
switch (resultCode) {
case WeChatLoader.WECHAT_RESULT_MESSAGE_OK:
try {
if (popLoadingDialog > DIALOG_POP_NO) {
mDataManager.doDismissAllDialog();
mDataManager.doLoadingStart("解析消息数据...", popLoadingDialog);
}
DataParser.parseNewMessage(new MessageListParseCallBack() {
@Override
public void onBack(
MessageResultHolder messageResultHolder,
int code) {
// TODO
// Auto-generated
// method
// stub
switch (code) {
case DataParser.PARSE_SUCCESS:
onActionFinishListener.onFinish(ACTION_SUCCESS, messageResultHolder);
mDataManager.doLoadingEnd();
break;
case DataParser.PARSE_FAILED:
Log.e("get new message", "parse failed");
onActionFinishListener.onFinish(ACTION_OTHER, null);
break;
case DataParser.PARSE_SPECIFIC_ERROR:
onActionFinishListener.onFinish(ACTION_SPECIFICED_ERROR, null);
break;
}
}
}, strResult, mDataManager.getUserGroup().get(userIndex),
mDataManager.getMessageHolders().get(userIndex).getNowMessageMode(),true,
referer);
mDataManager.doDismissAllDialog();
} catch (Exception exception) {
onActionFinishListener.onFinish(ACTION_OTHER, null);
}
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_TIMEOUT:
if (popLoadingDialog > DIALOG_POP_NO) {
mDataManager.doPopEnsureDialog(true, false,
"失败", "获取消息信息失败, 重试?",
new DialogSureClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method
// stub
getNewMessageList(popLoadingDialog, userIndex, onActionFinishListener);
}
});
}
onActionFinishListener.onFinish(ACTION_TIME_OUT, null);
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_OTHER:
onActionFinishListener.onFinish(ACTION_OTHER, null);
break;
}
}
}, mDataManager.getUserGroup().get(userIndex), mDataManager.getMessageHolders().get(userIndex).getNowMessageMode(), "", SharedPreferenceManager.getHideKeyWordMessage(mContext)
);
}
public void getSearchMessageList(final String keyword,
final int userIndex,
final OnActionFinishListener onActionFinishListener) {
WeChatLoader.wechatGetMessageList(
new WechatMessageListCallBack() {
@Override
public void onBack(int resultCode, String strResult, String referer) {
// TODO Auto-generated method
// stub
switch (resultCode) {
case WeChatLoader.WECHAT_RESULT_MESSAGE_OK:
try {
DataParser.parseNewMessage(new MessageListParseCallBack() {
@Override
public void onBack(MessageResultHolder messageResultHolder, int code) {
// TODO
// Auto-generated
// method
// stub
switch (code) {
case DataParser.PARSE_SUCCESS:
onActionFinishListener.onFinish(ACTION_SUCCESS, messageResultHolder);
mDataManager.doLoadingEnd();
break;
case DataParser.PARSE_FAILED:
onActionFinishListener.onFinish(ACTION_OTHER, null);
break;
case DataParser.PARSE_SPECIFIC_ERROR:
onActionFinishListener.onFinish(ACTION_SPECIFICED_ERROR, null);
break;
}
}
}, strResult, mDataManager.getUserGroup().get(userIndex), mDataManager.getSearchMessageHolder().getNowMessageMode(),false, referer);
} catch (Exception exception) {
onActionFinishListener.onFinish(ACTION_OTHER, null);
}
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_TIMEOUT:
onActionFinishListener.onFinish(ACTION_TIME_OUT, null);
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_OTHER:
onActionFinishListener.onFinish(ACTION_OTHER, null);
break;
}
}
}, mDataManager.getUserGroup().get(userIndex), WeChatLoader.GET_MESSAGE_MODE_SEARCH, keyword, SharedPreferenceManager.getHideKeyWordMessage(mContext)
);
}
public void getMaterialList(final int type, final int begin,
final int userIndex,
final OnActionFinishListener onActionFinishListener) {
WeChatLoader.wechatGetMaterialList(new WeChatLoader.WechatMaterialListCallBack() {
@Override
public void onBack(int resultCode, String strResult, String referer) {
switch (resultCode) {
case WeChatLoader.WECHAT_RESULT_MESSAGE_OK:
try {
DataParser.parseMaterialList(new DataParser.MaterialListParseCallBack() {
@Override
public void onBack(int code, MaterialResultHolder materialResultHolder) {
switch (code) {
case DataParser.PARSE_SUCCESS:
onActionFinishListener.onFinish(ACTION_SUCCESS, materialResultHolder);
break;
case DataParser.PARSE_FAILED:
onActionFinishListener.onFinish(ACTION_OTHER, null);
break;
case DataParser.PARSE_SPECIFIC_ERROR:
onActionFinishListener.onFinish(ACTION_SPECIFICED_ERROR, null);
break;
}
}
}, begin, strResult, mDataManager.getUserGroup().get(userIndex), referer);
} catch (Exception exception) {
onActionFinishListener.onFinish(ACTION_OTHER, null);
}
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_TIMEOUT:
onActionFinishListener.onFinish(ACTION_TIME_OUT, null);
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_OTHER:
onActionFinishListener.onFinish(ACTION_OTHER, null);
break;
}
}
}, mDataManager.getUserGroup().get(userIndex), type, begin);
}
public void getFansList(final int page, final int userIndex,
final String groupId,
final OnActionFinishListener onActionFinishListener) {
WeChatLoader.wechatGetFansList(
new WechatGetFansList() {
@Override
public void onBack(int resultCode, String strResult, String referer) {
// TODO Auto-generated method stub
switch (resultCode) {
case WeChatLoader.WECHAT_RESULT_MESSAGE_OK:
boolean refresh = false;
if (page == 0) {
refresh = true;
}
DataParser.parseFansList(strResult, referer,
mDataManager.getFansHolders().get(userIndex).getCurrentGroupIndex()
, mDataManager
.getUserGroup().get(userIndex), refresh,
new FansListParseCallback() {
@Override
public void onBack(FansResultHolder fansResultHolder, int code) {
// TODO Auto-generated method stub
switch (code) {
case DataParser.PARSE_SUCCESS:
onActionFinishListener.onFinish(ACTION_SUCCESS, fansResultHolder);
break;
case DataParser.PARSE_FAILED:
onActionFinishListener.onFinish(ACTION_OTHER, null);
break;
case DataParser.PARSE_SPECIFIC_ERROR:
onActionFinishListener.onFinish(ACTION_SPECIFICED_ERROR, null);
break;
}
}
});
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_TIMEOUT:
onActionFinishListener.onFinish(ACTION_TIME_OUT, null);
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_OTHER:
onActionFinishListener.onFinish(ACTION_OTHER, null);
break;
}
}
}, mDataManager.getUserGroup().get(userIndex), groupId, page
);
}
public void getFansProfile(final String fakeId, final int userIndex,
final OnActionFinishListener onActionFinishListener) {
WeChatLoader.wechatGetContactInfo(new WeChatLoader.WechatGetContactInfoCallBack() {
@Override
public void onBack(int resultCode, String strResult) {
switch (resultCode) {
case WeChatLoader.WECHAT_RESULT_MESSAGE_OK:
DataParser.parseFansProfile(strResult, mDataManager.getUserGroup().get(userIndex), new DataParser.ParseFansProfileCallBack() {
@Override
public void onBack(int code, DataParser.FansProfileHolder fansProfileHolder) {
switch (code) {
case DataParser.PARSE_SUCCESS:
onActionFinishListener.onFinish(ACTION_SUCCESS, fansProfileHolder);
break;
case DataParser.PARSE_FAILED:
onActionFinishListener.onFinish(ACTION_OTHER, null);
break;
case DataParser.PARSE_SPECIFIC_ERROR:
onActionFinishListener.onFinish(ACTION_SPECIFICED_ERROR, null);
break;
}
}
});
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_TIMEOUT:
onActionFinishListener.onFinish(ACTION_TIME_OUT, null);
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_OTHER:
onActionFinishListener.onFinish(ACTION_OTHER, null);
break;
}
}
}, mDataManager.getUserGroup().get(userIndex), fakeId);
}
public void sendVefityCode(
final int userIndex,
final OnActionFinishListener onActionFinishListener) {
WeChatLoader.wechatVerify(new WeChatLoader.WechatVefityCallBack() {
@Override
public void onBack(int resultCode, String strResult) {
switch (resultCode) {
case WeChatLoader.WECHAT_RESULT_MESSAGE_OK:
Log.e("send result", strResult);
try {
JSONObject resultJsonObject = new JSONObject(
strResult);
JSONObject stateObject = resultJsonObject.getJSONObject("base_resp");
if (stateObject != null) {
if (DataParser.getRet(stateObject) == WeChatLoader.WECHAT_SEND_VERIFY_CODE_OK) {
Toast.makeText(mContext, "发送验证码成功,请稍后查看短信",
Toast.LENGTH_SHORT).show();
onActionFinishListener.onFinish(ACTION_SUCCESS, null);
return;
}
}
} catch (Exception exception) {
Log.e("send verify result parse error", "" + exception);
onActionFinishListener.onFinish(ACTION_OTHER, null);
}
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_TIMEOUT:
onActionFinishListener.onFinish(ACTION_TIME_OUT, null);
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_OTHER:
onActionFinishListener.onFinish(ACTION_OTHER, null);
break;
}
}
}, WeChatLoader.VERIFY_TYPE_GET_CODE, mDataManager.getUserGroup().get(userIndex).getVerifySession(), "");
}
public void vefityCode(
final int userIndex,
final String code,
final OnActionFinishListener onActionFinishListener) {
WeChatLoader.wechatVerify(new WeChatLoader.WechatVefityCallBack() {
@Override
public void onBack(int resultCode, String strResult) {
switch (resultCode) {
case WeChatLoader.WECHAT_RESULT_MESSAGE_OK:
try {
Log.e("verify result", strResult);
JSONObject resultJsonObject = new JSONObject(
strResult);
JSONObject stateObject = resultJsonObject.getJSONObject("base_resp");
if (stateObject != null) {
if (DataParser.getRet(stateObject) == WeChatLoader.WECHAT_SEND_VERIFY_CODE_OK) {
Toast.makeText(mContext, "验证成功!",
Toast.LENGTH_SHORT).show();
onActionFinishListener.onFinish(ACTION_SUCCESS, null);
return;
}
}
} catch (Exception exception) {
Log.e("send verify result parse error", "" + exception);
onActionFinishListener.onFinish(ACTION_OTHER, null);
}
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_TIMEOUT:
onActionFinishListener.onFinish(ACTION_TIME_OUT, null);
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_OTHER:
onActionFinishListener.onFinish(ACTION_OTHER, null);
break;
}
}
}, WeChatLoader.VERIFY_TYPE_VERIFY_CODE, mDataManager.getUserGroup().get(userIndex).getVerifySession(), code);
}
public void modifyContacts(final int userIndex,
final int action,
final String toFakeId, final String groupId,
final String remark,
final OnActionFinishListener onActionFinishListener) {
WeChatLoader.wechatModifyContacts(
new WeChatLoader.WechatModifyContactsCallBack() {
@Override
public void onBack(int resultCode, String strResult) {
switch (resultCode) {
case WeChatLoader.WECHAT_RESULT_MESSAGE_OK:
try {
Log.e("edit result", strResult);
JSONObject resultJsonObject = new JSONObject(
strResult);
if (resultJsonObject.get("ret") != null) {
if (Integer.parseInt(resultJsonObject
.get("ret") + "") == WeChatLoader.WECHAT_EDIT_GROUP_OK) {
switch (action) {
case WeChatLoader.MODIFY_CONTACTS_ACTION_REMARK:
Toast.makeText(mContext, "修改备注成功",
Toast.LENGTH_SHORT).show();
break;
case WeChatLoader.MODIFY_CONTACTS_ACTION_MODIFY:
Toast.makeText(mContext, "修改分组成功",
Toast.LENGTH_SHORT).show();
break;
}
onActionFinishListener.onFinish(ACTION_SUCCESS, null);
return;
}
}
} catch (Exception exception) {
Log.e("star result parse error", "" + exception);
onActionFinishListener.onFinish(ACTION_OTHER, null);
}
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_TIMEOUT:
onActionFinishListener.onFinish(ACTION_TIME_OUT, null);
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_OTHER:
onActionFinishListener.onFinish(ACTION_OTHER, null);
break;
}
}
}, mDataManager.getUserGroup().get(userIndex), action, groupId, toFakeId, remark
);
}
public void getNextMessageList(final int page, final int userIndex,
final OnActionFinishListener onActionFinishListener) {
WeChatLoader.wechatGetMessagePage(
new WechatMessagePageCallBack() {
@Override
public void onBack(int resultCode, String strResult, String referer) {
// TODO Auto-generated method stub
switch (resultCode) {
case WeChatLoader.WECHAT_RESULT_MESSAGE_OK:
try {
DataParser.parseNextMessage(new MessageListParseCallBack() {
@Override
public void onBack(
MessageResultHolder messageResultHolder,
int code) {
// TODO
// Auto-generated
// method
switch (code) {
case DataParser.PARSE_SUCCESS:
onActionFinishListener.onFinish(ACTION_SUCCESS, messageResultHolder);
break;
case DataParser.PARSE_FAILED:
onActionFinishListener.onFinish(ACTION_OTHER, null);
break;
case DataParser.PARSE_SPECIFIC_ERROR:
onActionFinishListener.onFinish(ACTION_SPECIFICED_ERROR, null);
break;
}
}
}, strResult, mDataManager.getUserGroup().get(userIndex),
mDataManager.getMessageHolders().get(userIndex).getNowMessageMode(),
referer);
} catch (Exception exception) {
onActionFinishListener.onFinish(ACTION_OTHER, null);
}
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_TIMEOUT:
onActionFinishListener.onFinish(ACTION_TIME_OUT, null);
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_OTHER:
onActionFinishListener.onFinish(ACTION_OTHER, null);
break;
}
}
}, mDataManager.getMessageHolders().get(userIndex), page, mDataManager.getMessageHolders().get(userIndex).getNowMessageMode(), SharedPreferenceManager.getHideKeyWordMessage(mContext)
);
}
public void getAppMsgList(final int userIndex, final int begin, final OnActionFinishListener onActionFinishListener) {
WeChatLoader.wechatGetAppListMsg(new WeChatLoader.WechatGetAppMsgListCallBack() {
@Override
public void onBack(int resultCode, String result) {
switch (resultCode) {
case WeChatLoader.WECHAT_RESULT_MESSAGE_OK:
try {
DataParser.parseAppMsgList(new DataParser.AppMsgListParseCallBack() {
@Override
public void onBack(int code, MaterialResultHolder materialResultHolder) {
switch (code) {
case DataParser.PARSE_SUCCESS:
onActionFinishListener.onFinish(ACTION_SUCCESS, materialResultHolder);
break;
case DataParser.PARSE_FAILED:
onActionFinishListener.onFinish(ACTION_OTHER, null);
break;
case DataParser.PARSE_SPECIFIC_ERROR:
onActionFinishListener.onFinish(ACTION_SPECIFICED_ERROR, null);
break;
}
}
}, begin, result, mDataManager.getUserGroup().get(userIndex), "");
} catch (Exception exception) {
onActionFinishListener.onFinish(ACTION_OTHER, null);
}
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_TIMEOUT:
onActionFinishListener.onFinish(ACTION_TIME_OUT, null);
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_OTHER:
onActionFinishListener.onFinish(ACTION_OTHER, null);
break;
}
}
}, begin, mDataManager.getUserGroup().get(userIndex));
}
public void getChatList(final int userIndex,
final OnActionFinishListener onActionFinishListener) {
ChatHolder chatHolder = mDataManager.getChatHolder();
WeChatLoader.wechatGetChatList(
new WeChatLoader.WechatGetChatList() {
@Override
public void onBack(int resultCode, String strResult) {
// TODO Auto-generated method stub
switch (resultCode) {
case WeChatLoader.WECHAT_RESULT_MESSAGE_OK:
DataParser.parseChatList(strResult,
mDataManager.getChatHolder(),
new ChatListParseCallback() {
@Override
public void onBack(ChatHolder chatHolder,
boolean dataChanged) {
// TODO Auto-generated method stub
onActionFinishListener.onFinish(ACTION_SUCCESS, dataChanged);
}
});
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_TIMEOUT:
onActionFinishListener.onFinish(ACTION_TIME_OUT, null);
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_OTHER:
onActionFinishListener.onFinish(ACTION_OTHER, null);
break;
}
}
}, chatHolder.getUserBean(), chatHolder.getToFakeId()
);
}
public void singleChat(final UserBean userBean,
final MessageBean messageBean,
final OnActionFinishListener onActionFinishListener) {
WeChatLoader.wechatChatSingle(
new WeChatLoader.WechatChatSingleCallBack() {
@Override
public void onBack(int resultCode, String result) {
// TODO Auto-generated method stub
switch (resultCode) {
case WeChatLoader.WECHAT_RESULT_MESSAGE_OK:
try {
JSONObject resultJsonObject = new JSONObject(result);
JSONObject stateJsonObject = resultJsonObject
.getJSONObject("base_resp");
int ret = DataParser.getRet(stateJsonObject);
if (ret == WeChatLoader.WECHAT_SINGLE_CHAT_OK) {
messageBean.setSendState(MessageBean.MESSAGE_SEND_OK);
onActionFinishListener.onFinish(ACTION_SUCCESS, true);
return;
} else if (ret == WeChatLoader.WECHAT_SINGLE_CHAT_OUT_OF_DATE) {
messageBean.setSendState(MessageBean.MESSAGE_SEND_FAILED_LIMIT_OF_TIME);
onActionFinishListener.onFinish(ACTION_SUCCESS, false);
return;
} else if (ret == WeChatLoader.WECHAT_SINGLE_CHAT_FANS_NOT_RECEIVE) {
messageBean.setSendState(MessageBean.MESSAGE_SEND_FAILED_FANS_NOT_RECEIVE);
onActionFinishListener.onFinish(ACTION_SUCCESS, false);
return;
}
} catch (Exception exception) {
Log.e("single chat result parse error", "" + exception);
}
messageBean.setSendState(MessageBean.MESSAGE_SEND_FAILED_LIMIT_OF_TIME);
onActionFinishListener.onFinish(ACTION_OTHER, null);
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_TIMEOUT:
onActionFinishListener.onFinish(ACTION_TIME_OUT, null);
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_OTHER:
onActionFinishListener.onFinish(ACTION_OTHER, null);
break;
}
}
}, userBean, messageBean
);
}
public void reply(final int userIndex, final MessageBean messageBean,
final String replyContent,
final OnActionFinishListener onActionFinishListener) {
WeChatLoader.wechatMessageReply(
new WechatMessageReplyCallBack() {
@Override
public void onBack(int resultCode, String strResult) {
// TODO Auto-generated method stub
switch (resultCode) {
case WeChatLoader.WECHAT_RESULT_MESSAGE_OK:
try {
// String strResult = EntityUtils.toString(response
// .getEntity());
Toast.makeText(mContext, "回复成功", Toast.LENGTH_SHORT)
.show();
onActionFinishListener.onFinish(ACTION_SUCCESS, null);
} catch (Exception exception) {
}
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_TIMEOUT:
onActionFinishListener.onFinish(ACTION_TIME_OUT, null);
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_OTHER:
onActionFinishListener.onFinish(ACTION_OTHER, null);
break;
}
}
}, mDataManager.getUserGroup().get(userIndex), messageBean, replyContent
);
}
public void star(final int userIndex, final int position,
final boolean star,
final OnActionFinishListener onActionFinishListener) {
WeChatLoader.wechatMessageStar(
new WechatMessageStarCallBack() {
@Override
public void onBack(int resultCode, String strResult) {
// TODO Auto-generated method
// stub
switch (resultCode) {
case WeChatLoader.WECHAT_RESULT_MESSAGE_OK:
try {
JSONObject resultJsonObject = new JSONObject(
strResult);
if (resultJsonObject.get("ret") != null) {
if (Integer.parseInt(resultJsonObject
.get("ret") + "") == WeChatLoader.WECHAT_STAR_OK) {
if (star) {
Toast.makeText(mContext, "加星标成功",
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(mContext, "取消星标成功",
Toast.LENGTH_SHORT).show();
}
mDataManager.getMessageHolders()
.get(userIndex).getMessageList()
.get(position).setStarred(star);
onActionFinishListener.onFinish(ACTION_SUCCESS, null);
}
}
} catch (Exception exception) {
Log.e("star result parse error", "" + exception);
}
onActionFinishListener.onFinish(ACTION_OTHER, null);
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_TIMEOUT:
onActionFinishListener.onFinish(ACTION_TIME_OUT, null);
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_OTHER:
onActionFinishListener.onFinish(ACTION_OTHER, null);
break;
}
}
}, mDataManager.getUserGroup().get(userIndex), mDataManager
.getMessageHolders().get(userIndex).getMessageList()
.get(position), star
);
}
public void mass(final int userIndex, final MaterialBean materialBean,
final OnActionFinishListener onActionFinishListener) {
WeChatLoader.wechatMass(
new WechatMassCallBack() {
@Override
public void onBack(int resultCode, String strResult) {
// TODO Auto-generated method stub
Log.e(" mass result",resultCode+"|"+strResult);
switch (resultCode) {
case WeChatLoader.WECHAT_RESULT_MESSAGE_OK:
try {
mDataManager.doLoadingEnd();
JSONObject resultJsonObject = new JSONObject(strResult);
if (resultJsonObject.get("ret") != null) {
if (Integer.parseInt(resultJsonObject.get("ret") + "") == WeChatLoader.WECHAT_MASS_OK) {
onActionFinishListener.onFinish(ACTION_SUCCESS, null);
} else if (Integer.parseInt(resultJsonObject.get("ret")
+ "") == WeChatLoader.WECHAT_MASS_ERROR_ONLY_ONE) {
Log.e("mass only ", "");
mDataManager.doPopEnsureDialog(false, true,
"哎呀", "每天只能群发一条哦~",
new DialogSureClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
mDataManager.doDismissAllDialog();
}
});
}
} else {
mDataManager.doLoadingEnd();
}
} catch (Exception exception) {
Log.e("mass result parse exception", "" + exception);
onActionFinishListener.onFinish(ACTION_OTHER, null);
}
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_TIMEOUT:
onActionFinishListener.onFinish(ACTION_TIME_OUT, null);
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_OTHER:
onActionFinishListener.onFinish(ACTION_OTHER, null);
break;
}
}
}, mDataManager.getCurrentUser(), materialBean
);
}
public void getNewMessageCount(final int userIndex, final String lastMsgId,
final OnActionFinishListener onActionFinishListener) {
WeChatLoader.wechatGetNewMessageCount(
new WeChatLoader.WechatGetNewMessageCountCallBack() {
@Override
public void onBack(int resultCode, String result) {
switch (resultCode) {
case WeChatLoader.WECHAT_RESULT_MESSAGE_OK:
try {
JSONObject resultObject = new JSONObject(result);
int ret = DataParser.getRet(resultObject);
if (ret == GET_NEW_MESSAGE_COUNT_SUCCESS) {
int newMessageCount = Integer.parseInt(resultObject.get("newTotalMsgCount").toString());
onActionFinishListener.onFinish(ACTION_SUCCESS, newMessageCount);
return;
}
} catch (Exception e) {
Log.e("parse new message count error", "" + e);
onActionFinishListener.onFinish(ACTION_OTHER, null);
}
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_TIMEOUT:
onActionFinishListener.onFinish(ACTION_TIME_OUT, null);
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_OTHER:
onActionFinishListener.onFinish(ACTION_OTHER, null);
break;
}
}
}, mDataManager.getUserGroup().get(userIndex), lastMsgId
);
}
public void getUploadInfo(final int userIndex,
final OnActionFinishListener onActionFinishListener) {
WeChatLoader.wechatGetUploadInfo(new WeChatLoader.WechatGetUploadInfo() {
@Override
public void onBack(int resultCode, String strResult) {
switch (resultCode) {
case WeChatLoader.WECHAT_RESULT_MESSAGE_OK:
DataParser.parseUploadInfo(new DataParser.UploadInfoParseCallBack() {
@Override
public void onBack(int code) {
if (code == DataParser.PARSE_SUCCESS) {
onActionFinishListener.onFinish(ACTION_SUCCESS, null);
Log.e("parse upload info success", "success");
}
}
}, strResult, mDataManager.getMessageHolders().get(userIndex).getUploadHelper());
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_TIMEOUT:
onActionFinishListener.onFinish(ACTION_TIME_OUT, null);
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_OTHER:
onActionFinishListener.onFinish(ACTION_OTHER, null);
break;
}
}
}, mDataManager.getUserGroup().get(userIndex));
}
public void uploadImg(final int userIndex, final String filePath,
final OnActionFinishListener onActionFinishListener) {
WeChatLoader.wechatUploadFile(new WeChatLoader.WechatUploadFileCallBack() {
@Override
public void onBack(int resultCode, String result) {
switch (resultCode) {
case WeChatLoader.WECHAT_RESULT_MESSAGE_OK:
//{"base_resp":{"ret":0,"err_msg":"ok"},"location":"bizfile","type":"image","content":"200009060"}
try {
JSONObject resultObject = new JSONObject(result);
JSONObject retObject = resultObject.getJSONObject("base_resp");
int ret = DataParser.getRet(retObject);
if (ret == 0) {
Gson gson = new Gson();
UploadHelper.NowUploadBean nowUploadBean = (UploadHelper.NowUploadBean) gson.fromJson(result, UploadHelper.NowUploadBean.class);
mDataManager.getMessageHolders().get(userIndex).getUploadHelper().setNowUploadBean(nowUploadBean);
onActionFinishListener.onFinish(ACTION_SUCCESS, nowUploadBean);
}
return;
} catch (Exception e) {
}
onActionFinishListener.onFinish(ACTION_OTHER, null);
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_TIMEOUT:
onActionFinishListener.onFinish(ACTION_TIME_OUT, null);
break;
case WeChatLoader.WECHAT_RESULT_MESSAGE_ERROR_OTHER:
onActionFinishListener.onFinish(ACTION_OTHER, null);
break;
}
}
}, filePath, mDataManager.getUserGroup().get(userIndex),
mDataManager.getMessageHolders().get(userIndex).getUploadHelper().getTicket());
}
}