From 690fc09efbb303f649d5fcdb55c6dde866b38426 Mon Sep 17 00:00:00 2001 From: TrillGates Date: Mon, 12 Apr 2021 15:26:33 +0800 Subject: [PATCH] completed unbind friend. --- .../com/enqualcomm/support/IFZDCallback.aidl | 2 +- .../com/enqualcomm/support/CoreService.java | 2 + .../java/com/ic/protocols/protocol_fzd.java | 37 +++++++++++++++++-- 3 files changed, 37 insertions(+), 4 deletions(-) diff --git a/app/src/main/aidl/com/enqualcomm/support/IFZDCallback.aidl b/app/src/main/aidl/com/enqualcomm/support/IFZDCallback.aidl index f8bb2c13..619dd8a6 100644 --- a/app/src/main/aidl/com/enqualcomm/support/IFZDCallback.aidl +++ b/app/src/main/aidl/com/enqualcomm/support/IFZDCallback.aidl @@ -9,6 +9,6 @@ interface IFZDCallback { void onBRIdEmpty(); void onRemoteReject(in String remoteUserId,in int type); void onFriendsMakeResult(in int result); - void onFriendsUnbindResult(in int result); + void onFriendsUnbindResult(); void onFriendsListLoaded(); } \ No newline at end of file diff --git a/app/src/main/java/com/enqualcomm/support/CoreService.java b/app/src/main/java/com/enqualcomm/support/CoreService.java index 70540291..85cb973a 100644 --- a/app/src/main/java/com/enqualcomm/support/CoreService.java +++ b/app/src/main/java/com/enqualcomm/support/CoreService.java @@ -1776,7 +1776,9 @@ public class CoreService extends Service { @Override public void unbindFriends(String remoteFriendId) { + StringMessage ppr = protocol_fzd.PPR(remoteFriendId); //解除朋友 + Deliver.sendLocationMSG(ppr); } @Override diff --git a/app/src/main/java/com/ic/protocols/protocol_fzd.java b/app/src/main/java/com/ic/protocols/protocol_fzd.java index bad4d9de..0cbfeb85 100644 --- a/app/src/main/java/com/ic/protocols/protocol_fzd.java +++ b/app/src/main/java/com/ic/protocols/protocol_fzd.java @@ -393,6 +393,7 @@ public class protocol_fzd { SOSSMS,//SOS 短信报警开关 LOWBAT,//低电短信报警开关 VERNO,//版本查询 + PPR,//解除好友关系 CR,//定位指令 POWEROFF,//关机指令 REMOVE,//取下手环报警开关 @@ -441,6 +442,7 @@ public class protocol_fzd { cmdMap.put(CMD_TYPE.WLKEY, "WLKEY"); cmdMap.put(CMD_TYPE.profile, "profile"); cmdMap.put(CMD_TYPE.KEYBRD, "KEYBRD"); + cmdMap.put(CMD_TYPE.PPR, "PPR"); cmdMap.put(CMD_TYPE.FALLDOWN, "FALLDOWN"); cmdMap.put(CMD_TYPE.SHAKE, "SHAKE"); cmdMap.put(CMD_TYPE.RECORD, "RECORD"); @@ -1693,20 +1695,45 @@ public class protocol_fzd { break; case VERNO: ICLogger.d("收到服务器获取手表版本的指令..."); - handleVERNO(mConnection, mRuntime); + handleVERNO(mConnection); + break; + case PPR: + //这个结果有可能是平台主动解除的 + //也有可能是客户端自己解除的 + handleFriendUnbindResult(mRuntime, data); + ICLogger.d("解除好友的指令..." + data); break; } return ret; } + private void handleFriendUnbindResult(Runtime mRuntime, String data) { + //解除有结果了,然去拉取一下新的用户列表吧 + RemoteCallbackList fzdCallback = mRuntime.getFZDCallback(); + if (fzdCallback == null) { + return; + } + try { + int i = fzdCallback.beginBroadcast(); + while (i > 0) { + IFZDCallback broadcastItem = fzdCallback.getBroadcastItem(i); + broadcastItem.onFriendsUnbindResult(); + i--; + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + fzdCallback.finishBroadcast(); + } + } + /** * 处理服务器获取手表的版本指令 * * @param mConnection - * @param mRuntime */ - private void handleVERNO(Connection mConnection, Runtime mRuntime) { + private void handleVERNO(Connection mConnection) { //获取到系统版本 String versionName = AppConfigUtil.getVersionName(); StringMessage stringMessage = genFZDCMD(cmdMap.get(CMD_TYPE.VERNO), versionName); @@ -2346,6 +2373,10 @@ public class protocol_fzd { return genFZDCMD(cmdMap.get(CMD_TYPE.TKQ)); } + public static StringMessage PPR(String remoteId) { + return genFZDCMD(cmdMap.get(CMD_TYPE.TKQ), remoteId); + } + /** * 拒绝与对方音视频通话 -- 2.17.1