Bladeren bron

添加学生端新版IM依赖,修改部分编译问题

Pq 1 jaar geleden
bovenliggende
commit
46639909d6

+ 10 - 10
BaseLibrary/src/main/java/com/cooleshow/base/utils/NetworkUtils.java → BaseLibrary/src/main/java/com/cooleshow/base/utils/NetworkUtilsV2.java

@@ -51,9 +51,9 @@ import static android.content.Context.WIFI_SERVICE;
  *     desc  : utils about network
  * </pre>
  */
-public final class NetworkUtils {
+public final class NetworkUtilsV2 {
 
-    private NetworkUtils() {
+    private NetworkUtilsV2() {
         throw new UnsupportedOperationException("u can't instantiate me...");
     }
 
@@ -427,13 +427,13 @@ public final class NetworkUtils {
      *
      * @return type of network
      * <ul>
-     * <li>{@link NetworkUtils.NetworkType#NETWORK_ETHERNET} </li>
-     * <li>{@link NetworkUtils.NetworkType#NETWORK_WIFI    } </li>
-     * <li>{@link NetworkUtils.NetworkType#NETWORK_4G      } </li>
-     * <li>{@link NetworkUtils.NetworkType#NETWORK_3G      } </li>
-     * <li>{@link NetworkUtils.NetworkType#NETWORK_2G      } </li>
-     * <li>{@link NetworkUtils.NetworkType#NETWORK_UNKNOWN } </li>
-     * <li>{@link NetworkUtils.NetworkType#NETWORK_NO      } </li>
+     * <li>{@link NetworkUtilsV2.NetworkType#NETWORK_ETHERNET} </li>
+     * <li>{@link NetworkUtilsV2.NetworkType#NETWORK_WIFI    } </li>
+     * <li>{@link NetworkUtilsV2.NetworkType#NETWORK_4G      } </li>
+     * <li>{@link NetworkUtilsV2.NetworkType#NETWORK_3G      } </li>
+     * <li>{@link NetworkUtilsV2.NetworkType#NETWORK_2G      } </li>
+     * <li>{@link NetworkUtilsV2.NetworkType#NETWORK_UNKNOWN } </li>
+     * <li>{@link NetworkUtilsV2.NetworkType#NETWORK_NO      } </li>
      * </ul>
      */
     @RequiresPermission(ACCESS_NETWORK_STATE)
@@ -918,7 +918,7 @@ public final class NetworkUtils {
                     @Override
                     @RequiresPermission(ACCESS_NETWORK_STATE)
                     public void run() {
-                        NetworkType networkType = NetworkUtils.getNetworkType();
+                        NetworkType networkType = NetworkUtilsV2.getNetworkType();
                         if (mType == networkType) return;
                         mType = networkType;
                         if (networkType == NetworkType.NETWORK_NO) {

+ 1 - 0
student/build.gradle

@@ -119,6 +119,7 @@ dependencies {
     implementation project(path: ':metronome')
     implementation project(path: ':musictuner')
     implementation project(path: ':ffmpegCmd')
+    implementation project(path: ':chatModule')
     implementation "com.alibaba:arouter-api:$rootProject.ext.android.arouter_api_version"
     kapt "com.alibaba:arouter-compiler:$rootProject.ext.android.arouter_api_version"
 

+ 2 - 1
student/src/main/AndroidManifest.xml

@@ -28,7 +28,8 @@
         android:networkSecurityConfig="@xml/network_security_config"
         android:requestLegacyExternalStorage="true"
         android:supportsRtl="true"
-        android:theme="@style/AppTheme">
+        android:theme="@style/AppTheme"
+        tools:replace="android:allowBackup">
         <meta-data
             android:name="design_width_in_dp"
             android:value="375" />

+ 2 - 2
student/src/main/java/com/cooleshow/student/ui/main/CourseTableFragment.kt

@@ -305,10 +305,10 @@ class CourseTableFragment :
         if (isDetached) {
             return;
         }
-        adapter?.data.clear()
+        adapter?.data?.clear()
         if (data?.studentList?.size != 0) {
             //更新日历表,显示有课字样
-            adapter.data.addAll(data?.studentList);
+            data?.studentList?.let { adapter.data.addAll(it) };
             adapter?.notifyDataSetChanged()
         } else {
             //show空视图

+ 25 - 15
student/src/main/java/com/cooleshow/student/ui/main/MainActivity.java

@@ -37,6 +37,8 @@ import com.cooleshow.base.utils.helper.QMUIStatusBarHelper;
 import com.cooleshow.base.utils.helper.UpdateAppHelper;
 import com.cooleshow.base.utils.helper.WebStartHelper;
 import com.cooleshow.base.widgets.TabAnimationView;
+import com.cooleshow.chatmodule.manager.IMCenter;
+import com.cooleshow.chatmodule.ui.ChatFragment;
 import com.cooleshow.student.App;
 import com.cooleshow.student.R;
 import com.cooleshow.student.adapter.HomePageAdapter;
@@ -164,11 +166,12 @@ public class MainActivity extends BaseMVPActivity<ActivityMainBinding, MainPrese
         NewHomeFragment newHomeFragment = new NewHomeFragment();
         CourseTableFragment courseTableFragment = new CourseTableFragment();
         mMessageFragment = new MessageFragment();
+        ChatFragment chatFragment =new ChatFragment();
         shopMallFragment = new MallFragment();
         mMineFragment = new MineFragment();
         mFragments.add(newHomeFragment);
         mFragments.add(courseTableFragment);
-        mFragments.add(mMessageFragment);
+        mFragments.add(chatFragment);
         mFragments.add(shopMallFragment);
         mFragments.add(mMineFragment);
         homePageAdapter.setFragments(mFragments);
@@ -257,22 +260,28 @@ public class MainActivity extends BaseMVPActivity<ActivityMainBinding, MainPrese
     private void connectIM() {
         if (UserHelper.isLogin()) {
             String userIMToken = UserHelper.getUserIMToken();
+            String imUserId = UserHelper.getImUserId();
             if (!TextUtils.isEmpty(userIMToken)) {
-                RongIMClient.ConnectionStatusListener.ConnectionStatus currentConnectionStatus = RongIMClient.getInstance().getCurrentConnectionStatus();
-                if (currentConnectionStatus != RongIMClient.ConnectionStatusListener.ConnectionStatus.CONNECTED) {
-                    IMManager.getInstance().login(userIMToken, new ResultCallback<String>() {
-                        @Override
-                        public void onSuccess(String s) {
-                            LogUtils.i("im connect success:" + s);
-                        }
-
-                        @Override
-                        public void onFail(int errorCode, String errorStr) {
-                            LogUtils.i("im connect fail:" + errorStr + "-errorCode:" + errorCode);
-                        }
-                    });
-                }
+                // 在用户 UI 点击登录的时候调用
+                IMCenter.getInstance().loginIM(this, imUserId, userIMToken);
             }
+
+//            if (!TextUtils.isEmpty(userIMToken)) {
+//                RongIMClient.ConnectionStatusListener.ConnectionStatus currentConnectionStatus = RongIMClient.getInstance().getCurrentConnectionStatus();
+//                if (currentConnectionStatus != RongIMClient.ConnectionStatusListener.ConnectionStatus.CONNECTED) {
+//                    IMManager.getInstance().login(userIMToken, new ResultCallback<String>() {
+//                        @Override
+//                        public void onSuccess(String s) {
+//                            LogUtils.i("im connect success:" + s);
+//                        }
+//
+//                        @Override
+//                        public void onFail(int errorCode, String errorStr) {
+//                            LogUtils.i("im connect fail:" + errorStr + "-errorCode:" + errorCode);
+//                        }
+//                    });
+//                }
+//            }
         }
     }
 
@@ -376,6 +385,7 @@ public class MainActivity extends BaseMVPActivity<ActivityMainBinding, MainPrese
     @Subscribe(threadMode = ThreadMode.MAIN)
     public void loadEventBus(LoginStatusEvent event) {
         if (event != null && event.eventCode == LoginStatusConstants.LOGIN_OUT) {
+            IMCenter.getInstance().logoutIM();
             IMManager.getInstance().logout();
             LiveConfig.isNeedReInitRTC = true;
             CommonConfig.isShowHomeFlashPage = true;

+ 30 - 35
student/src/main/java/com/cooleshow/student/ui/message/MessageBoxActivity.java

@@ -51,41 +51,36 @@ public class MessageBoxActivity extends BaseMVPActivity<ActivityMessageBoxBindin
 
     @Override
     public void onClick(View view) {
-        switch (view.getId()) {
-            case R.id.cl_all:
-                if (group.equals("")) {
-                    break;
-                }
-                group = "";
-                defaultTextColor();
-                viewBinding.tvAll.setTextColor(getResources().getColor(com.cooleshow.base.R.color.color_333333));
-                currentPage = 1;
-                queryList(true);
-                break;
-            case R.id.cl_course:
-                if (group.equals("COURSE")) {
-                    break;
-                }
-                group = "COURSE";
-                defaultTextColor();
-                viewBinding.tvCourse.setTextColor(getResources().getColor(com.cooleshow.base.R.color.color_333333));
-                currentPage = 1;
-                queryList(true);
-                break;
-            case R.id.cl_system:
-                if (group.equals("SYSTEM")) {
-                    break;
-                }
-                group = "SYSTEM";
-                defaultTextColor();
-                viewBinding.tvSystem.setTextColor(getResources().getColor(com.cooleshow.base.R.color.color_333333));
-                currentPage = 1;
-                queryList(true);
-                break;
-            case R.id.tv_right:
-            case R.id.tv_right_text:
-                presenter.batchSetRead();
-                break;
+        int id = view.getId();
+        if (id == R.id.cl_all) {
+            if (group.equals("")) {
+                return;
+            }
+            group = "";
+            defaultTextColor();
+            viewBinding.tvAll.setTextColor(getResources().getColor(com.cooleshow.base.R.color.color_333333));
+            currentPage = 1;
+            queryList(true);
+        } else if (id == R.id.cl_course) {
+            if (group.equals("COURSE")) {
+                return;
+            }
+            group = "COURSE";
+            defaultTextColor();
+            viewBinding.tvCourse.setTextColor(getResources().getColor(com.cooleshow.base.R.color.color_333333));
+            currentPage = 1;
+            queryList(true);
+        } else if (id == R.id.cl_system) {
+            if (group.equals("SYSTEM")) {
+                return;
+            }
+            group = "SYSTEM";
+            defaultTextColor();
+            viewBinding.tvSystem.setTextColor(getResources().getColor(com.cooleshow.base.R.color.color_333333));
+            currentPage = 1;
+            queryList(true);
+        } else if (id == com.cooleshow.base.R.id.tv_right || id == com.cooleshow.base.R.id.tv_right_text) {
+            presenter.batchSetRead();
         }
     }
 

+ 16 - 19
student/src/main/java/com/cooleshow/student/ui/mine/ModifyNickNameActivity.java

@@ -37,25 +37,22 @@ public class ModifyNickNameActivity extends BaseMVPActivity<ActivityModifyNickna
 
     @Override
     public void onClick(View view) {
-        switch (view.getId()) {
-            case R.id.tv_right_text:
-                String userName = viewBinding.etNickname.getText().toString().trim();
-                if (TextUtils.isEmpty(userName)){
-                    ToastUtil.getInstance().showShort("请输入昵称!");
-                    break;
-                }
-                JSONObject jsonObject = new JSONObject();
-                try {
-                    jsonObject.put("username", userName);
-                } catch (JSONException e) {
-                    e.printStackTrace();
-                }
-                presenter.submitSetDetail(jsonObject.toString());
-                break;
-            case R.id.im_close:
-                viewBinding.etNickname.setText("");
-                break;
-
+        int id = view.getId();
+        if (id == com.cooleshow.base.R.id.tv_right_text) {
+            String userName = viewBinding.etNickname.getText().toString().trim();
+            if (TextUtils.isEmpty(userName)) {
+                ToastUtil.getInstance().showShort("请输入昵称!");
+                return;
+            }
+            JSONObject jsonObject = new JSONObject();
+            try {
+                jsonObject.put("username", userName);
+            } catch (JSONException e) {
+                e.printStackTrace();
+            }
+            presenter.submitSetDetail(jsonObject.toString());
+        } else if (id == R.id.im_close) {
+            viewBinding.etNickname.setText("");
         }
     }
     @Override

+ 26 - 17
teacher/src/main/java/com/cooleshow/teacher/ui/main/MainActivity.java

@@ -32,6 +32,7 @@ import com.cooleshow.base.utils.helper.QMUIStatusBarHelper;
 import com.cooleshow.base.utils.helper.UpdateAppHelper;
 import com.cooleshow.base.utils.helper.WebStartHelper;
 import com.cooleshow.base.widgets.TabAnimationView;
+import com.cooleshow.chatmodule.manager.IMCenter;
 import com.cooleshow.chatmodule.ui.ChatFragment;
 import com.cooleshow.teacher.App;
 import com.cooleshow.teacher.R;
@@ -163,15 +164,15 @@ public class MainActivity extends BaseMVPActivity<ActivityMainBinding, MainPrese
         HomePageAdapter homePageAdapter = new HomePageAdapter(this);
 //        mHomeFragment = new HomeFragment();
         CourseTableFragment courseTableFragment = new CourseTableFragment();
-        mMessageFragment = new MessageFragment();
+//        mMessageFragment = new MessageFragment();
         shopMallFragment = new MallFragment();
         ChatFragment chatFragment =new ChatFragment();
         mMineFragment = new MineFragment();
         mHomeFragment = new NewHomeFragment();
         mFragments.add(mHomeFragment);
         mFragments.add(courseTableFragment);
-        mFragments.add(mMessageFragment);
         mFragments.add(chatFragment);
+        mFragments.add(shopMallFragment);
         mFragments.add(mMineFragment);
         homePageAdapter.setFragments(mFragments);
         getViewBinding().viewPager.setAdapter(homePageAdapter);
@@ -251,23 +252,30 @@ public class MainActivity extends BaseMVPActivity<ActivityMainBinding, MainPrese
     private void connectIM() {
         if (UserHelper.isLogin()) {
             String userIMToken = UserHelper.getUserIMToken();
+            String imUserId = UserHelper.getImUserId();
             if (!TextUtils.isEmpty(userIMToken)) {
-                RongIMClient.ConnectionStatusListener.ConnectionStatus currentConnectionStatus = RongIMClient.getInstance().getCurrentConnectionStatus();
-                if (currentConnectionStatus != RongIMClient.ConnectionStatusListener.ConnectionStatus.CONNECTED) {
-                    LogUtils.i("pq", "im connect:" + userIMToken);
-                    IMManager.getInstance().login(userIMToken, new ResultCallback<String>() {
-                        @Override
-                        public void onSuccess(String s) {
-                            LogUtils.i("pq", "im connect success:" + s);
-                        }
-
-                        @Override
-                        public void onFail(int errorCode, String errorStr) {
-                            LogUtils.i("pq", "im connect fail:" + errorStr + "-errorCode:" + errorCode);
-                        }
-                    });
-                }
+                // 在用户 UI 点击登录的时候调用
+                IMCenter.getInstance().loginIM(this, imUserId, userIMToken);
             }
+
+
+//            if (!TextUtils.isEmpty(userIMToken)) {
+//                RongIMClient.ConnectionStatusListener.ConnectionStatus currentConnectionStatus = RongIMClient.getInstance().getCurrentConnectionStatus();
+//                if (currentConnectionStatus != RongIMClient.ConnectionStatusListener.ConnectionStatus.CONNECTED) {
+//                    LogUtils.i("pq", "im connect:" + userIMToken);
+//                    IMManager.getInstance().login(userIMToken, new ResultCallback<String>() {
+//                        @Override
+//                        public void onSuccess(String s) {
+//                            LogUtils.i("pq", "im connect success:" + s);
+//                        }
+//
+//                        @Override
+//                        public void onFail(int errorCode, String errorStr) {
+//                            LogUtils.i("pq", "im connect fail:" + errorStr + "-errorCode:" + errorCode);
+//                        }
+//                    });
+//                }
+//            }
         }
     }
 
@@ -415,6 +423,7 @@ public class MainActivity extends BaseMVPActivity<ActivityMainBinding, MainPrese
     @Subscribe(threadMode = ThreadMode.MAIN)
     public void loadEventBus(LoginStatusEvent event) {
         if (event != null && event.eventCode == LoginStatusConstants.LOGIN_OUT) {
+            IMCenter.getInstance().logoutIM();
             IMManager.getInstance().logout();
             LiveConfig.isNeedReInitRTC = true;
             JPushInterface.deleteAlias(getApplicationContext(), 1);