ICLogger.d("收到交友的结果指令.");
handlePP(mRuntime, data);
break;
+ case PPQ:
+ ICLogger.d("收到好友列表...");
+ handlerPPQ(data, mRuntime);
+ break;
}
return ret;
}
+ /**
+ * 平台回复: [XT*YYYYYYYYYYYYYYY*LEN*PPQ,ID1,昵称 1,手机号 1,ID2,昵称 2,手机号 2]
+ * 实例: [XT*8800000015*000A*e476005866e8a2a6407502b3, 5F204E0,555,8800000016, 5F204E1,556]
+ * 5F204E09--->张三,是使用 unicode 编码 如 果 手 机 号 为 空 ,
+ * 则为[XT*8800000015*000A*e476005866e8a2a6407502b3, 5F204E09,,8800000016, 5F204E1,556]
+ * 如果手机号昵称都为空 ,
+ * 则为[XT*8800000015*000A*e476005866e8a2a6407502b4,,,e476005866e8a2a6407502b5, 5F204E1,556]
+ * <p>
+ * 处理,好友列表结果
+ *
+ * @param data
+ * @param mRuntime
+ * @param mConnection
+ */
+ private void handlerPPQ(String data, Runtime mRuntime) {
+ //解析数据,三个为一组
+ String[] split = data.split(CMDSPLIT);
+ if (split.length % 3 == 0) {
+ //1,2,3,4,5,6,7
+ for (int i = 0; i < split.length - 2; i += 3) {
+ String id = split[0];
+ String friendName = Util.decodeUnicode2Utf8(split[1]);
+ String phoneNum = split[2];
+ ICLogger.d("id == > " + id);
+ ICLogger.d("friendName == > " + friendName);
+ ICLogger.d("phoneNum == > " + phoneNum);
+ ContentValues contentValues = new ContentValues();
+ contentValues.put(FZDDatabaseHelper.fID, id);
+ contentValues.put(FZDDatabaseHelper.fUserName, friendName);
+ contentValues.put(FZDDatabaseHelper.fPhoneNum, phoneNum);
+ contentValues.put(FZDDatabaseHelper.fType, FZDDatabaseHelper.MemberType.FRIEND);
+ contentValues.put(FZDDatabaseHelper.fCreateTime, System.currentTimeMillis());
+ contentValues.put(FZDDatabaseHelper.fUpdateTime, System.currentTimeMillis());
+ //结果有了,保存到内容提供者里头去.
+ mRuntime.getContextProxy().getResolver()
+ .insert(Uri.parse(FZDMembersProvider.MEMBERS), contentValues);
+ }
+ } else {
+ //数据长度不对
+ ICLogger.d("data format error..split.length==> " + split.length);
+ }
+ }
+
/**
* 平台回复: 情况一:交友成功 [XT*8800000015*LEN*PP*ID,昵称,手机号]
* 实例: [XT*8800000015*000A*8800000015, 5F204E0,555]
}
//处理结果
RemoteCallbackList<IFZDCallback> fzdCallback = mRuntime.getFZDCallback();
+ if (fzdCallback == null) {
+ ICLogger.d("fzdCallback -- > null");
+ return;
+ }
try {
- if (fzdCallback == null) {
- ICLogger.d("fzdCallback -- > null");
- return;
- }
int i = fzdCallback.beginBroadcast();
while (i > 0) {
- //TODO:
IFZDCallback broadcastItem = fzdCallback.getBroadcastItem(i);
broadcastItem.onFriendsMakeResult(result);
i--;
resolver.delete(Uri.parse(FZDMembersProvider.MEMBERS), null, null);
for (int i = 0; i < split.length; i += 3) {
ContentValues contentValues = new ContentValues();
- contentValues.put("_id", Integer.parseInt(split[i]));
- contentValues.put("user_name", split[i + 1]);
- contentValues.put("phone_num", split[i + 2]);
- contentValues.put("create_time", System.currentTimeMillis());
- contentValues.put("update_time", System.currentTimeMillis());
+ contentValues.put(FZDDatabaseHelper.fID, Integer.parseInt(split[i]));
+ contentValues.put(FZDDatabaseHelper.fUserName, split[i + 1]);
+ contentValues.put(FZDDatabaseHelper.fPhoneNum, split[i + 2]);
+ contentValues.put(FZDDatabaseHelper.fType, FZDDatabaseHelper.MemberType.CONTACT);
+ contentValues.put(FZDDatabaseHelper.fCreateTime, System.currentTimeMillis());
+ contentValues.put(FZDDatabaseHelper.fUpdateTime, System.currentTimeMillis());
//结果有了,保存到内容提供者里头去.
resolver.insert(Uri.parse(FZDMembersProvider.MEMBERS), contentValues);
}