更新放走丢适配声网的协议
authork.liang <liangkang648253071@126.com>
Thu, 1 Jul 2021 11:55:11 +0000 (19:55 +0800)
committerk.liang <liangkang648253071@126.com>
Thu, 1 Jul 2021 11:55:11 +0000 (19:55 +0800)
app/src/main/java/com/enqualcomm/support/CoreService.java
app/src/main/java/com/ic/protocols/protocol_fzd.java

index 844d698..0eebf44 100644 (file)
@@ -1685,10 +1685,10 @@ public class CoreService extends Service {
 
         @Override
         public void getBRId() {
-            StringMessage cmdBREG = protocol_fzd.BRREG();
+            StringMessage cmdBREG = protocol_fzd.AGREG();
             //获取佰锐ID
             connection.send(cmdBREG);
-            ICLogger.d("get bairui id..");
+            ICLogger.d("get AGORA id..");
         }
 
 
index 67b5546..895ace5 100644 (file)
@@ -93,7 +93,7 @@ public class protocol_fzd {
     private static final String CMD_HEADER_SPLIT = "*";
     private static final String CMD_SPLIT = ",";
     private static final boolean doEncryption = Util.getSystemProperties("persist.sys.encrypt_fzd", "true").equals("true");
-    public static final String defaultServerIP = "api.xcloudtech.com";
+    public static final String defaultServerIP = "fzd.xcloudtech.com";
     public static final int defaultServerPort = 9000;
     private final SharedPreferences sharedPreferences;
     private final Handler mHandler;
@@ -425,6 +425,7 @@ public class protocol_fzd {
         heart,//心率上传
         PRACTICE,//自由锻炼数据上传
         BRREG,//获取佰锐的ID
+        AGREG,//获取声网ID
         MEMBERS,//获取联系人列表
         RTALK,//视频通话佰锐:对方拒接音视频聊天(服务器下发指令)
         CALLING,//有人向你发起音视频聊天(服务器下发)
@@ -502,6 +503,7 @@ public class protocol_fzd {
         cmdMap.put(CMD_TYPE.heart, "heart");
         cmdMap.put(CMD_TYPE.PRACTICE, "PRACTICE");
         cmdMap.put(CMD_TYPE.BRREG, "BRREG");
+        cmdMap.put(CMD_TYPE.AGREG, "AGREG");
         cmdMap.put(CMD_TYPE.MEMBERS, "MEMBERS");
         cmdMap.put(CMD_TYPE.RTALK, "RTALK");
         cmdMap.put(CMD_TYPE.RCALLING, "RCALLING");
@@ -1409,6 +1411,9 @@ public class protocol_fzd {
         return genFZDCMD(cmdMap.get(CMD_TYPE.BRREG));
     }
 
+    public static StringMessage AGREG() {
+        return genFZDCMD(cmdMap.get(CMD_TYPE.AGREG));
+    }
 
     public static StringMessage PHL() {
         return genFZDCMD(cmdMap.get(CMD_TYPE.PHL));
@@ -1497,12 +1502,19 @@ public class protocol_fzd {
         if (Config.LOG_TOFILE) ICLogger.logToFile("APILog", " recv " + cmd + " " + data);
         switch (type) {
             case BRREG:
-                ICLogger.i("收到本设备的声网或佰锐Id == >  " + data);
+                ICLogger.i("收到本设备的佰锐Id == >  " + data);
                 //保存一份到sp里
                 //通知一callback
                 handleBRREG(mRuntime, data);
                 mConnection.DeliverCMDMessageToSystem(cmdMap.get(CMD_TYPE.BRREG), cmd);
                 break;
+            case AGREG:
+                ICLogger.i("收到本设备的声网Id == >  " + data);
+                //保存一份到sp里
+                //通知一callback
+                handleAGREG(mRuntime, data);
+                mConnection.DeliverCMDMessageToSystem(cmdMap.get(CMD_TYPE.AGREG), cmd);
+                break;
             case MEMBERS:
                 ICLogger.i("收到群成员数据  ==>  " + data);
                 //处理一下数据
@@ -2535,6 +2547,35 @@ public class protocol_fzd {
         }
     }
 
+    /**
+     * 处理佰锐ID结果
+     *
+     * @param runtime
+     * @param data
+     */
+    private void handleAGREG(Runtime runtime, String data) {
+        RemoteCallbackList<IFZDCallback> fzdCallback = runtime.getFZDCallback();
+        int i = fzdCallback.beginBroadcast();
+        try {
+            while (i > 0) {
+                i--;
+                IFZDCallback broadcastItem = fzdCallback.getBroadcastItem(i);
+                if (TextUtils.isEmpty(data)) {
+                    ICLogger.i("声网ID为空...");
+                    broadcastItem.onBRIdEmpty();
+                } else {
+                    broadcastItem.onBRIdLoaded(data);
+                }
+            }
+            //保存到sp里面
+            sharedPreferences.edit().putString(BRREG_ID, data).apply();
+        } catch (Exception e) {
+            e.printStackTrace();
+        } finally {
+            fzdCallback.finishBroadcast();
+        }
+    }
+
     private static final String STATE_ENV = "env_state";
 
     private boolean needResponseCalling = false;