|
|
@@ -2,18 +2,29 @@ package com.uas.appme.pedometer.utils;
|
|
|
|
|
|
import android.content.Intent;
|
|
|
import android.support.v4.content.LocalBroadcastManager;
|
|
|
+import android.util.Log;
|
|
|
+import android.widget.Toast;
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.common.LogUtil;
|
|
|
import com.common.config.BaseConfig;
|
|
|
+import com.common.data.CalendarUtil;
|
|
|
import com.common.data.DateFormatUtil;
|
|
|
import com.common.data.JSONUtil;
|
|
|
import com.common.data.ListUtils;
|
|
|
import com.common.data.StringUtil;
|
|
|
import com.core.app.AppConstant;
|
|
|
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.CoreService;
|
|
|
+import com.core.xmpp.ListenerManager;
|
|
|
+import com.core.xmpp.dao.ChatMessageDao;
|
|
|
+import com.core.xmpp.dao.FriendDao;
|
|
|
+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;
|
|
|
@@ -25,7 +36,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.
|
|
|
@@ -90,9 +103,10 @@ public class StepUtils {
|
|
|
|
|
|
|
|
|
if (stepEntity == null) {
|
|
|
- Intent intent = new Intent("addStepEntity");
|
|
|
- intent.putExtra("remoteSteps", remoteSteps);
|
|
|
- BaseConfig.getContext().sendBroadcast(intent);
|
|
|
+// Intent intent = new Intent("addStepEntity"); //隔夜数据未清空,有点问题,先不用
|
|
|
+// intent.putExtra("remoteSteps", remoteSteps);
|
|
|
+// BaseConfig.getContext().sendBroadcast(intent);
|
|
|
+ return;
|
|
|
} else if (remoteSteps > CommonUtil.getNumByString(stepEntity.getSteps())) { // 本地步数小于服务端 ,更新本地步数,使其通服务器一样
|
|
|
Intent intent = new Intent("updateStepEntity");
|
|
|
intent.putExtra("remoteSteps", remoteSteps);
|
|
|
@@ -154,93 +168,125 @@ public class StepUtils {
|
|
|
* @param position
|
|
|
*/
|
|
|
public static void doStepPriseHttp(StepsRankingBean model, int type, int position) {
|
|
|
+ String userid = null;
|
|
|
switch (type){
|
|
|
case 2:
|
|
|
+ userid = model.getAttrank().get(position).getAs_userid();
|
|
|
break;
|
|
|
case 3:
|
|
|
+ userid = model.getToalrank().get(position).getAs_userid();
|
|
|
break;
|
|
|
}
|
|
|
-
|
|
|
- //TODO 请求操作成功后发广播更新排行版界面
|
|
|
- //发送本地广播
|
|
|
- LocalBroadcastManager.getInstance(MyApplication.getInstance().getApplicationContext()).sendBroadcast(new Intent(AppConstant.UPDATE_STEPRANKING_PRISE));
|
|
|
+ if (StringUtil.isEmpty(userid) || MyApplication.getInstance().mLoginUser.getUserId().equals(userid)) return; //不可以赞自己
|
|
|
+ //点赞操作
|
|
|
+ HttpClient httpClient = new HttpClient.Builder(Constant.BASE_STEP_URL).isDebug(true).build(true);
|
|
|
+ httpClient.Api().send(new HttpClient.Builder()
|
|
|
+ .url("appStepPrise")
|
|
|
+ .add("userid",userid) // 点赞对象ID
|
|
|
+ .add("token",MyApplication.getInstance().mAccessToken)
|
|
|
+ .add("selfid",MyApplication.getInstance().mLoginUser.getUserId())
|
|
|
+ .add("selfname",CommonUtil.getSharedPreferences(MyApplication.getInstance(), "erp_emname"))
|
|
|
+ .method(Method.POST)
|
|
|
+ .build(),new ResultSubscriber<>(new ResultListener<Object>() {
|
|
|
+ @Override
|
|
|
+ public void onResponse(Object o) {
|
|
|
+ if (!JSONUtil.validate(o.toString()) || o == null) return;
|
|
|
+ LogUtil.prinlnLongMsg("appStepPrise", o.toString()+"");
|
|
|
+ try {
|
|
|
+ //TODO 请求操作成功后发广播更新排行版界面
|
|
|
+ //发送本地广播
|
|
|
+ LocalBroadcastManager.getInstance(MyApplication.getInstance().getApplicationContext()).sendBroadcast(new Intent(AppConstant.UPDATE_STEPRANKING_PRISE));
|
|
|
+ }catch (Exception e){
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }));
|
|
|
}
|
|
|
|
|
|
|
|
|
- /**
|
|
|
- * 分享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)) {
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 分享UU运动的发消息方法
|
|
|
+ * @param ownerId
|
|
|
+ * @param ownerName
|
|
|
+ * @param objectId
|
|
|
+ * @param text
|
|
|
+ */
|
|
|
+ public static void sendMessage( CoreService mService,final String ownerId,String ownerName, final String objectId, final String text) {
|
|
|
+// ServiceConnection mConnection = new ServiceConnection() {
|
|
|
+// @Override
|
|
|
+// public void onServiceDisconnected(ComponentName name) {
|
|
|
+// mService = null;
|
|
|
+// }
|
|
|
+//
|
|
|
+// @Override
|
|
|
+// public void onServiceConnected(ComponentName name, IBinder service) {
|
|
|
+// mService= ((CoreService.CoreServiceBinder) service).getService();
|
|
|
+//
|
|
|
+// }
|
|
|
+// };
|
|
|
+ ChatMessage message = new ChatMessage();
|
|
|
+ message.setType(XmppMessage.TYPE_TEXT);
|
|
|
+ message.setContent(text);
|
|
|
+ message.setFromUserName(ownerName);
|
|
|
+ message.setFromUserId(ownerId);
|
|
|
+ message.setTimeSend(CalendarUtil.getSecondMillion());
|
|
|
+ if (interprect(ownerId,objectId,message)) {
|
|
|
return;
|
|
|
}
|
|
|
Log.i("wang", "send message:" + JSON.toJSONString(message));
|
|
|
- boolean mHasSend = true;
|
|
|
+ // mHasSend = true;
|
|
|
Log.d("roamer", "开始发送消息,ChatBottomView的回调 sendmessage");
|
|
|
message.setPacketId(UUID.randomUUID().toString().replaceAll("-", ""));
|
|
|
- ChatMessageDao.getInstance().saveNewSingleChatMessage(mLoginUserId, mFriend.getUserId(), message);
|
|
|
+ ChatMessageDao.getInstance().saveNewSingleChatMessage(ownerId, objectId, 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);
|
|
|
+ // UploadEngine.uploadImFile(mFriend.getUserId(), message, mUploadResponse);
|
|
|
|
|
|
} else {
|
|
|
Log.d("roamer", "sendChatMessage....");
|
|
|
- mService.sendChatMessage(mFriend.getUserId(), message);
|
|
|
+ mService.sendChatMessage(objectId, message);
|
|
|
}
|
|
|
} else {
|
|
|
Log.d("roamer", "sendChatMessage");
|
|
|
-
|
|
|
- mService.sendChatMessage(mFriend.getUserId(), message);
|
|
|
- //进行百度推送
|
|
|
- sendPushTask(mLoginUserId, mFriend.getUserId(), message.getContent());
|
|
|
+ mService.sendChatMessage(objectId, message);
|
|
|
|
|
|
}
|
|
|
}
|
|
|
- *//**
|
|
|
+
|
|
|
+ /**
|
|
|
* 拦截发送的消息
|
|
|
*
|
|
|
* @param message
|
|
|
- *//*
|
|
|
- public boolean interprect(ChatMessage message) {
|
|
|
+ */
|
|
|
+ private static boolean interprect(String ownerId,String objectId,ChatMessage message) {
|
|
|
int len = 0;
|
|
|
- List<Friend> mBlackList = FriendDao.getInstance().getAllBlacklists(MyApplication.getInstance().mLoginUser.getUserId());
|
|
|
- if (mBlackList != null) {
|
|
|
+ List<Friend> mBlackList = FriendDao.getInstance().getAllBlacklists(ownerId);
|
|
|
+ if (mBlackList!=null) {
|
|
|
for (Friend friend : mBlackList) {
|
|
|
- if (friend.getUserId().equals(mFriend.getUserId())) {
|
|
|
- Toast.makeText(mContext, "已经加入黑名单,无法发送消息", Toast.LENGTH_SHORT).show();
|
|
|
+ if (friend.getUserId().equals(objectId)) {
|
|
|
+ Toast.makeText(MyApplication.getInstance(), "已经加入黑名单,无法发送消息", Toast.LENGTH_SHORT).show();
|
|
|
len++;
|
|
|
}
|
|
|
}
|
|
|
@@ -248,33 +294,10 @@ public class StepUtils {
|
|
|
Log.d("wang", "....kkkkk");
|
|
|
if (len != 0) {
|
|
|
// finish();
|
|
|
- ListenerManager.getInstance().notifyMessageSendStateChange(mLoginUserId, mFriend.getUserId(),
|
|
|
+ ListenerManager.getInstance().notifyMessageSendStateChange(ownerId, objectId,
|
|
|
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;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- };*/
|
|
|
-
|
|
|
}
|