From: k.liang Date: Wed, 29 Dec 2021 07:18:32 +0000 (+0800) Subject: gator-优化协议与视频通话应用的数据传输 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=7ca7a3603aa0e46e1e8e70f87900c82d5243a53e;p=icsupport.git gator-优化协议与视频通话应用的数据传输 --- diff --git a/app/release/output.json b/app/release/output.json index 8e65e8e9..72297152 100644 --- a/app/release/output.json +++ b/app/release/output.json @@ -1 +1 @@ -[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":1030,"versionName":"2112201457","enabled":true,"outputFile":"ICSer_V1030_2112201457_release.apk","fullName":"release","baseName":"release"},"path":"ICSer_V1030_2112201457_release.apk","properties":{}}] \ No newline at end of file +[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":1034,"versionName":"2112291124","enabled":true,"outputFile":"ICSer_V1034_2112291124_release.apk","fullName":"release","baseName":"release"},"path":"ICSer_V1034_2112291124_release.apk","properties":{}}] \ No newline at end of file diff --git a/app/src/main/aidl/com/enqualcomm/support/IFZDCallback.aidl b/app/src/main/aidl/com/enqualcomm/support/IFZDCallback.aidl index 724777ca..790cd7c5 100644 --- a/app/src/main/aidl/com/enqualcomm/support/IFZDCallback.aidl +++ b/app/src/main/aidl/com/enqualcomm/support/IFZDCallback.aidl @@ -14,5 +14,6 @@ interface IFZDCallback { void onFriendsListLoaded(); void onCalling(in String callerID,in String roomName,in String type,in String token); void onCallingByUserName(in String userName,in String roomName,in String type,in String token); + void onResultServerMsg(in String userName,in String roomName,in String token); void onServerReady(); } \ No newline at end of file diff --git a/app/src/main/aidl/com/enqualcomm/support/IFZDService.aidl b/app/src/main/aidl/com/enqualcomm/support/IFZDService.aidl index d0913e8d..37d98378 100644 --- a/app/src/main/aidl/com/enqualcomm/support/IFZDService.aidl +++ b/app/src/main/aidl/com/enqualcomm/support/IFZDService.aidl @@ -18,4 +18,5 @@ interface IFZDService { void makeFriends(); void unbindFriends(String remoteFriendId); void getFriendsList(); + void takeCallEnd(); } \ 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 0ab0277c..ae789b48 100644 --- a/app/src/main/java/com/enqualcomm/support/CoreService.java +++ b/app/src/main/java/com/enqualcomm/support/CoreService.java @@ -2004,6 +2004,12 @@ public class CoreService extends Service { StringMessage ppq = protocolAPIHelper.getFriendsList(runtime); connection.send(ppq); } + + @Override + public void takeCallEnd() { + ICLogger.d("take call end..."); + protocolAPIHelper.takeCallEnd(runtime); + } }; } diff --git a/app/src/main/java/com/ic/protocols/protocolAPIHelper.java b/app/src/main/java/com/ic/protocols/protocolAPIHelper.java index a7dabda3..c8e3875a 100644 --- a/app/src/main/java/com/ic/protocols/protocolAPIHelper.java +++ b/app/src/main/java/com/ic/protocols/protocolAPIHelper.java @@ -1523,4 +1523,16 @@ public class protocolAPIHelper { } } + + public static void takeCallEnd(Runtime runtime){ + if (is_protocol_not_Initialled()) { + return; + } + switch (Config.protocol_no) { + case Config.PROTOCOL_GATOR: + //设备端主动挂断电话 + protocol_gator.takeCallEnd(runtime); + break; + } + } } diff --git a/app/src/main/java/com/ic/protocols/protocol_gator.java b/app/src/main/java/com/ic/protocols/protocol_gator.java index 0bd5ab5e..b0ee666c 100644 --- a/app/src/main/java/com/ic/protocols/protocol_gator.java +++ b/app/src/main/java/com/ic/protocols/protocol_gator.java @@ -72,7 +72,7 @@ public class protocol_gator { public static final String defaultServerIP = "watch.gatorcn.com"; public static final int defaultServerPort = 27015; private boolean hasLogin = false; - private boolean isInitiativeVideoCall = false; + private static boolean isInitiativeVideoCall = false; public void getServerReady() { ICLogger.d("getServerReady..."); @@ -1632,9 +1632,10 @@ SOS报警上行WIFI、LBS混合定位数据,步数为255æ­¥,电量等级5,数 if(!isInitiativeVideoCall){ isInitiativeVideoCall = true; ICLogger.d("app端发起视频通话到手表..."); - handleAP50(mRuntime, mConnection, cmd); + handleAP50(true,cmd); }else { ICLogger.d("手表主动发起的通话,service返回的AP50..."); + handleAP50(false,cmd); } break; case AP51://收到服务器的通话状态消息 @@ -1669,9 +1670,7 @@ SOS报警上行WIFI、LBS混合定位数据,步数为255æ­¥,电量等级5,数 if(status.equals("2") || status.equals("3") || status.equals("4")){ isInitiativeVideoCall = false; } - if(!isInitiativeVideoCall) { - dispatchAP51(channelId, status); - } + dispatchAP51(channelId, status); //TODO:回复服务器 ICLogger.d("send broadcast...to video call..."); } else { @@ -1718,17 +1717,15 @@ SOS报警上行WIFI、LBS混合定位数据,步数为255æ­¥,电量等级5,数 * 17688768961,亲情号 * tanmingxia0755@gmail.com;357593061269893,频道号 * 0065ad4f9aed8cf411aaef2e9a5fe4e2b7fIABuMKChZsPEdWZ+5Au/cONiTs7Vd6IoIjqOhXa9yA8Ng5r8vd0NvtUaIgCWg34FMhsCYQQAAQDuyQBhAgDuyQBhAwDuyQBhBADuyQBh - * @param mRuntime - * @param mConnection * @param cmd */ - private void handleAP50(Runtime mRuntime, Connection mConnection, String cmd) { + private void handleAP50(boolean isComeIn,String cmd) { ICLogger.d("handleAP50 ==> " + cmd); String[] split = cmd.split(CMDSPLIT); //服务器下发AP50,频道创建的秒为单位的时间戳,亲情号,频道ID,加入频道所需的token凭证 if (split.length == 5) { //调用声网SDK 加入频道的uid参数 手表端暂时固定为2 - String targetId = split[2]; + String targetId = split[2]; //gator 亲情号 String channel = split[3]; String token = split[4]; ICLogger.d("targetId ==> " + targetId); @@ -1736,13 +1733,13 @@ SOS报警上行WIFI、LBS混合定位数据,步数为255æ­¥,电量等级5,数 ICLogger.d("token ==> " + token); //TODO:回复服务器 ICLogger.d("send broadcast...to video call..."); - dispatchAP50(targetId, channel, token); + dispatchAP50(isComeIn,targetId, channel, token); } else { ICLogger.d("parse cmd error == > " + split.length); } } - private void dispatchAP50(String userName, String channel, String token) { + private void dispatchAP50(boolean isComeIn,String userName, String channel, String token) { //收到服务器时间消息的时候认为服务器已经准备好了 RemoteCallbackList fzdCallback = mRuntime.getVideoCallCallback(); int i = fzdCallback.beginBroadcast(); @@ -1750,7 +1747,11 @@ SOS报警上行WIFI、LBS混合定位数据,步数为255æ­¥,电量等级5,数 while (i > 0) { i--; //1是视频通话,0是语音通话 - fzdCallback.getBroadcastItem(i).onCallingByUserName(userName, channel, "1", token); + if(isComeIn){ + fzdCallback.getBroadcastItem(i).onCallingByUserName(userName, channel, "1", token); + }else { + fzdCallback.getBroadcastItem(i).onResultServerMsg(userName, channel, token); + } } } catch (Exception e) { e.printStackTrace(); @@ -1759,6 +1760,10 @@ SOS报警上行WIFI、LBS混合定位数据,步数为255æ­¥,电量等级5,数 } } + public static void takeCallEnd(Runtime runtime){ + isInitiativeVideoCall = false; + } + private void serverReady() { //收到服务器时间消息的时候认为服务器已经准备好了 RemoteCallbackList fzdCallback = mRuntime.getVideoCallCallback(); diff --git a/app/version_code.properties b/app/version_code.properties index 847e93c2..f0aedf05 100644 --- a/app/version_code.properties +++ b/app/version_code.properties @@ -1,2 +1,2 @@ -#Mon Dec 20 14:57:29 CST 2021 -VERSION_CODE=1030 +#Wed Dec 29 11:24:39 CST 2021 +VERSION_CODE=1034