Gator
authorsnickersun <snickersun@qq.com>
Fri, 2 Jul 2021 15:34:15 +0000 (23:34 +0800)
committersnickersun <snickersun@qq.com>
Fri, 2 Jul 2021 15:34:15 +0000 (23:34 +0800)
中间版本
把videocall相关命令,抽取放到protocolAPIHelper里。解决不同协议间的兼容问题。不支持的协议只需要返回null,就完全不影响视频通话逻辑。

app/src/main/java/com/enqualcomm/support/CoreService.java
app/src/main/java/com/ic/protocols/protocolAPIHelper.java

index ad35906..9a8a544 100644 (file)
@@ -69,7 +69,6 @@ import com.ic.fzd.weather.IFZDWeatherCallback;
 import com.ic.fzd.weather.IFZDWeatherService;
 import com.ic.jni.ICJniUtils;
 import com.ic.protocols.protocolAPIHelper;
-import com.ic.protocols.protocol_fzd;
 import com.ic.s123.IS123WeatherCallback;
 import com.ic.s123.IS123WeatherService;
 
@@ -1527,10 +1526,9 @@ public class CoreService extends Service {
                 stopConnectionRetryTimer();
                 //连接成功,去获取一次天气
                 //如果防走丢的协议的话
-                if (Config.protocol_no == Config.PROTOCOL_FZD) {
-                    ICLogger.d("getFZDWeatherInfo ... ");
-                    getFZDWeatherInfo();
-                }
+                ICLogger.d("getFZDWeatherInfo ... ");
+                getFZDWeatherInfo();
+
             } else {
                 if (retry_connect_count >= retry_connect_max_times) {
                     no_network_Heartbeats_Count++;
@@ -1612,13 +1610,8 @@ public class CoreService extends Service {
         String action = intent.getAction();
         if ("com.ic.action.VIDEO_CALL".equals(action)) {
             try {
-                if (Config.protocol_no == Config.PROTOCOL_FZD) {
-                    mFZDService.getBRId();
-                    mFZDService.getContacts();
-                } else {
-                    //need user implement for other protocol
-
-                }
+                mFZDService.getBRId();
+                mFZDService.getContacts();
             } catch (Exception e) {
                 e.printStackTrace();
             }
@@ -1700,15 +1693,15 @@ public class CoreService extends Service {
         @Override
         public void getContacts() {
             //获取联系人
-            StringMessage cmdmMembers = protocol_fzd.MEMBERS();
-            //获取佰锐ID
+            StringMessage cmdmMembers = protocolAPIHelper.requestVideoCallContact(runtime);
+             //获取佰锐ID
             connection.send(cmdmMembers);
             ICLogger.d("get contacts...");
         }
 
         @Override
         public void getBRId() {
-            StringMessage cmdBREG = protocol_fzd.AGREG();
+            StringMessage cmdBREG = protocolAPIHelper.requestVideoCallID(runtime);
             //获取佰锐ID
             connection.send(cmdBREG);
             ICLogger.d("get AGORA id..");
@@ -1718,7 +1711,7 @@ public class CoreService extends Service {
         @Override
         public void rejectCallInCome(String remoteId, int type) {
             //拒绝来电
-            StringMessage rejectMsg = protocol_fzd.RCALLING(remoteId, type);
+            StringMessage rejectMsg = protocolAPIHelper.rejectVideoCall(runtime,remoteId, type);
             connection.send(rejectMsg);
             ICLogger.d("reject remote call request..." + remoteId + "..." + type);
         }
@@ -1726,7 +1719,7 @@ public class CoreService extends Service {
         @Override
         public void requireCall(int type, int remoteUserId) {
             //请求与对方通话
-            StringMessage talk = protocol_fzd.AGTALK(type, remoteUserId);
+            StringMessage talk = protocolAPIHelper.dialVideoCall(runtime,type, remoteUserId);
             connection.send(talk);
             ICLogger.d("require call == > type is " + type + " remote user id is == > " + remoteUserId);
         }
@@ -1734,16 +1727,16 @@ public class CoreService extends Service {
         @Override
         public void test() {
             //触发测试
-            // StringMessage MEMBERS = protocol_fzd.MEMBERS();
+            // StringMessage MEMBERS = protocolAPIHelper.requestVideoCallContact(runtime);
             //Deliver.sendLocationMSG(MEMBERS);
         }
 
         @Override
         public void setUpEnvState(int state) {
-            if (protocolAPIHelper.getProtocolfzd_handler() != null) {
-                ICLogger.d("update bairui env state..." + state);
-                protocolAPIHelper.getProtocolfzd_handler().updateEnvState(state);
-            }
+
+            ICLogger.d("update bairui env state..." + state);
+            protocolAPIHelper.updateEnvState(runtime,state);
+
         }
 
         @Override
@@ -1752,13 +1745,14 @@ public class CoreService extends Service {
             //交朋友的话是根据配置去走蓝牙交友
             //还是位置交友
             //目前先实现位置交友的功能
-            protocol_fzd.makeFriendsByPosition(connection, runtime);
+            StringMessage makeFriends = protocolAPIHelper.makeFriendsByPosition(runtime);
+            connection.send(makeFriends);
         }
 
         @Override
         public void unbindFriends(String remoteFriendId) {
             ICLogger.d("unbindFriends == > " + remoteFriendId);
-            StringMessage ppr = protocol_fzd.PPR(remoteFriendId);
+            StringMessage ppr = protocolAPIHelper.unbindFriends(runtime,remoteFriendId);
             //解除朋友
             connection.send(ppr);
         }
@@ -1766,7 +1760,7 @@ public class CoreService extends Service {
         @Override
         public void getFriendsList() {
             ICLogger.d("get friends list...");
-            StringMessage ppq = protocol_fzd.PPQ();
+            StringMessage ppq = protocolAPIHelper.getFriendsList(runtime);
             connection.send(ppq);
         }
     };
index 90c6a2c..52031b8 100644 (file)
@@ -1089,4 +1089,275 @@ public class protocolAPIHelper {
         return ret;
     }
 
+    /**
+     * 获取VideoCall 联系人列表
+     * @param runtime
+     * @return
+     */
+    public static StringMessage requestVideoCallContact(Runtime runtime) {
+        if (is_protocol_not_Initialled()) return null;
+        StringMessage ret = null;
+        switch (Config.protocol_no) {
+            case Config.PROTOCOL_JIAI:
+                ret = null;
+                break;
+            case Config.PROTOCOL_BEEHOME:
+                ret = null;
+                break;
+            case Config.PROTOCOL_IC:
+                ret = null;
+                break;
+            case Config.PROTOCOL_FZD:
+                ret = protocolfzd_handler.MEMBERS();
+                break;
+            case Config.PROTOCOL_MQTT:
+                ret = null;
+                break;
+            case PROTOCOL_ANAN:
+                ret = null;
+                break;
+            case Config.PROTOCOL_S123:
+                ret = null;
+                break;
+            case Config.PROTOCOL_GATOR:
+                ret = null;
+                break;
+        }
+        return ret;
+    }
+
+    /**
+     * 获取VideoCall ID
+     * @param runtime
+     * @return
+     */
+    public static StringMessage requestVideoCallID(Runtime runtime) {
+        if (is_protocol_not_Initialled()) return null;
+        StringMessage ret = null;
+        switch (Config.protocol_no) {
+            case Config.PROTOCOL_JIAI:
+                ret = null;
+                break;
+            case Config.PROTOCOL_BEEHOME:
+                ret = null;
+                break;
+            case Config.PROTOCOL_IC:
+                ret = null;
+                break;
+            case Config.PROTOCOL_FZD:
+                ret = protocolfzd_handler.AGREG();
+                break;
+            case Config.PROTOCOL_MQTT:
+                ret = null;
+                break;
+            case PROTOCOL_ANAN:
+                ret = null;
+                break;
+            case Config.PROTOCOL_S123:
+                ret = null;
+                break;
+            case Config.PROTOCOL_GATOR:
+                ret = null;
+                break;
+        }
+        return ret;
+    }
+
+    /**
+     * 拒接VideoCall
+     * @param runtime
+     * @param remoteId
+     * @param type
+     * @return
+     */
+    public static StringMessage rejectVideoCall(Runtime runtime,String remoteId, int type) {
+        if (is_protocol_not_Initialled()) return null;
+        StringMessage ret = null;
+        switch (Config.protocol_no) {
+            case Config.PROTOCOL_JIAI:
+                ret = null;
+                break;
+            case Config.PROTOCOL_BEEHOME:
+                ret = null;
+                break;
+            case Config.PROTOCOL_IC:
+                ret = null;
+                break;
+            case Config.PROTOCOL_FZD:
+                ret = protocolfzd_handler.RCALLING(remoteId, type);
+                break;
+            case Config.PROTOCOL_MQTT:
+                ret = null;
+                break;
+            case PROTOCOL_ANAN:
+                ret = null;
+                break;
+            case Config.PROTOCOL_S123:
+                ret = null;
+                break;
+            case Config.PROTOCOL_GATOR:
+                ret = null;
+                break;
+        }
+        return ret;
+    }
+    public static StringMessage dialVideoCall(Runtime runtime,int type, int remoteUserId) {
+        if (is_protocol_not_Initialled()) return null;
+        StringMessage ret = null;
+        switch (Config.protocol_no) {
+            case Config.PROTOCOL_JIAI:
+                ret = null;
+                break;
+            case Config.PROTOCOL_BEEHOME:
+                ret = null;
+                break;
+            case Config.PROTOCOL_IC:
+                ret = null;
+                break;
+            case Config.PROTOCOL_FZD:
+                ret = protocolfzd_handler.AGTALK(type, remoteUserId);
+                break;
+            case Config.PROTOCOL_MQTT:
+                ret = null;
+                break;
+            case PROTOCOL_ANAN:
+                ret = null;
+                break;
+            case Config.PROTOCOL_S123:
+                ret = null;
+                break;
+            case Config.PROTOCOL_GATOR:
+                ret = null;
+                break;
+        }
+        return ret;
+    }
+
+    public static StringMessage makeFriendsByPosition(Runtime runtime) {
+        if (is_protocol_not_Initialled()) return null;
+        StringMessage ret = null;
+        switch (Config.protocol_no) {
+            case Config.PROTOCOL_JIAI:
+                ret = null;
+                break;
+            case Config.PROTOCOL_BEEHOME:
+                ret = null;
+                break;
+            case Config.PROTOCOL_IC:
+                ret = null;
+                break;
+            case Config.PROTOCOL_FZD:
+                ret = protocolfzd_handler.PP(runtime);
+                break;
+            case Config.PROTOCOL_MQTT:
+                ret = null;
+                break;
+            case PROTOCOL_ANAN:
+                ret = null;
+                break;
+            case Config.PROTOCOL_S123:
+                ret = null;
+                break;
+            case Config.PROTOCOL_GATOR:
+                ret = null;
+                break;
+        }
+        return ret;
+    }
+
+    public static StringMessage unbindFriends(Runtime runtime, String remoteFriendId) {
+        if (is_protocol_not_Initialled()) return null;
+        StringMessage ret = null;
+        switch (Config.protocol_no) {
+            case Config.PROTOCOL_JIAI:
+                ret = null;
+                break;
+            case Config.PROTOCOL_BEEHOME:
+                ret = null;
+                break;
+            case Config.PROTOCOL_IC:
+                ret = null;
+                break;
+            case Config.PROTOCOL_FZD:
+                ret = protocolfzd_handler.PPR(remoteFriendId);
+                break;
+            case Config.PROTOCOL_MQTT:
+                ret = null;
+                break;
+            case PROTOCOL_ANAN:
+                ret = null;
+                break;
+            case Config.PROTOCOL_S123:
+                ret = null;
+                break;
+            case Config.PROTOCOL_GATOR:
+                ret = null;
+                break;
+        }
+        return ret;
+    }
+
+    public static StringMessage getFriendsList(Runtime runtime) {
+        if (is_protocol_not_Initialled()) return null;
+        StringMessage ret = null;
+        switch (Config.protocol_no) {
+            case Config.PROTOCOL_JIAI:
+                ret = null;
+                break;
+            case Config.PROTOCOL_BEEHOME:
+                ret = null;
+                break;
+            case Config.PROTOCOL_IC:
+                ret = null;
+                break;
+            case Config.PROTOCOL_FZD:
+                ret = protocolfzd_handler.PPQ();
+                break;
+            case Config.PROTOCOL_MQTT:
+                ret = null;
+                break;
+            case PROTOCOL_ANAN:
+                ret = null;
+                break;
+            case Config.PROTOCOL_S123:
+                ret = null;
+                break;
+            case Config.PROTOCOL_GATOR:
+                ret = null;
+                break;
+        }
+        return ret;
+    }
+
+    public static void updateEnvState(Runtime runtime, int state) {
+        if (is_protocol_not_Initialled()) return ;
+
+        switch (Config.protocol_no) {
+            case Config.PROTOCOL_JIAI:
+
+                break;
+            case Config.PROTOCOL_BEEHOME:
+
+                break;
+            case Config.PROTOCOL_IC:
+
+                break;
+            case Config.PROTOCOL_FZD:
+                 protocolfzd_handler.updateEnvState(state);
+                break;
+            case Config.PROTOCOL_MQTT:
+
+                break;
+            case PROTOCOL_ANAN:
+
+                break;
+            case Config.PROTOCOL_S123:
+
+                break;
+            case Config.PROTOCOL_GATOR:
+
+                break;
+        }
+
+    }
 }