|
|
@@ -1,12 +1,25 @@
|
|
|
package com.uas.appme.pedometer.utils;
|
|
|
|
|
|
+import android.app.Activity;
|
|
|
+import android.util.Log;
|
|
|
+import android.widget.Toast;
|
|
|
+
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
import com.common.LogUtil;
|
|
|
import com.common.data.DateFormatUtil;
|
|
|
import com.common.data.JSONUtil;
|
|
|
import com.common.data.StringUtil;
|
|
|
import com.core.app.MyApplication;
|
|
|
+import com.core.model.Friend;
|
|
|
+import com.core.model.XmppMessage;
|
|
|
import com.core.utils.CommonUtil;
|
|
|
import com.core.utils.TimeUtils;
|
|
|
+import com.core.xmpp.ListenerManager;
|
|
|
+import com.core.xmpp.dao.ChatMessageDao;
|
|
|
+import com.core.xmpp.dao.FriendDao;
|
|
|
+import com.core.xmpp.downloader.UploadEngine;
|
|
|
+import com.core.xmpp.listener.ChatMessageListener;
|
|
|
+import com.core.xmpp.model.ChatMessage;
|
|
|
import com.me.network.app.http.HttpClient;
|
|
|
import com.me.network.app.http.Method;
|
|
|
import com.me.network.app.http.rx.ResultListener;
|
|
|
@@ -16,7 +29,9 @@ import com.uas.appme.pedometer.constant.Constant;
|
|
|
import com.uas.appme.pedometer.db.StepDataDao;
|
|
|
|
|
|
import java.util.HashMap;
|
|
|
+import java.util.List;
|
|
|
import java.util.Map;
|
|
|
+import java.util.UUID;
|
|
|
|
|
|
/**
|
|
|
* Created by FANGlh on 2017/9/21.
|
|
|
@@ -71,4 +86,116 @@ public class StepUtils {
|
|
|
private static boolean isCanStep(){
|
|
|
return StepCountCheckUtil.isSupportStepCountSensor(MyApplication.getInstance());
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 分享UU运动的发消息方法
|
|
|
+ * @param activity 上下文
|
|
|
+ * @param loginim_id 自己的imid
|
|
|
+ * @param friendim_id 要分享的好友的imid
|
|
|
+ */
|
|
|
+ public void sendShareStepMsg(final ChatMessage message,Activity activity,String loginim_id, String friendim_id){
|
|
|
+ if (interprect(message)) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ message.setPacketId(UUID.randomUUID().toString().replaceAll("-", ""));
|
|
|
+ ChatMessageDao.getInstance().saveNewSingleChatMessage(loginim_id, friendim_id, message);
|
|
|
+ if (message.getType() == XmppMessage.TYPE_VOICE || message.getType() == XmppMessage.TYPE_IMAGE
|
|
|
+ || message.getType() == XmppMessage.TYPE_VIDEO || message.getType() == XmppMessage.TYPE_FILE) {
|
|
|
+ if (!message.isUpload()) {
|
|
|
+ Log.d("roamer", "去更新服务器的数据");
|
|
|
+ UploadEngine.uploadImFile(friendim_id, message, mUploadResponse);
|
|
|
+
|
|
|
+ } else {
|
|
|
+ Log.d("roamer", "sendChatMessage....");
|
|
|
+ mService.sendChatMessage(mFriend.getUserId(), message);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ Log.d("roamer", "sendChatMessage");
|
|
|
+
|
|
|
+ mService.sendChatMessage(mFriend.getUserId(), message);
|
|
|
+ //进行百度推送
|
|
|
+ sendPushTask(mLoginUserId, mFriend.getUserId(), message.getContent());
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ private void sendMessage(final ChatMessage message) {
|
|
|
+ if (interprect(message)) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ Log.i("wang", "send message:" + JSON.toJSONString(message));
|
|
|
+ boolean mHasSend = true;
|
|
|
+ Log.d("roamer", "开始发送消息,ChatBottomView的回调 sendmessage");
|
|
|
+ message.setPacketId(UUID.randomUUID().toString().replaceAll("-", ""));
|
|
|
+ ChatMessageDao.getInstance().saveNewSingleChatMessage(mLoginUserId, mFriend.getUserId(), message);
|
|
|
+ if (message.getType() == XmppMessage.TYPE_VOICE || message.getType() == XmppMessage.TYPE_IMAGE
|
|
|
+ || message.getType() == XmppMessage.TYPE_VIDEO || message.getType() == XmppMessage.TYPE_FILE) {
|
|
|
+ if (!message.isUpload()) {
|
|
|
+ Log.d("roamer", "去更新服务器的数据");
|
|
|
+ UploadEngine.uploadImFile(mFriend.getUserId(), message, mUploadResponse);
|
|
|
+
|
|
|
+ } else {
|
|
|
+ Log.d("roamer", "sendChatMessage....");
|
|
|
+ mService.sendChatMessage(mFriend.getUserId(), message);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ Log.d("roamer", "sendChatMessage");
|
|
|
+
|
|
|
+ mService.sendChatMessage(mFriend.getUserId(), message);
|
|
|
+ //进行百度推送
|
|
|
+ sendPushTask(mLoginUserId, mFriend.getUserId(), message.getContent());
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 拦截发送的消息
|
|
|
+ *
|
|
|
+ * @param message
|
|
|
+ */
|
|
|
+ public boolean interprect(ChatMessage message) {
|
|
|
+ int len = 0;
|
|
|
+ List<Friend> mBlackList = FriendDao.getInstance().getAllBlacklists(MyApplication.getInstance().mLoginUser.getUserId());
|
|
|
+ if (mBlackList != null) {
|
|
|
+ for (Friend friend : mBlackList) {
|
|
|
+ if (friend.getUserId().equals(mFriend.getUserId())) {
|
|
|
+ Toast.makeText(mContext, "已经加入黑名单,无法发送消息", Toast.LENGTH_SHORT).show();
|
|
|
+ len++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Log.d("wang", "....kkkkk");
|
|
|
+ if (len != 0) {
|
|
|
+ // finish();
|
|
|
+ ListenerManager.getInstance().notifyMessageSendStateChange(mLoginUserId, mFriend.getUserId(),
|
|
|
+ message.get_id(), ChatMessageListener.MESSAGE_SEND_FAILED);
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ private UploadEngine.ImFileUploadResponse mUploadResponse = new UploadEngine.ImFileUploadResponse() {
|
|
|
+ @Override
|
|
|
+ public void onSuccess(String toUserId, ChatMessage message) {
|
|
|
+ mService.sendChatMessage(mFriend.getUserId(), message);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onFailure(String toUserId, ChatMessage message) {
|
|
|
+ for (int i = 0; i < mChatMessages.size(); i++) {
|
|
|
+ ChatMessage msg = mChatMessages.get(i);
|
|
|
+ if (message.get_id() == msg.get_id()) {
|
|
|
+ msg.setMessageState(ChatMessageListener.MESSAGE_SEND_FAILED);
|
|
|
+ ChatMessageDao.getInstance().updateMessageSendState(mLoginUserId, mFriend.getUserId(),
|
|
|
+ message.get_id(), ChatMessageListener.MESSAGE_SEND_FAILED);
|
|
|
+ mChatContentView.notifyDataSetInvalidated(false);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ };
|
|
|
+
|
|
|
}
|