diff --git a/BaseModule/src/main/java/com/xscm/moduleutil/base/CommonAppContext.java b/BaseModule/src/main/java/com/xscm/moduleutil/base/CommonAppContext.java index a0f0a00c..4c6614b6 100644 --- a/BaseModule/src/main/java/com/xscm/moduleutil/base/CommonAppContext.java +++ b/BaseModule/src/main/java/com/xscm/moduleutil/base/CommonAppContext.java @@ -161,7 +161,7 @@ public class CommonAppContext extends MultiDexApplication implements Applicatio //设置mqtt环境 false 测试环境 true 正式环境 // ExternalResConstants.INSTANCE.setIS_MQTT_RELEASE(false); //设置http环境 false 测试环境 true 正式环境 - ExternalResConstants.INSTANCE.setIS_HTTP_RELEASE(false); + ExternalResConstants.INSTANCE.setIS_HTTP_RELEASE(true); currentEnvironment = ExternalResConstants.INSTANCE.HTTP_PATH(); initialization(); @@ -438,24 +438,12 @@ public class CommonAppContext extends MultiDexApplication implements Applicatio if (SpUtil.isAgreePolicy()) { checkInEmulator(); // UtilConfig.checkInEmulator(); - AgoraManager.getInstance(); - MessageListenerSingleton.getInstance(); - CrashReport.initCrashReport(this, "b45883f58f", true);/*bugly初始化*/ -// // 启动 MQTT 服务 -// Intent mqttServiceIntent = new Intent(this, MyMqttService.class); -// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { -// startForegroundService(mqttServiceIntent); -// } else { -// startService(mqttServiceIntent); -// } -// mqttConnect=MqttConnect.getInstance(this, currentEnvironment.getMqttUrl(),"android-"+ MqttClient.generateClientId()); -// mqttConnect=MqttConnect.getInstance(this,"tcp://1.13.101.98","android-"+ MqttClient.generateClientId()); -// mqttConnect.mqttClient(); + CrashReport.initCrashReport(this, "b45883f58f", true);/*bugly初始化*/ // 每次启动应用时重置状态 SpUtil.getInstance().setBooleanValue("youth_model_shown", false); - startInitSdk(); + // 初始化(通常在Application或Activity的onCreate中) CosUploadManager.getInstance(CommonAppContext.getInstance()); } @@ -527,9 +515,12 @@ public class CommonAppContext extends MultiDexApplication implements Applicatio public void upMqtt(){ if (mqttConnect == null){ mqttConnect=MqttConnect.getInstance(this, currentEnvironment.getMqttUrl(),"android-"+ MqttClient.generateClientId()); -// mqttConnect=MqttConnect.getInstance(this,"tcp://1.13.101.98","android-"+ MqttClient.generateClientId()); mqttConnect.mqttClient(); } + + AgoraManager.getInstance(); + MessageListenerSingleton.getInstance(); + startInitSdk(); } @Override @@ -764,6 +755,11 @@ public class CommonAppContext extends MultiDexApplication implements Applicatio // 每次启动应用时重置状态 SpUtil.setBooleanValue("youth_model_shown", false); + if (mqttConnect != null){ + mqttConnect.close(); + } + + // 发送广播通知所有Activity刷新状态 Intent refreshIntent = new Intent("com.xscm.moduleutil.ACTION_USER_LOGOUT"); sendBroadcast(refreshIntent); diff --git a/BaseModule/src/main/java/com/xscm/moduleutil/http/RetrofitClient.java b/BaseModule/src/main/java/com/xscm/moduleutil/http/RetrofitClient.java index 3e9c2ace..8ce356b5 100644 --- a/BaseModule/src/main/java/com/xscm/moduleutil/http/RetrofitClient.java +++ b/BaseModule/src/main/java/com/xscm/moduleutil/http/RetrofitClient.java @@ -74,6 +74,15 @@ public class RetrofitClient { boolean isNetworkAvailable = checkNetworkConnection(); // 实现这个方法来检查网络状态 String cacheControl = isNetworkAvailable ? "max-age=0" : "only-if-cached, max-stale=86400"; + private JoinRoomLoadListener joinRoomLoadListener; + + public interface JoinRoomLoadListener { + void onJoinRoomLoad(String result); + } + public void setJoinRoomLoadListener(JoinRoomLoadListener joinRoomLoadListener) { + this.joinRoomLoadListener = joinRoomLoadListener; + } + private boolean checkNetworkConnection() { ConnectivityManager connectivityManager = (ConnectivityManager) CommonAppContext.getInstance().getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); @@ -2248,6 +2257,9 @@ public class RetrofitClient { } } else if (roomInfoRespBaseModel.getCode() == 0) { ToastUtils.showShort(roomInfoRespBaseModel.getMsg()); + if (joinRoomLoadListener != null){ + joinRoomLoadListener.onJoinRoomLoad(roomInfoRespBaseModel.getMsg()); + } }else if (roomInfoRespBaseModel.getCode() == 202){ observer.onNext(roomInfoRespBaseModel.getData()); } else { diff --git a/MainModule/src/main/java/com/xscm/modulemain/BaseMvpActivity.java b/MainModule/src/main/java/com/xscm/modulemain/BaseMvpActivity.java index ebcea95d..d522b1c5 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/BaseMvpActivity.java +++ b/MainModule/src/main/java/com/xscm/modulemain/BaseMvpActivity.java @@ -43,6 +43,7 @@ import com.xscm.modulemain.activity.WebViewActivity; import com.xscm.modulemain.activity.main.activity.MainActivity; import com.xscm.modulemain.activity.room.activity.RoomActivity; import com.xscm.modulemain.activity.user.activity.HeartCpActivity; +import com.xscm.modulemain.activity.user.activity.MyRoomActivity; import com.xscm.modulemain.manager.RoomManager; import com.xscm.moduleutil.BaseEvent; import com.xscm.moduleutil.R; @@ -122,11 +123,13 @@ public abstract class BaseMvpActivity
{ + if (mThis instanceof MainActivity) { + ((MainActivity) mThis).isShowLoading(false); + } else if (mThis instanceof MyRoomActivity) { + ((MyRoomActivity) mThis).isShowLoading(false); + } + }); + } @Override @@ -196,19 +209,19 @@ public abstract class BaseMvpActivity
0){
- for (int i = 0; i {
- if (type==1) {
+ if (type == 1) {
// 点击“确认”按钮时执行删除操作
RetrofitClient.getInstance().cpGiveGift(userId, giftid, roomId, new BaseObserver {
// 点击“取消”按钮时什么都不做
- }, false,0).show();
+ }, false, 0).show();
}
@@ -1081,7 +1094,7 @@ public abstract class BaseMvpActivity item, LinearLayout llContainer) {
+ // 1. 基础判空:容器/数据为空直接返回
+ if (llContainer == null || item == null || item.isEmpty()) {
+ return;
+ }
+ // 2. 检查 Fragment 状态 + 获取有效 Context
+ Context context = null;
+ // 检查 Fragment 是否还附加在 Activity 上
+ if (isAdded() && getContext() != null) {
+ context = getContext(); // 非空校验,避免隐性空指针
+ } else {
+ // 兜底:如果 Context 为空,直接返回(避免后续崩溃)
+ return;
+ }
+
List