diff --git a/app/build.gradle b/app/build.gradle index 7f38f5ff..88a9f107 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -198,11 +198,11 @@ dependencies { implementation(libs.arouter.api.v150) //annotationProcessor annotationProcessor libs.arouter.compiler - implementation project(':modulevocal') // 必须 - annotationProcessor project(':modulevocal') // 关键! +// implementation project(':modulevocal') // 必须 +// annotationProcessor project(':modulevocal') // 关键! - api project(":moduleUtil") - api project(":moduleLogin") +// api project(":moduleUtil") +// api project(":moduleLogin") implementation project(':modulemain') //aar的名称,例如:WbCloudFaceLiveSdk-v6.0.0-1234567.aar,填入'WbCloudFaceLiveSdk-v6.0.0-1234567' diff --git a/app/src/main/java/com/qxcm/qxlive/LaunchPageActivity.java b/app/src/main/java/com/qxcm/qxlive/LaunchPageActivity.java index 6140d44d..1e3c11e2 100644 --- a/app/src/main/java/com/qxcm/qxlive/LaunchPageActivity.java +++ b/app/src/main/java/com/qxcm/qxlive/LaunchPageActivity.java @@ -11,12 +11,12 @@ import androidx.annotation.Nullable; import com.alibaba.android.arouter.launcher.ARouter; import com.qxcm.qxlive.databinding.ActivityLaunchPageBinding; +import com.xscm.modulemain.activity.WebViewActivity; import com.xscm.moduleutil.activity.BaseAppCompatActivity; -import com.xscm.moduleutil.activity.WebViewActivity; import com.xscm.moduleutil.base.AppStateListener; import com.xscm.moduleutil.base.AppStateManager; import com.xscm.moduleutil.base.CommonAppContext; -import com.xscm.moduleutil.dialog.PolicyDialog; +import com.xscm.modulemain.dialog.PolicyDialog; import com.xscm.moduleutil.utils.ARouteConstants; import com.xscm.moduleutil.utils.SpUtil; /** diff --git a/app/src/main/java/com/qxcm/qxlive/LaunchPresenter.java b/app/src/main/java/com/qxcm/qxlive/LaunchPresenter.java index 6cdb300d..45418652 100644 --- a/app/src/main/java/com/qxcm/qxlive/LaunchPresenter.java +++ b/app/src/main/java/com/qxcm/qxlive/LaunchPresenter.java @@ -4,6 +4,7 @@ import android.content.Context; import android.content.Intent; import android.os.Bundle; +import com.blankj.utilcode.util.ActivityUtils; import com.blankj.utilcode.util.ToastUtils; import com.xscm.modulemain.activity.login.activity.ImproveInfoActivity; import com.xscm.modulemain.activity.login.activity.SwitchAccountsActivity; @@ -72,24 +73,24 @@ public class LaunchPresenter extends BasePresenter - - - - - - - diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/activity/BaseAppCompatActivity.java b/moduleUtil/src/main/java/com/xscm/moduleutil/activity/BaseAppCompatActivity.java index e3ebe7ee..8d1031b4 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/activity/BaseAppCompatActivity.java +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/activity/BaseAppCompatActivity.java @@ -1,13 +1,11 @@ package com.xscm.moduleutil.activity; -import static androidx.core.content.ContextCompat.getSystemService; - import static com.xscm.moduleutil.base.CommonAppContext.postDelayed; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; -import android.animation.AnimatorSet; import android.animation.ObjectAnimator; +import android.annotation.SuppressLint; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; @@ -54,12 +52,10 @@ import com.hjq.toast.ToastUtils; import com.tencent.qcloud.tuikit.tuichat.bean.ChatInfo; import com.xscm.moduleutil.R; import com.xscm.moduleutil.base.CommonAppContext; -import com.xscm.moduleutil.base.RoomManager; import com.xscm.moduleutil.bean.XLHBean; import com.xscm.moduleutil.event.HourlyBean; import com.xscm.moduleutil.event.MqttBean; import com.xscm.moduleutil.event.RedBean; -import com.xscm.moduleutil.utils.ARouteConstants; import com.xscm.moduleutil.utils.BackgroundManager; import com.xscm.moduleutil.utils.ColorManager; import com.xscm.moduleutil.utils.DisplayUtil; @@ -88,8 +84,6 @@ public abstract class BaseAppCompatActivity extends } protected VDB mBinding; - private static final List activityList = new ArrayList<>(); - // private LoadingDialog mLoadingDialog; // 添加广播接收器成员变量 @@ -115,6 +109,7 @@ public abstract class BaseAppCompatActivity extends QXGiftDriftView qxGiftDriftView; protected void doDone(){} + @SuppressLint("UnspecifiedRegisterReceiverFlag") @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -198,14 +193,6 @@ public abstract class BaseAppCompatActivity extends } } - public static void finishAll() { - for (BaseMvpActivity activity : activityList) { - if (!activity.isFinishing()) { - activity.finish(); - } - } - } - @Override public void onColorChanged() { // 在主线程中更新UI @@ -235,20 +222,6 @@ public abstract class BaseAppCompatActivity extends timerHandler.postDelayed(timerRunnable, 10000); } - // 你需要定期执行的方法 - private void executePeriodicTask() { - // 在这里实现你的业务逻辑 - LogUtils.d("定时任务执行中..."); - List hourlyBeans = new ArrayList<>(); - HourlyBean hourlyBean = new HourlyBean(); - hourlyBean.setText("nihao"); - hourlyBean.setRank_number("1"); - hourlyBean.setRoom_name("夏末"); - hourlyBean.setRoom_id("1"); - hourlyBeans.add(hourlyBean); - onMessageReceived(hourlyBeans); - } - protected void loadNetworkBackground() { // 只有当已经有背景URL时才加载 String backgroundUrl = BackgroundManager.getInstance().getBackgroundUrl(); @@ -327,36 +300,6 @@ public abstract class BaseAppCompatActivity extends @Override protected void onDestroy() { - - // 清理MQTT相关资源 - synchronized (mqttQueueLock) { - mqttMessageQueue.clear(); - isMqttPlaying = false; - } - - // 清理XLH相关资源 - synchronized (xlhQueueLock) { - xlhMessageQueue.clear(); - isXlhPlaying = false; - } - - // 移除当前显示的视图 - try { - if (currentMqttView != null && currentMqttView.getParent() != null) { - ViewGroup parent = (ViewGroup) currentMqttView.getParent(); - parent.removeView(currentMqttView); - } - currentMqttView = null; - - if (currentXlhView != null && currentXlhView.getParent() != null) { - ViewGroup parent = (ViewGroup) currentXlhView.getParent(); - parent.removeView(currentXlhView); - } - currentXlhView = null; - } catch (Exception e) { - LogUtils.e("清理飘屏视图失败", e); - } - // 移除背景更新监听器 BackgroundManager.getInstance().removeListener(this); // 移除颜色变化监听器 @@ -445,741 +388,5 @@ public abstract class BaseAppCompatActivity extends } - /// 礼物特效 - // 在类中添加以下成员变量 - private final List mqttMessageQueue = new ArrayList<>(); // MQTT消息队列 - private final List xlhMessageQueue = new ArrayList<>(); // XLH消息队列 - private final List redMessageQueue = new ArrayList<>(); // 红包队列 - private boolean isMqttPlaying = false; // MQTT播放状态标志 - private boolean isXlhPlaying = false; // XLH播放状态标志 - private boolean isRedPlaying = false; // XLH播放状态标志 - private final Object mqttQueueLock = new Object(); // MQTT队列同步锁 - private final Object xlhQueueLock = new Object(); // XLH队列同步锁 - private final Object RedQueueLock = new Object(); // XLH队列同步锁 - private View currentMqttView = null; // 当前正在播放的MQTT视图 - private View currentXlhView = null; // 当前正在播放的XLH视图 - private View currentRedView = null; // 当前正在播放的XLH视图 - - private final List hourlyMessageQueue = new ArrayList<>(); // 小时榜消息队列 - private final Map currentHourlyViews = new HashMap<>(); // 当前显示的小时榜视图 - private final Object hourlyQueueLock = new Object(); // 小时榜队列同步锁 - private boolean isHourlyProcessing = false; // 小时榜处理状态标志 - - - @Subscribe(threadMode = ThreadMode.MAIN) - public void onMessageReceived(List hourlyBean) { - LogUtils.e("收到小时榜", hourlyBean); - if (hourlyBean == null) return; - if (SpUtil.getFloatingScreen() == 1) { - synchronized (hourlyQueueLock) { - hourlyMessageQueue.addAll(hourlyBean); - if (!isHourlyProcessing) { - isHourlyProcessing = true; - processHourlyMessages(); - } - } - } else { - hourlyMessageQueue.clear(); - clearAllHourlyViews(); - } - } - - private void processHourlyMessages() { - List messagesToProcess; - synchronized (hourlyQueueLock) { - if (hourlyMessageQueue.isEmpty()) { - isHourlyProcessing = false; - return; - } - // 每次只处理1条数据 - messagesToProcess = new ArrayList<>(); - messagesToProcess.add(hourlyMessageQueue.remove(0)); - } - - // 只展示一条数据 - HourlyBean bean = messagesToProcess.get(0); - showHourlyFloatingMessage(bean, 0); - } - - private void showHourlyFloatingMessage(HourlyBean hourlyBean, int positionIndex) { - try { - ViewGroup decorView = (ViewGroup) getWindow().getDecorView(); - - // 创建新的视图 - View hourlyView = LayoutInflater.from(this).inflate(R.layout.item_hourly_floating, null); - FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams( - FrameLayout.LayoutParams.MATCH_PARENT, - FrameLayout.LayoutParams.WRAP_CONTENT); - - // 设置固定的垂直位置 - int baseMargin = com.sunfusheng.marqueeview.DisplayUtil.dip2px(this, 70); - layoutParams.topMargin = baseMargin; - layoutParams.gravity = Gravity.TOP | Gravity.CENTER_HORIZONTAL; - hourlyView.setLayoutParams(layoutParams); - - decorView.addView(hourlyView); - - // 保存视图引用 - currentHourlyViews.put(positionIndex, hourlyView); - - // 更新视图数据 - updateHourlyFloatingViewData(hourlyView, hourlyBean); - - // 根据类型获取展示时间 - long displayDuration = getDisplayDurationByType(Integer.parseInt(hourlyBean.getRank_number())); - - // 启动动画 - resetAndStartHourlyAnimation(hourlyView, displayDuration, () -> { - // 动画结束后清理视图 - if (hourlyView.getParent() != null) { - decorView.removeView(hourlyView); - } - currentHourlyViews.remove(positionIndex); - - // 检查是否还有更多消息需要处理 - synchronized (hourlyQueueLock) { - if (hourlyMessageQueue.isEmpty()) { - isHourlyProcessing = false; - } else { - // 当前视图消失后处理下一条消息 - processHourlyMessages(); - } - } - }); - } catch (Exception e) { - LogUtils.e("显示小时榜飘屏失败", e); - } - } - - private long getDisplayDurationByType(int type) { - // 根据不同类型设置不同的展示时间(毫秒) - switch (type) { - case 1: // 第一名 - return 5000; // 5秒 - case 2: // 第二名 - return 4000; // 4秒 - case 3: // 第三名 - return 3000; // 3秒 - default: - return 3000; // 默认3秒 - } - } - - private void updateHourlyFloatingViewData(View view, HourlyBean hourlyBean) { - TextView tvName = view.findViewById(R.id.tv_name); - ImageView ivAvatar = view.findViewById(R.id.im_h_t); - - if (hourlyBean != null) { - // 根据排名设置不同的显示 - switch (hourlyBean.getRank_number()) { - case "1": -// tvName.setText("新科状元! ["+hourlyBean.getRoom_name()+"] 独占鳌头!"); - setColoredText(tvName, "新科状元! [", hourlyBean.getRoom_name(), "] 独占鳌头!", R.color.color_FFFA63); - ivAvatar.setImageResource(R.mipmap.hourl_top1); - break; - case "2": -// tvName.setText("金榜榜眼! ["+hourlyBean.getRoom_name()+"] 才气逼人!"); - setColoredText(tvName, "金榜榜眼! [", hourlyBean.getRoom_name(), "] 才气逼人!", R.color.color_FFFA63); - - ivAvatar.setImageResource(R.mipmap.hourl_top2); - break; - case "3": - setColoredText(tvName, "风采探花! [", hourlyBean.getRoom_name(), "] 实力绽放!", R.color.color_1FFFE5); -// tvName.setText("风采探花! ["+hourlyBean.getRoom_name()+"] 实力绽放!"); - - ivAvatar.setImageResource(R.mipmap.hourl_top3); - break; - default: - tvName.setVisibility(View.GONE); - ivAvatar.setVisibility(View.GONE); - break; - } - - } - } - - // 设置带颜色的文本 - // 设置带颜色的文本 - private void setColoredText(TextView textView, String prefix, String roomName, String suffix, int colorRes) { - String fullText = prefix + roomName + suffix; - SpannableStringBuilder builder = new SpannableStringBuilder(fullText); - - // 先为整个文本设置白色 - builder.setSpan( - new ForegroundColorSpan(ContextCompat.getColor(this, R.color.white)), - 0, - fullText.length(), - Spannable.SPAN_EXCLUSIVE_EXCLUSIVE - ); - - // 查找房间名在文本中的位置 - int start = fullText.indexOf("["); - int end = fullText.indexOf("]") + 1; - - if (start >= 0 && end > start) { - // 为房间名部分设置指定颜色 - builder.setSpan( - new ForegroundColorSpan(ContextCompat.getColor(this, colorRes)), - start, - end, - Spannable.SPAN_EXCLUSIVE_EXCLUSIVE - ); - } - - textView.setText(builder); - } - - private void resetAndStartHourlyAnimation(View view, long displayDuration, Runnable onAnimationEnd) { - try { - int screenWidth = getScreenWidth(); - // 设置初始位置:在屏幕右侧外部 - view.setTranslationX(screenWidth); - - // 进入动画 - ObjectAnimator enterAnimator = ObjectAnimator.ofFloat(view, "translationX", screenWidth, 0f); - enterAnimator.setDuration(500); - enterAnimator.setInterpolator(new DecelerateInterpolator()); - enterAnimator.start(); - - // 停留后退出动画 - view.postDelayed(() -> { - try { - ObjectAnimator exitAnimator = ObjectAnimator.ofFloat(view, "translationX", 0f, -screenWidth); - exitAnimator.setDuration(500); - exitAnimator.setInterpolator(new AccelerateInterpolator()); - exitAnimator.addListener(new AnimatorListenerAdapter() { - @Override - public void onAnimationEnd(Animator animation) { - onAnimationEnd.run(); - } - - @Override - public void onAnimationCancel(Animator animation) { - onAnimationEnd.run(); - } - }); - exitAnimator.start(); - } catch (Exception e) { - LogUtils.e("小时榜退出动画执行失败", e); - onAnimationEnd.run(); - } - }, displayDuration); // 根据类型设置的展示时间 - - } catch (Exception e) { - LogUtils.e("小时榜动画启动失败", e); - onAnimationEnd.run(); - } - } - - private void clearAllHourlyViews() { - ViewGroup decorView = (ViewGroup) getWindow().getDecorView(); - for (View view : currentHourlyViews.values()) { - if (view.getParent() != null) { - decorView.removeView(view); - } - } - currentHourlyViews.clear(); - } - - /// 礼物特效 - MQTT消息处理 - @Subscribe(threadMode = ThreadMode.MAIN) - public void onMessageReceived(MqttBean mqttBean) { - LogUtils.e("收到MQTT", mqttBean); - if (mqttBean == null) return; - if (SpUtil.getFloatingScreen() == 1) { - synchronized (mqttQueueLock) { - - mqttMessageQueue.addAll(mqttBean.getList()); -// if (!isMqttPlaying) { -// isMqttPlaying = true; - processNextMqttMessage(); -// } - } - } else { - mqttMessageQueue.clear(); - } - } - - /// XLH消息处理 - @Subscribe(threadMode = ThreadMode.MAIN) - public void onEvent(XLHBean event) { - LogUtils.e("收到XLH", event); - if (event == null) return; - if (event.getText()==null || event.getText().isEmpty()) return; - if (SpUtil.getFloatingScreen() == 1) { - synchronized (xlhQueueLock) { - xlhMessageQueue.add(event); - if (!isXlhPlaying) { - isXlhPlaying = true; - processNextXlhMessage(); - } - } - } else { - xlhMessageQueue.clear(); - } - } - - @Subscribe(threadMode = ThreadMode.MAIN) - public void onEvent(RedBean event){ - LogUtils.e("收到红包", event); - if (event==null) return; - if (SpUtil.getFloatingScreen()==1){ - - synchronized (RedQueueLock) { - redMessageQueue.add(event); - if (!isRedPlaying) { - isRedPlaying = true; - processNextRedMessage(); - } - } - } else { - redMessageQueue.clear(); - } - } - - private void processNextRedMessage() { - RedBean redBean; - synchronized (RedQueueLock) { - if (redMessageQueue.isEmpty()) { - isRedPlaying = false; - return; - } - redBean = redMessageQueue.remove(0); - } - showPiaoPingMessageRed(redBean); - } - - private void showPiaoPingMessageRed(RedBean redBean){ - try { - // 清理之前的视图(如果存在) - if (currentRedView != null && currentRedView.getParent() != null) { - ViewGroup parent = (ViewGroup) currentRedView.getParent(); - parent.removeView(currentRedView); - } - - if (decorView2 == null) { - decorView2 = (ViewGroup) getWindow().getDecorView(); - } - - currentRedView = LayoutInflater.from(this).inflate(R.layout.item_piaoping_red, null); - FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams( - FrameLayout.LayoutParams.MATCH_PARENT, - FrameLayout.LayoutParams.WRAP_CONTENT); - layoutParams.topMargin = com.sunfusheng.marqueeview.DisplayUtil.dip2px(this, 140); - layoutParams.gravity = Gravity.TOP | Gravity.CENTER_HORIZONTAL; - currentRedView.setLayoutParams(layoutParams); - decorView2.addView(currentRedView); - - updateRedFloatingViewData(currentRedView, redBean); - // 播放红包音效 - playRedPacketSound(); - resetAndStartXlhAnimation(currentRedView, () -> { - // 清理当前视图 - if (currentRedView != null && currentRedView.getParent() != null) { - ViewGroup parent = (ViewGroup) currentRedView.getParent(); - parent.removeView(currentRedView); - } - currentRedView = null; - - // 处理队列中的下一条消息 - synchronized (RedQueueLock) { - isRedPlaying = false; - processNextRedMessage(); - } - }); - } catch (Exception e) { - LogUtils.e("显示红包飘屏失败", e); - // 出现异常时继续处理队列 - synchronized (RedQueueLock) { - isRedPlaying = false; - processNextRedMessage(); - } - } - } - // 在类中添加成员变量 - private MediaPlayer redPacketMediaPlayer = null; - private boolean isRedPacketMediaPrepared = false; - // 添加播放红包音效的方法 - private void playRedPacketSound() { - try { - if (!isRedPacketMediaPrepared) { - // 第一次初始化MediaPlayer - if (redPacketMediaPlayer == null) { - redPacketMediaPlayer = MediaPlayer.create(this, R.raw.red_packet_come); // 假设音效文件名为red_packet_sound.mp3 - redPacketMediaPlayer.setOnPreparedListener(mp -> { - isRedPacketMediaPrepared = true; - mp.start(); - }); - redPacketMediaPlayer.setOnCompletionListener(mp -> { - // 播放完成后重置,以便下次重新播放 - try { - mp.seekTo(0); - } catch (Exception e) { - LogUtils.e("MediaPlayer重置失败", e); - } - }); - } - - if (redPacketMediaPlayer != null) { - redPacketMediaPlayer.prepareAsync(); // 异步准备 - } - } else { - // 已经准备好了,直接重新播放 - if (redPacketMediaPlayer != null && !redPacketMediaPlayer.isPlaying()) { - redPacketMediaPlayer.seekTo(0); - redPacketMediaPlayer.start(); - } - } - } catch (Exception e) { - LogUtils.e("播放红包音效失败", e); - isRedPacketMediaPrepared=false; - } - } - - private void updateRedFloatingViewData(View view, RedBean redBean){ - TextView textView = view.findViewById(R.id.tv_name); - - if (redBean != null) { - String fullText = redBean.getText(); - if (redBean.getNickname() != null && redBean.getRoom_name() != null) { - SpannableStringBuilder builder = new SpannableStringBuilder(fullText); - - // 为用户名设置蓝色 - int userNameStart = fullText.indexOf(redBean.getNickname()); - if (userNameStart >= 0) { - builder.setSpan( - new ForegroundColorSpan(ContextCompat.getColor(this, R.color.colorPrimary)), - userNameStart, - userNameStart + redBean.getNickname().length(), - Spannable.SPAN_EXCLUSIVE_EXCLUSIVE - ); - } - - // 为房间名设置蓝色 - int roomNameStart = fullText.indexOf(redBean.getRoom_name()); - if (roomNameStart >= 0) { - builder.setSpan( - new ForegroundColorSpan(ContextCompat.getColor(this, R.color.colorPrimary)), - roomNameStart, - roomNameStart + redBean.getRoom_name().length(), - Spannable.SPAN_EXCLUSIVE_EXCLUSIVE - ); - } - - textView.setText(builder); - } else { - textView.setText(fullText); - } - } else { - textView.setText(""); - } - - view.setOnClickListener(v -> { - // 点击时执行跳转操作 - handleRedItemClick(redBean); - }); - } - - // 处理下一个MQTT消息 - private void processNextMqttMessage() { - MqttBean.ListBean mqttBean; - synchronized (mqttQueueLock) { - if (mqttMessageQueue.isEmpty()) { - isMqttPlaying = false; - return; - } - mqttBean = mqttMessageQueue.remove(0); - } - showFloatingMessage(mqttBean); - } - - // 处理下一个XLH消息 - private void processNextXlhMessage() { - XLHBean xlhBean; - synchronized (xlhQueueLock) { - if (xlhMessageQueue.isEmpty()) { - isXlhPlaying = false; - return; - } - xlhBean = xlhMessageQueue.remove(0); - } - showPiaoPingMessageXlh(xlhBean); - } - - ViewGroup decorView;//礼物的 - ViewGroup decorView1;//巡乐会的 - ViewGroup decorView2;//红包的 - - private void showFloatingMessage(MqttBean.ListBean mqttBean) { - -// QXGiftDriftView.getInstance( this).addGiftModel(mqttBean); - - - try { - // 清理之前的视图(如果存在) - if (currentMqttView != null && currentMqttView.getParent() != null) { - ViewGroup parent = (ViewGroup) currentMqttView.getParent(); - parent.removeView(currentMqttView); - } - - if (decorView == null) { - decorView = (ViewGroup) getWindow().getDecorView(); - } - - currentMqttView = LayoutInflater.from(this).inflate(R.layout.item_piaoping, null); - FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams( - FrameLayout.LayoutParams.MATCH_PARENT, - FrameLayout.LayoutParams.WRAP_CONTENT); - layoutParams.topMargin = com.sunfusheng.marqueeview.DisplayUtil.dip2px(this, 70); - layoutParams.gravity = Gravity.TOP | Gravity.CENTER_HORIZONTAL; - currentMqttView.setLayoutParams(layoutParams); - decorView.addView(currentMqttView); - - updateFloatingViewData(currentMqttView, mqttBean); - resetAndStartMqttAnimation(currentMqttView, () -> { - // 清理当前视图 - if (currentMqttView != null && currentMqttView.getParent() != null) { - ViewGroup parent = (ViewGroup) currentMqttView.getParent(); - parent.removeView(currentMqttView); - } - currentMqttView = null; - - // 处理队列中的下一条消息 - synchronized (mqttQueueLock) { - isMqttPlaying = false; - processNextMqttMessage(); - } - }); - } catch (Exception e) { - LogUtils.e("显示MQTT飘屏失败", e); - // 出现异常时继续处理队列 - synchronized (mqttQueueLock) { - isMqttPlaying = false; - processNextMqttMessage(); - } - } - } - - private void showPiaoPingMessageXlh(XLHBean event) { - try { - // 清理之前的视图(如果存在) - if (currentXlhView != null && currentXlhView.getParent() != null) { - ViewGroup parent = (ViewGroup) currentXlhView.getParent(); - parent.removeView(currentXlhView); - } - - if (decorView1 == null) { - decorView1 = (ViewGroup) getWindow().getDecorView(); - } - - currentXlhView = LayoutInflater.from(this).inflate(R.layout.item_piaoping_xlh, null); - FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams( - FrameLayout.LayoutParams.MATCH_PARENT, - FrameLayout.LayoutParams.WRAP_CONTENT); - layoutParams.topMargin = com.sunfusheng.marqueeview.DisplayUtil.dip2px(this, 100); - layoutParams.gravity = Gravity.TOP | Gravity.CENTER_HORIZONTAL; - currentXlhView.setLayoutParams(layoutParams); - decorView1.addView(currentXlhView); - - updateXlhFloatingViewData(currentXlhView, event); - resetAndStartXlhAnimation(currentXlhView, () -> { - // 清理当前视图 - if (currentXlhView != null && currentXlhView.getParent() != null) { - ViewGroup parent = (ViewGroup) currentXlhView.getParent(); - parent.removeView(currentXlhView); - } - currentXlhView = null; - - // 处理队列中的下一条消息 - synchronized (xlhQueueLock) { - isXlhPlaying = false; - processNextXlhMessage(); - } - }); - } catch (Exception e) { - LogUtils.e("显示XLH飘屏失败", e); - // 出现异常时继续处理队列 - synchronized (xlhQueueLock) { - isXlhPlaying = false; - processNextXlhMessage(); - } - } - } - - private void resetAndStartMqttAnimation(View view, Runnable onAnimationEnd) { - try { - int screenWidth = getScreenWidth(); - // 设置初始位置:在屏幕右侧外部(完全不可见) - view.setTranslationX(screenWidth); - - - TranslateAnimation enterAnim = new TranslateAnimation( - Animation.ABSOLUTE, screenWidth, - Animation.ABSOLUTE, (screenWidth - SystemUtils.getWidth(316)) / 2, - Animation.ABSOLUTE, 0, - Animation.ABSOLUTE, 0 - ); - enterAnim.setDuration(1500); - enterAnim.setInterpolator(new DecelerateInterpolator(2.0f)); - enterAnim.setAnimationListener(new Animation.AnimationListener() { - @Override - public void onAnimationStart(Animation animation) { - } - - @Override - public void onAnimationEnd(Animation animation) { - // 停留后退出 - postDelayed(() -> { - TranslateAnimation exitAnim = new TranslateAnimation( - Animation.ABSOLUTE, (screenWidth - SystemUtils.getWidth(316)) / 2, - Animation.ABSOLUTE, -screenWidth, - Animation.ABSOLUTE, 0, - Animation.ABSOLUTE, 0 - ); - exitAnim.setDuration(3000); - exitAnim.setInterpolator(new DecelerateInterpolator(2f)); - exitAnim.setAnimationListener(new Animation.AnimationListener() { - @Override - public void onAnimationStart(Animation animation) { - } - - @Override - public void onAnimationEnd(Animation animation) { - // 移除视图并处理下一个 - onAnimationEnd.run(); - } - - @Override - public void onAnimationRepeat(Animation animation) { - } - }); - view.startAnimation(exitAnim); - }, 5000); // 停留1秒 - } - - @Override - public void onAnimationRepeat(Animation animation) { - } - }); - view.startAnimation(enterAnim); - - } catch (Exception e) { - LogUtils.e("MQTT动画启动失败", e); - onAnimationEnd.run(); - } - } - - // 添加获取屏幕宽度的方法 - private int getScreenWidth() { - DisplayMetrics displayMetrics = new DisplayMetrics(); - if (getWindowManager() != null) { - getWindowManager().getDefaultDisplay().getMetrics(displayMetrics); - return displayMetrics.widthPixels; - } - return getResources().getDisplayMetrics().widthPixels; - } - - private void resetAndStartXlhAnimation(View view, Runnable onAnimationEnd) { - try { - view.setTranslationX(view.getWidth()); - ObjectAnimator animator1 = ObjectAnimator.ofFloat(view, "translationX", view.getWidth(), 0f); - animator1.setDuration(1500); - animator1.setInterpolator(new DecelerateInterpolator(2.0f)); - animator1.start(); - - view.postDelayed(() -> { - try { - ObjectAnimator animator2 = ObjectAnimator.ofFloat(view, "translationX", 0f, -view.getWidth()); - animator2.setDuration(1500); - animator2.setInterpolator(new DecelerateInterpolator(2.0f)); - animator2.addListener(new AnimatorListenerAdapter() { - @Override - public void onAnimationEnd(Animator animation) { - onAnimationEnd.run(); - } - - @Override - public void onAnimationCancel(Animator animation) { - onAnimationEnd.run(); - } - }); - animator2.start(); - } catch (Exception e) { - LogUtils.e("XLH动画执行失败", e); - onAnimationEnd.run(); - } - }, 5000); - } catch (Exception e) { - LogUtils.e("XLH动画启动失败", e); - onAnimationEnd.run(); - } - } - - private void updateFloatingViewData(View view, MqttBean.ListBean mqttBean) { - TextView textView = view.findViewById(R.id.tv_name); - TextView textView2 = view.findViewById(R.id.tv_to_name); - TextView tv_time = view.findViewById(R.id.tv_num); - - if (mqttBean != null) { - textView2.setText("送给" + (mqttBean.getToUserName() != null ? mqttBean.getToUserName() : "")); - textView.setText(mqttBean.getFromUserName() != null ? mqttBean.getFromUserName() : ""); - if (mqttBean.getGift_picture() != null) { - ImageUtils.loadHeadCC(mqttBean.getGift_picture(), view.findViewById(R.id.iv_piaoping)); - } - tv_time.setText("x" + (mqttBean.getNumber() != null ? mqttBean.getNumber() : "1")); - } else { - textView2.setText("送给"); - textView.setText(""); - tv_time.setText("x1"); - } - } - - private void updateXlhFloatingViewData(View view, XLHBean xlhBean) { - TextView textView = view.findViewById(R.id.tv_name); - ImageView xlh_image = view.findViewById(R.id.im_xlh); - - if (xlhBean != null) { - xlh_image.setImageDrawable(xlhBean.getFrom_type() == 1 ? - getResources().getDrawable(R.mipmap.xlh_jjks) : - getResources().getDrawable(R.mipmap.xlh_zsks)); - textView.setText(xlhBean.getText()); - } else { - textView.setText(""); - } - - view.setOnClickListener(v -> { - // 点击时执行跳转操作 - handleItemClick(xlhBean); - }); - } - - private void handleItemClick(XLHBean xlhBean) { - // 这里可以根据实际需求实现跳转逻辑 - // 例如:跳转到礼物详情页面、用户主页等 - // 使用缓存数据进入房间 - RoomManager.getInstance().fetchRoomDataAndEnter(getApplicationContext(), xlhBean.getRoom_id(), "",null); -// ARouter.getInstance().build(ARouteConstants.ROOM_DETAILS).withString("from", "我的界面").withString("roomId", xlhBean.getRoom_id()).navigation(); - - } - - private void handleRedItemClick(RedBean redBean) { - // 这里可以根据实际需求实现跳转逻辑 - // 例如:跳转到礼物详情页面、用户主页等 - // 使用缓存数据进入房间 - RoomManager.getInstance().fetchRoomDataAndEnter(getApplicationContext(), redBean.getRoom_id(), "",null); -// ARouter.getInstance().build(ARouteConstants.ROOM_DETAILS).withString("from", "我的界面").withString("roomId", xlhBean.getRoom_id()).navigation(); - - } - - - @Subscribe(threadMode = ThreadMode.MAIN) - public void onEvent(ChatInfo event) { - String id = event.getId().replace("g", ""); - Intent intent = new Intent(this, WebViewActivity.class); - intent.putExtra("url", CommonAppContext.getInstance().getCurrentEnvironment().getH5Url() + "/web/index.html#/pages/union/setGroup?id=" + SpUtil.getToken() + "&guildId=" + id); - startActivity(intent); -// ARouter.getInstance().build(ARouteConstants.H5).withString("url", CommonAppContext.getInstance().getCurrentEnvironment().getH5Url() + "/web/index.html#/pages/union/setGroup?id=" + SpUtil.getToken() + "&guildId=" + id).navigation(); - } - } diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/activity/BaseMvpActivity.java b/moduleUtil/src/main/java/com/xscm/moduleutil/activity/BaseMvpActivity.java deleted file mode 100644 index d9e5f455..00000000 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/activity/BaseMvpActivity.java +++ /dev/null @@ -1,304 +0,0 @@ -package com.xscm.moduleutil.activity; - -import android.Manifest; -import android.app.Activity; -import android.content.Context; -import android.content.pm.PackageManager; -import android.content.res.Configuration; -import android.content.res.Resources; -import android.view.View; - -import androidx.annotation.NonNull; -import androidx.core.app.ActivityCompat; -import androidx.core.content.ContextCompat; -import androidx.databinding.ViewDataBinding; - -import com.blankj.utilcode.util.LogUtils; -import com.blankj.utilcode.util.ToastUtils; -import com.tencent.imsdk.v2.V2TIMConversationListener; -import com.tencent.imsdk.v2.V2TIMConversationManager; -import com.tencent.imsdk.v2.V2TIMSDKListener; -import com.tencent.imsdk.v2.V2TIMValueCallback; -import com.tencent.qcloud.tuicore.TUIConfig; -import com.tencent.qcloud.tuicore.TUIConstants; -import com.tencent.qcloud.tuicore.TUICore; -import com.tencent.qcloud.tuicore.interfaces.TUILoginListener; -import com.xscm.moduleutil.base.CommonAppContext; -import com.xscm.moduleutil.base.RoomManager; -import com.xscm.moduleutil.bean.UserBean; -import com.xscm.moduleutil.bean.UserInfo; -import com.xscm.moduleutil.dialog.ConfirmDialog; -import com.xscm.moduleutil.event.UnreadCountEvent; -import com.xscm.moduleutil.http.RetrofitClient; -import com.xscm.moduleutil.utils.LanguageUtil; -import com.xscm.moduleutil.utils.location.LocationProvider; -import com.xscm.moduleutil.utils.location.SystemLocationProvider; -import com.tencent.imsdk.v2.V2TIMCallback; -import com.tencent.imsdk.v2.V2TIMManager; -import com.tencent.imsdk.v2.V2TIMUserFullInfo; -import com.tencent.qcloud.tuicore.TUILogin; -import com.tencent.qcloud.tuicore.interfaces.TUICallback; - -import org.greenrobot.eventbus.EventBus; -import org.greenrobot.eventbus.Subscribe; -import org.greenrobot.eventbus.ThreadMode; - -public abstract class BaseMvpActivity

extends BaseAppCompatActivity implements - IView { - - protected P MvpPre; - - protected abstract P bindPresenter(); - - @Override - protected void doDone() { - super.doDone(); - } - - @Override - protected void initView() { - MvpPre = bindPresenter(); - } - - @Override - public void showLoadings() { -// showLoading("加载中"); - } - - @Override - public void showLoadings(String content) { -// showLoading(content); - } - - @Override - public void disLoadings() { -// disLoading(); - } - - @Override - protected void onDestroy() { - if (MvpPre != null) { - try { - MvpPre.detachView(); - }catch (Exception e){ - e.printStackTrace(); - } - } - super.onDestroy(); - } - - @Override - public Activity getSelfActivity() { - return this; - } - - @Override - protected void attachBaseContext(Context newBase) { - super.attachBaseContext(LanguageUtil.attachBaseContext(newBase)); - } - - @Subscribe(threadMode = ThreadMode.MAIN) - public void logOutEvent(UserBean userBean) { - // 在用户 UI 点击登录的时候调用 - TUILogin.login(getBaseContext(), CommonAppContext.getInstance().getCurrentEnvironment().getSdkAppId(), "u" + userBean.getUser_id(), userBean.getTencent_im(), new TUICallback() { - @Override - public void onError(final int code, final String desc) { - LogUtils.e("@@@1", code, "描述:", desc); - } - - @Override - public void onSuccess() { - LogUtils.e("@@@", "成功"); - V2TIMManager.getConversationManager().getTotalUnreadMessageCount(new V2TIMValueCallback() { - @Override - public void onSuccess(Long aLong) { - // 通知未读数变化 - UnreadCountEvent event =CommonAppContext.getInstance().unreadCountEvent; - if (event==null){ - event=new UnreadCountEvent(); - } - event.setALong(aLong); - // 使用EventBus通知 - CommonAppContext.getInstance().setUnreadCountEvent(event); - EventBus.getDefault().post(event); - } - - @Override - public void onError(int code, String desc) { - // 错误处理 - } - }); - //initLocation(); - } - }); -// V2TIMManager.getInstance().addIMSDKListener(imSdkListener); - - } - - private final V2TIMSDKListener imSdkListener = new V2TIMSDKListener() { - @Override - public void onConnecting() { - } - - @Override - public void onConnectSuccess() {//重连成功 - if (CommonAppContext.getInstance().playId!=null){ - LogUtils.e("@@@", "重连成功"); - LogUtils.e("@@@", ""+CommonAppContext.getInstance().playId); - RetrofitClient.getInstance().roomUserReconnect(CommonAppContext.getInstance().playId); - } - } - - @Override - public void onConnectFailed(int code, String error) { - LogUtils.e("@@@", "断开连接"); - CommonAppContext.getInstance().onConnectFailed=true; - } - - @Override - public void onKickedOffline() { -// queren1(); - if (CommonAppContext.getInstance().playId!=null){ - ToastUtils.showShort("您的账号已被挤下线"); - try { - CommonAppContext.getInstance().clearLoginInfo(); - } catch (ClassNotFoundException e) { - throw new RuntimeException(e); - } - } - - } - - @Override - public void onUserSigExpired() { - } - - @Override - public void onSelfInfoUpdated(V2TIMUserFullInfo info) { - } - }; - - private void queren1() { - // 创建并显示确认对话框 - new ConfirmDialog(this, - "温馨提示", - "您的账号已在别处登录,请确认密码是否已经泄露", - "知道了", - "", - v -> { - // 点击“确认”按钮时执行删除操作 - - if (CommonAppContext.getInstance().playId!=null){ - RoomManager.getInstance().exitRoom(CommonAppContext.getInstance().playId); - } - try { - CommonAppContext.getInstance().clearLoginInfo(); - } catch (ClassNotFoundException e) { - throw new RuntimeException(e); - } - - }, - v -> { - // 点击“取消”按钮时什么都不做 - - }, false, 0).show(); - } - - - - @Override - public Resources getResources() { - Resources resources = super.getResources(); - if (resources != null) { - Configuration configuration = resources.getConfiguration(); - if (configuration != null) { - // 设置字体缩放比例不随系统变化 - configuration.fontScale = 1.0f; // 1.0f表示默认大小 - resources.updateConfiguration(configuration, resources.getDisplayMetrics()); - } - } - return resources; - } - - /** - * 显示全局飘屏消息(支持任意位置飘过) - * - */ -// @Subscribe(threadMode = ThreadMode.MAIN) -// public void showPiaoPingMessage(MqttBean mqttBean) { -// WindowManager windowManager = (WindowManager) getSystemService(WINDOW_SERVICE); -// if (windowManager == null) return; -// -// int screenWidth = getResources().getDisplayMetrics().widthPixels; -// int screenHeight = getResources().getDisplayMetrics().heightPixels; -// -// WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams( -// WindowManager.LayoutParams.MATCH_PARENT, -// WindowManager.LayoutParams.WRAP_CONTENT, -// Build.VERSION.SDK_INT >= Build.VERSION_CODES.O ? -// WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY : -// WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY, -// WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | -// WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN | -// WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED, -// PixelFormat.TRANSLUCENT); -// -// // 设置 Gravity 为左上角 -// layoutParams.gravity = Gravity.TOP | Gravity.START; -// -// // Y 轴随机位置 -//// layoutParams.y = (int) ((Math.random() * (screenHeight - 200))); -// -// // 初始 X 设为负值,确保 View 在屏幕左侧外 -// layoutParams.x = -screenWidth; -// -// View piaoPingView = LayoutInflater.from(this).inflate(R.layout.item_piaoping, null); -// TextView textView = piaoPingView.findViewById(R.id.tv_name); -// TextView textView2 = piaoPingView.findViewById(R.id.tv_to_name); -// textView2.setText("送给"+mqttBean.getList().getToUserName()); -// textView.setText(mqttBean.getList().getFromUserName()); -// ImageUtils.loadHeadCC(mqttBean.getList().getGift_picture(), piaoPingView.findViewById(R.id.iv_piaoping)); -// TextView tv_time = piaoPingView.findViewById(R.id.tv_num); -// tv_time.setText(mqttBean.getList().getNumber()); -// windowManager.addView(piaoPingView, layoutParams); -// -// piaoPingView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { -// @Override -// public void onGlobalLayout() { -// piaoPingView.getViewTreeObserver().removeOnGlobalLayoutListener(this); -// -// // 设置锚点为左上角,避免偏移干扰 -// piaoPingView.setPivotX(0); -// piaoPingView.setPivotY(0); -// -// // 启动动画:从左外滑入 -> 右外滑出 -// ObjectAnimator animator = ObjectAnimator.ofFloat( -// piaoPingView, -// "translationX", -// 0f, // 初始偏移为 0(此时 View 在左侧外) -// screenWidth // 向右移动整个屏幕宽度 -// ); -// animator.setDuration(2000); // 整个动画的时长为2秒 -// -// // 强制 GPU 渲染 -// piaoPingView.setLayerType(View.LAYER_TYPE_HARDWARE, null); -// -// // 延迟显示2秒后开始滑出屏幕的动画 -// piaoPingView.postDelayed(new Runnable() { -// @Override -// public void run() { -// animator.start(); -// } -// }, 3000); -// -// animator.addListener(new AnimatorListenerAdapter() { -// @Override -// public void onAnimationEnd(Animator animation) { -// windowManager.removeView(piaoPingView); -// } -// }); -// } -// }); -// } - -} diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/utils/config/EnvironmentPrefs.java b/moduleUtil/src/main/java/com/xscm/moduleutil/utils/config/EnvironmentPrefs.java index a1d591a3..6fac3798 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/utils/config/EnvironmentPrefs.java +++ b/moduleUtil/src/main/java/com/xscm/moduleutil/utils/config/EnvironmentPrefs.java @@ -51,11 +51,11 @@ public class EnvironmentPrefs { // } // 默认使用生产环境 - String envName = sharedPreferences.getString(KEY_ENV, EnvironmentEnum.PRODUCTION.name()); + String envName = sharedPreferences.getString(KEY_ENV, EnvironmentEnum.TEST.name()); try { return EnvironmentEnum.valueOf(envName); } catch (IllegalArgumentException e) { - return EnvironmentEnum.PRODUCTION; // 出错时默认返回生产环境 + return EnvironmentEnum.TEST; // 出错时默认返回生产环境 } } } \ No newline at end of file diff --git a/modulemain/src/main/AndroidManifest.xml b/modulemain/src/main/AndroidManifest.xml index 434df3f7..1e794cfb 100644 --- a/modulemain/src/main/AndroidManifest.xml +++ b/modulemain/src/main/AndroidManifest.xml @@ -166,6 +166,20 @@ android:name=".activity.user.activity.RealNameActivity" android:exported="false" /> + + + + + + + + + + diff --git a/modulemain/src/main/java/com/xscm/modulemain/BaseMvpActivity.java b/modulemain/src/main/java/com/xscm/modulemain/BaseMvpActivity.java new file mode 100644 index 00000000..3a9a8fc8 --- /dev/null +++ b/modulemain/src/main/java/com/xscm/modulemain/BaseMvpActivity.java @@ -0,0 +1,1025 @@ +package com.xscm.modulemain; + +import static com.xscm.moduleutil.base.CommonAppContext.postDelayed; + +import android.animation.Animator; +import android.animation.AnimatorListenerAdapter; +import android.animation.ObjectAnimator; +import android.app.Activity; +import android.content.Context; +import android.content.Intent; +import android.content.res.Configuration; +import android.content.res.Resources; +import android.media.MediaPlayer; +import android.os.Bundle; +import android.text.Spannable; +import android.text.SpannableStringBuilder; +import android.text.style.ForegroundColorSpan; +import android.util.DisplayMetrics; +import android.view.Gravity; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.view.animation.AccelerateInterpolator; +import android.view.animation.Animation; +import android.view.animation.DecelerateInterpolator; +import android.view.animation.TranslateAnimation; +import android.widget.FrameLayout; +import android.widget.ImageView; +import android.widget.TextView; + +import androidx.core.content.ContextCompat; +import androidx.databinding.ViewDataBinding; + +import com.blankj.utilcode.util.LogUtils; +import com.blankj.utilcode.util.ToastUtils; +import com.tencent.imsdk.v2.V2TIMSDKListener; +import com.tencent.imsdk.v2.V2TIMValueCallback; +import com.tencent.qcloud.tuikit.tuichat.bean.ChatInfo; +import com.xscm.modulemain.manager.RoomManager; +import com.xscm.moduleutil.activity.BaseAppCompatActivity; +import com.xscm.moduleutil.activity.IPresenter; +import com.xscm.moduleutil.activity.IView; +import com.xscm.modulemain.activity.WebViewActivity; +import com.xscm.moduleutil.base.CommonAppContext; +import com.xscm.moduleutil.bean.UserBean; +import com.xscm.moduleutil.bean.XLHBean; +import com.xscm.moduleutil.dialog.ConfirmDialog; +import com.xscm.moduleutil.event.HourlyBean; +import com.xscm.moduleutil.event.MqttBean; +import com.xscm.moduleutil.event.RedBean; +import com.xscm.moduleutil.event.UnreadCountEvent; +import com.xscm.moduleutil.http.RetrofitClient; +import com.xscm.moduleutil.utils.ImageUtils; +import com.xscm.moduleutil.utils.LanguageUtil; +import com.tencent.imsdk.v2.V2TIMManager; +import com.tencent.imsdk.v2.V2TIMUserFullInfo; +import com.tencent.qcloud.tuicore.TUILogin; +import com.tencent.qcloud.tuicore.interfaces.TUICallback; +import com.xscm.moduleutil.utils.SpUtil; +import com.xscm.moduleutil.utils.SystemUtils; + +import org.greenrobot.eventbus.EventBus; +import org.greenrobot.eventbus.Subscribe; +import org.greenrobot.eventbus.ThreadMode; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public abstract class BaseMvpActivity

extends BaseAppCompatActivity implements + IView { + + protected P MvpPre; + + protected abstract P bindPresenter(); + + @Override + protected void doDone() { + super.doDone(); + } + + @Override + protected void initView() { + MvpPre = bindPresenter(); + } + + @Override + public void showLoadings() { +// showLoading("加载中"); + } + + @Override + public void showLoadings(String content) { +// showLoading(content); + } + + @Override + public void disLoadings() { +// disLoading(); + } + + @Override + protected void onDestroy() { + + // 清理MQTT相关资源 + synchronized (mqttQueueLock) { + mqttMessageQueue.clear(); + isMqttPlaying = false; + } + + // 清理XLH相关资源 + synchronized (xlhQueueLock) { + xlhMessageQueue.clear(); + isXlhPlaying = false; + } + + // 移除当前显示的视图 + try { + if (currentMqttView != null && currentMqttView.getParent() != null) { + ViewGroup parent = (ViewGroup) currentMqttView.getParent(); + parent.removeView(currentMqttView); + } + currentMqttView = null; + + if (currentXlhView != null && currentXlhView.getParent() != null) { + ViewGroup parent = (ViewGroup) currentXlhView.getParent(); + parent.removeView(currentXlhView); + } + currentXlhView = null; + } catch (Exception e) { + LogUtils.e("清理飘屏视图失败", e); + } + + if (MvpPre != null) { + try { + MvpPre.detachView(); + }catch (Exception e){ + e.printStackTrace(); + } + } + super.onDestroy(); + } + + @Override + public Activity getSelfActivity() { + return this; + } + + @Override + protected void attachBaseContext(Context newBase) { + super.attachBaseContext(LanguageUtil.attachBaseContext(newBase)); + } + + @Subscribe(threadMode = ThreadMode.MAIN) + public void logOutEvent(UserBean userBean) { + // 在用户 UI 点击登录的时候调用 + TUILogin.login(getBaseContext(), CommonAppContext.getInstance().getCurrentEnvironment().getSdkAppId(), "u" + userBean.getUser_id(), userBean.getTencent_im(), new TUICallback() { + @Override + public void onError(final int code, final String desc) { + LogUtils.e("@@@1", code, "描述:", desc); + } + + @Override + public void onSuccess() { + LogUtils.e("@@@", "成功"); + V2TIMManager.getConversationManager().getTotalUnreadMessageCount(new V2TIMValueCallback() { + @Override + public void onSuccess(Long aLong) { + // 通知未读数变化 + UnreadCountEvent event =CommonAppContext.getInstance().unreadCountEvent; + if (event==null){ + event=new UnreadCountEvent(); + } + event.setALong(aLong); + // 使用EventBus通知 + CommonAppContext.getInstance().setUnreadCountEvent(event); + EventBus.getDefault().post(event); + } + + @Override + public void onError(int code, String desc) { + // 错误处理 + } + }); + //initLocation(); + } + }); +// V2TIMManager.getInstance().addIMSDKListener(imSdkListener); + + } + + private final V2TIMSDKListener imSdkListener = new V2TIMSDKListener() { + @Override + public void onConnecting() { + } + + @Override + public void onConnectSuccess() {//重连成功 + if (CommonAppContext.getInstance().playId!=null){ + LogUtils.e("@@@", "重连成功"); + LogUtils.e("@@@", ""+CommonAppContext.getInstance().playId); + RetrofitClient.getInstance().roomUserReconnect(CommonAppContext.getInstance().playId); + } + } + + @Override + public void onConnectFailed(int code, String error) { + LogUtils.e("@@@", "断开连接"); + CommonAppContext.getInstance().onConnectFailed=true; + } + + @Override + public void onKickedOffline() { +// queren1(); + if (CommonAppContext.getInstance().playId!=null){ + ToastUtils.showShort("您的账号已被挤下线"); + try { + CommonAppContext.getInstance().clearLoginInfo(); + } catch (ClassNotFoundException e) { + throw new RuntimeException(e); + } + } + + } + + @Override + public void onUserSigExpired() { + } + + @Override + public void onSelfInfoUpdated(V2TIMUserFullInfo info) { + } + }; + + private void queren1() { + // 创建并显示确认对话框 + new ConfirmDialog(this, + "温馨提示", + "您的账号已在别处登录,请确认密码是否已经泄露", + "知道了", + "", + v -> { + // 点击“确认”按钮时执行删除操作 + + if (CommonAppContext.getInstance().playId!=null){ + RoomManager.getInstance().exitRoom(CommonAppContext.getInstance().playId); + } + try { + CommonAppContext.getInstance().clearLoginInfo(); + } catch (ClassNotFoundException e) { + throw new RuntimeException(e); + } + + }, + v -> { + // 点击“取消”按钮时什么都不做 + + }, false, 0).show(); + } + + + + @Override + public Resources getResources() { + Resources resources = super.getResources(); + if (resources != null) { + Configuration configuration = resources.getConfiguration(); + if (configuration != null) { + // 设置字体缩放比例不随系统变化 + configuration.fontScale = 1.0f; // 1.0f表示默认大小 + resources.updateConfiguration(configuration, resources.getDisplayMetrics()); + } + } + return resources; + } + + + /// 礼物特效 + /// 礼物特效 + // 在类中添加以下成员变量 + private final List mqttMessageQueue = new ArrayList<>(); // MQTT消息队列 + private final List xlhMessageQueue = new ArrayList<>(); // XLH消息队列 + private final List redMessageQueue = new ArrayList<>(); // 红包队列 + private boolean isMqttPlaying = false; // MQTT播放状态标志 + private boolean isXlhPlaying = false; // XLH播放状态标志 + private boolean isRedPlaying = false; // XLH播放状态标志 + private final Object mqttQueueLock = new Object(); // MQTT队列同步锁 + private final Object xlhQueueLock = new Object(); // XLH队列同步锁 + private final Object RedQueueLock = new Object(); // XLH队列同步锁 + private View currentMqttView = null; // 当前正在播放的MQTT视图 + private View currentXlhView = null; // 当前正在播放的XLH视图 + private View currentRedView = null; // 当前正在播放的XLH视图 + + private final List hourlyMessageQueue = new ArrayList<>(); // 小时榜消息队列 + private final Map currentHourlyViews = new HashMap<>(); // 当前显示的小时榜视图 + private final Object hourlyQueueLock = new Object(); // 小时榜队列同步锁 + private boolean isHourlyProcessing = false; // 小时榜处理状态标志 + + + @Subscribe(threadMode = ThreadMode.MAIN) + public void onMessageReceived(List hourlyBean) { + LogUtils.e("收到小时榜", hourlyBean); + if (hourlyBean == null) return; + if (SpUtil.getFloatingScreen() == 1) { + synchronized (hourlyQueueLock) { + hourlyMessageQueue.addAll(hourlyBean); + if (!isHourlyProcessing) { + isHourlyProcessing = true; + processHourlyMessages(); + } + } + } else { + hourlyMessageQueue.clear(); + clearAllHourlyViews(); + } + } + + private void processHourlyMessages() { + List messagesToProcess; + synchronized (hourlyQueueLock) { + if (hourlyMessageQueue.isEmpty()) { + isHourlyProcessing = false; + return; + } + // 每次只处理1条数据 + messagesToProcess = new ArrayList<>(); + messagesToProcess.add(hourlyMessageQueue.remove(0)); + } + + // 只展示一条数据 + HourlyBean bean = messagesToProcess.get(0); + showHourlyFloatingMessage(bean, 0); + } + + private void showHourlyFloatingMessage(HourlyBean hourlyBean, int positionIndex) { + try { + ViewGroup decorView = (ViewGroup) getWindow().getDecorView(); + + // 创建新的视图 + View hourlyView = LayoutInflater.from(this).inflate(com.xscm.moduleutil.R.layout.item_hourly_floating, null); + FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams( + FrameLayout.LayoutParams.MATCH_PARENT, + FrameLayout.LayoutParams.WRAP_CONTENT); + + // 设置固定的垂直位置 + int baseMargin = com.sunfusheng.marqueeview.DisplayUtil.dip2px(this, 70); + layoutParams.topMargin = baseMargin; + layoutParams.gravity = Gravity.TOP | Gravity.CENTER_HORIZONTAL; + hourlyView.setLayoutParams(layoutParams); + + decorView.addView(hourlyView); + + // 保存视图引用 + currentHourlyViews.put(positionIndex, hourlyView); + + // 更新视图数据 + updateHourlyFloatingViewData(hourlyView, hourlyBean); + + // 根据类型获取展示时间 + long displayDuration = getDisplayDurationByType(Integer.parseInt(hourlyBean.getRank_number())); + + // 启动动画 + resetAndStartHourlyAnimation(hourlyView, displayDuration, () -> { + // 动画结束后清理视图 + if (hourlyView.getParent() != null) { + decorView.removeView(hourlyView); + } + currentHourlyViews.remove(positionIndex); + + // 检查是否还有更多消息需要处理 + synchronized (hourlyQueueLock) { + if (hourlyMessageQueue.isEmpty()) { + isHourlyProcessing = false; + } else { + // 当前视图消失后处理下一条消息 + processHourlyMessages(); + } + } + }); + } catch (Exception e) { + LogUtils.e("显示小时榜飘屏失败", e); + } + } + + private long getDisplayDurationByType(int type) { + // 根据不同类型设置不同的展示时间(毫秒) + switch (type) { + case 1: // 第一名 + return 5000; // 5秒 + case 2: // 第二名 + return 4000; // 4秒 + case 3: // 第三名 + return 3000; // 3秒 + default: + return 3000; // 默认3秒 + } + } + + private void updateHourlyFloatingViewData(View view, HourlyBean hourlyBean) { + TextView tvName = view.findViewById(com.xscm.moduleutil.R.id.tv_name); + ImageView ivAvatar = view.findViewById(com.xscm.moduleutil.R.id.im_h_t); + + if (hourlyBean != null) { + // 根据排名设置不同的显示 + switch (hourlyBean.getRank_number()) { + case "1": +// tvName.setText("新科状元! ["+hourlyBean.getRoom_name()+"] 独占鳌头!"); + setColoredText(tvName, "新科状元! [", hourlyBean.getRoom_name(), "] 独占鳌头!", com.xscm.moduleutil.R.color.color_FFFA63); + ivAvatar.setImageResource(com.xscm.moduleutil.R.mipmap.hourl_top1); + break; + case "2": +// tvName.setText("金榜榜眼! ["+hourlyBean.getRoom_name()+"] 才气逼人!"); + setColoredText(tvName, "金榜榜眼! [", hourlyBean.getRoom_name(), "] 才气逼人!", com.xscm.moduleutil.R.color.color_FFFA63); + + ivAvatar.setImageResource(com.xscm.moduleutil.R.mipmap.hourl_top2); + break; + case "3": + setColoredText(tvName, "风采探花! [", hourlyBean.getRoom_name(), "] 实力绽放!", com.xscm.moduleutil.R.color.color_1FFFE5); +// tvName.setText("风采探花! ["+hourlyBean.getRoom_name()+"] 实力绽放!"); + + ivAvatar.setImageResource(com.xscm.moduleutil.R.mipmap.hourl_top3); + break; + default: + tvName.setVisibility(View.GONE); + ivAvatar.setVisibility(View.GONE); + break; + } + + } + } + + // 设置带颜色的文本 + // 设置带颜色的文本 + private void setColoredText(TextView textView, String prefix, String roomName, String suffix, int colorRes) { + String fullText = prefix + roomName + suffix; + SpannableStringBuilder builder = new SpannableStringBuilder(fullText); + + // 先为整个文本设置白色 + builder.setSpan( + new ForegroundColorSpan(ContextCompat.getColor(this, R.color.white)), + 0, + fullText.length(), + Spannable.SPAN_EXCLUSIVE_EXCLUSIVE + ); + + // 查找房间名在文本中的位置 + int start = fullText.indexOf("["); + int end = fullText.indexOf("]") + 1; + + if (start >= 0 && end > start) { + // 为房间名部分设置指定颜色 + builder.setSpan( + new ForegroundColorSpan(ContextCompat.getColor(this, colorRes)), + start, + end, + Spannable.SPAN_EXCLUSIVE_EXCLUSIVE + ); + } + + textView.setText(builder); + } + + private void resetAndStartHourlyAnimation(View view, long displayDuration, Runnable onAnimationEnd) { + try { + int screenWidth = getScreenWidth(); + // 设置初始位置:在屏幕右侧外部 + view.setTranslationX(screenWidth); + + // 进入动画 + ObjectAnimator enterAnimator = ObjectAnimator.ofFloat(view, "translationX", screenWidth, 0f); + enterAnimator.setDuration(500); + enterAnimator.setInterpolator(new DecelerateInterpolator()); + enterAnimator.start(); + + // 停留后退出动画 + view.postDelayed(() -> { + try { + ObjectAnimator exitAnimator = ObjectAnimator.ofFloat(view, "translationX", 0f, -screenWidth); + exitAnimator.setDuration(500); + exitAnimator.setInterpolator(new AccelerateInterpolator()); + exitAnimator.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animation) { + onAnimationEnd.run(); + } + + @Override + public void onAnimationCancel(Animator animation) { + onAnimationEnd.run(); + } + }); + exitAnimator.start(); + } catch (Exception e) { + LogUtils.e("小时榜退出动画执行失败", e); + onAnimationEnd.run(); + } + }, displayDuration); // 根据类型设置的展示时间 + + } catch (Exception e) { + LogUtils.e("小时榜动画启动失败", e); + onAnimationEnd.run(); + } + } + + private void clearAllHourlyViews() { + ViewGroup decorView = (ViewGroup) getWindow().getDecorView(); + for (View view : currentHourlyViews.values()) { + if (view.getParent() != null) { + decorView.removeView(view); + } + } + currentHourlyViews.clear(); + } + + /// 礼物特效 - MQTT消息处理 + @Subscribe(threadMode = ThreadMode.MAIN) + public void onMessageReceived(MqttBean mqttBean) { + LogUtils.e("收到MQTT", mqttBean); + if (mqttBean == null) return; + if (SpUtil.getFloatingScreen() == 1) { + synchronized (mqttQueueLock) { + + mqttMessageQueue.addAll(mqttBean.getList()); +// if (!isMqttPlaying) { +// isMqttPlaying = true; + processNextMqttMessage(); +// } + } + } else { + mqttMessageQueue.clear(); + } + } + + /// XLH消息处理 + @Subscribe(threadMode = ThreadMode.MAIN) + public void onEvent(XLHBean event) { + LogUtils.e("收到XLH", event); + if (event == null) return; + if (event.getText()==null || event.getText().isEmpty()) return; + if (SpUtil.getFloatingScreen() == 1) { + synchronized (xlhQueueLock) { + xlhMessageQueue.add(event); + if (!isXlhPlaying) { + isXlhPlaying = true; + processNextXlhMessage(); + } + } + } else { + xlhMessageQueue.clear(); + } + } + + @Subscribe(threadMode = ThreadMode.MAIN) + public void onEvent(RedBean event){ + LogUtils.e("收到红包", event); + if (event==null) return; + if (SpUtil.getFloatingScreen()==1){ + + synchronized (RedQueueLock) { + redMessageQueue.add(event); + if (!isRedPlaying) { + isRedPlaying = true; + processNextRedMessage(); + } + } + } else { + redMessageQueue.clear(); + } + } + + private void processNextRedMessage() { + RedBean redBean; + synchronized (RedQueueLock) { + if (redMessageQueue.isEmpty()) { + isRedPlaying = false; + return; + } + redBean = redMessageQueue.remove(0); + } + showPiaoPingMessageRed(redBean); + } + + private void showPiaoPingMessageRed(RedBean redBean){ + try { + // 清理之前的视图(如果存在) + if (currentRedView != null && currentRedView.getParent() != null) { + ViewGroup parent = (ViewGroup) currentRedView.getParent(); + parent.removeView(currentRedView); + } + + if (decorView2 == null) { + decorView2 = (ViewGroup) getWindow().getDecorView(); + } + + currentRedView = LayoutInflater.from(this).inflate(com.xscm.moduleutil.R.layout.item_piaoping_red, null); + FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams( + FrameLayout.LayoutParams.MATCH_PARENT, + FrameLayout.LayoutParams.WRAP_CONTENT); + layoutParams.topMargin = com.sunfusheng.marqueeview.DisplayUtil.dip2px(this, 140); + layoutParams.gravity = Gravity.TOP | Gravity.CENTER_HORIZONTAL; + currentRedView.setLayoutParams(layoutParams); + decorView2.addView(currentRedView); + + updateRedFloatingViewData(currentRedView, redBean); + // 播放红包音效 + playRedPacketSound(); + resetAndStartXlhAnimation(currentRedView, () -> { + // 清理当前视图 + if (currentRedView != null && currentRedView.getParent() != null) { + ViewGroup parent = (ViewGroup) currentRedView.getParent(); + parent.removeView(currentRedView); + } + currentRedView = null; + + // 处理队列中的下一条消息 + synchronized (RedQueueLock) { + isRedPlaying = false; + processNextRedMessage(); + } + }); + } catch (Exception e) { + LogUtils.e("显示红包飘屏失败", e); + // 出现异常时继续处理队列 + synchronized (RedQueueLock) { + isRedPlaying = false; + processNextRedMessage(); + } + } + } + // 在类中添加成员变量 + private MediaPlayer redPacketMediaPlayer = null; + private boolean isRedPacketMediaPrepared = false; + // 添加播放红包音效的方法 + private void playRedPacketSound() { + try { + if (!isRedPacketMediaPrepared) { + // 第一次初始化MediaPlayer + if (redPacketMediaPlayer == null) { + redPacketMediaPlayer = MediaPlayer.create(this, com.xscm.moduleutil.R.raw.red_packet_come); // 假设音效文件名为red_packet_sound.mp3 + redPacketMediaPlayer.setOnPreparedListener(mp -> { + isRedPacketMediaPrepared = true; + mp.start(); + }); + redPacketMediaPlayer.setOnCompletionListener(mp -> { + // 播放完成后重置,以便下次重新播放 + try { + mp.seekTo(0); + } catch (Exception e) { + LogUtils.e("MediaPlayer重置失败", e); + } + }); + } + + if (redPacketMediaPlayer != null) { + redPacketMediaPlayer.prepareAsync(); // 异步准备 + } + } else { + // 已经准备好了,直接重新播放 + if (redPacketMediaPlayer != null && !redPacketMediaPlayer.isPlaying()) { + redPacketMediaPlayer.seekTo(0); + redPacketMediaPlayer.start(); + } + } + } catch (Exception e) { + LogUtils.e("播放红包音效失败", e); + isRedPacketMediaPrepared=false; + } + } + + private void updateRedFloatingViewData(View view, RedBean redBean){ + TextView textView = view.findViewById(R.id.tv_name); + + if (redBean != null) { + String fullText = redBean.getText(); + if (redBean.getNickname() != null && redBean.getRoom_name() != null) { + SpannableStringBuilder builder = new SpannableStringBuilder(fullText); + + // 为用户名设置蓝色 + int userNameStart = fullText.indexOf(redBean.getNickname()); + if (userNameStart >= 0) { + builder.setSpan( + new ForegroundColorSpan(ContextCompat.getColor(this, com.xscm.moduleutil.R.color.colorPrimary)), + userNameStart, + userNameStart + redBean.getNickname().length(), + Spannable.SPAN_EXCLUSIVE_EXCLUSIVE + ); + } + + // 为房间名设置蓝色 + int roomNameStart = fullText.indexOf(redBean.getRoom_name()); + if (roomNameStart >= 0) { + builder.setSpan( + new ForegroundColorSpan(ContextCompat.getColor(this, com.xscm.moduleutil.R.color.colorPrimary)), + roomNameStart, + roomNameStart + redBean.getRoom_name().length(), + Spannable.SPAN_EXCLUSIVE_EXCLUSIVE + ); + } + + textView.setText(builder); + } else { + textView.setText(fullText); + } + } else { + textView.setText(""); + } + + view.setOnClickListener(v -> { + // 点击时执行跳转操作 + handleRedItemClick(redBean); + }); + } + + // 处理下一个MQTT消息 + private void processNextMqttMessage() { + MqttBean.ListBean mqttBean; + synchronized (mqttQueueLock) { + if (mqttMessageQueue.isEmpty()) { + isMqttPlaying = false; + return; + } + mqttBean = mqttMessageQueue.remove(0); + } + showFloatingMessage(mqttBean); + } + + // 处理下一个XLH消息 + private void processNextXlhMessage() { + XLHBean xlhBean; + synchronized (xlhQueueLock) { + if (xlhMessageQueue.isEmpty()) { + isXlhPlaying = false; + return; + } + xlhBean = xlhMessageQueue.remove(0); + } + showPiaoPingMessageXlh(xlhBean); + } + + ViewGroup decorView;//礼物的 + ViewGroup decorView1;//巡乐会的 + ViewGroup decorView2;//红包的 + + private void showFloatingMessage(MqttBean.ListBean mqttBean) { + +// QXGiftDriftView.getInstance( this).addGiftModel(mqttBean); + + + try { + // 清理之前的视图(如果存在) + if (currentMqttView != null && currentMqttView.getParent() != null) { + ViewGroup parent = (ViewGroup) currentMqttView.getParent(); + parent.removeView(currentMqttView); + } + + if (decorView == null) { + decorView = (ViewGroup) getWindow().getDecorView(); + } + + currentMqttView = LayoutInflater.from(this).inflate(com.xscm.moduleutil.R.layout.item_piaoping, null); + FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams( + FrameLayout.LayoutParams.MATCH_PARENT, + FrameLayout.LayoutParams.WRAP_CONTENT); + layoutParams.topMargin = com.sunfusheng.marqueeview.DisplayUtil.dip2px(this, 70); + layoutParams.gravity = Gravity.TOP | Gravity.CENTER_HORIZONTAL; + currentMqttView.setLayoutParams(layoutParams); + decorView.addView(currentMqttView); + + updateFloatingViewData(currentMqttView, mqttBean); + resetAndStartMqttAnimation(currentMqttView, () -> { + // 清理当前视图 + if (currentMqttView != null && currentMqttView.getParent() != null) { + ViewGroup parent = (ViewGroup) currentMqttView.getParent(); + parent.removeView(currentMqttView); + } + currentMqttView = null; + + // 处理队列中的下一条消息 + synchronized (mqttQueueLock) { + isMqttPlaying = false; + processNextMqttMessage(); + } + }); + } catch (Exception e) { + LogUtils.e("显示MQTT飘屏失败", e); + // 出现异常时继续处理队列 + synchronized (mqttQueueLock) { + isMqttPlaying = false; + processNextMqttMessage(); + } + } + } + + private void showPiaoPingMessageXlh(XLHBean event) { + try { + // 清理之前的视图(如果存在) + if (currentXlhView != null && currentXlhView.getParent() != null) { + ViewGroup parent = (ViewGroup) currentXlhView.getParent(); + parent.removeView(currentXlhView); + } + + if (decorView1 == null) { + decorView1 = (ViewGroup) getWindow().getDecorView(); + } + + currentXlhView = LayoutInflater.from(this).inflate(com.xscm.moduleutil.R.layout.item_piaoping_xlh, null); + FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams( + FrameLayout.LayoutParams.MATCH_PARENT, + FrameLayout.LayoutParams.WRAP_CONTENT); + layoutParams.topMargin = com.sunfusheng.marqueeview.DisplayUtil.dip2px(this, 100); + layoutParams.gravity = Gravity.TOP | Gravity.CENTER_HORIZONTAL; + currentXlhView.setLayoutParams(layoutParams); + decorView1.addView(currentXlhView); + + updateXlhFloatingViewData(currentXlhView, event); + resetAndStartXlhAnimation(currentXlhView, () -> { + // 清理当前视图 + if (currentXlhView != null && currentXlhView.getParent() != null) { + ViewGroup parent = (ViewGroup) currentXlhView.getParent(); + parent.removeView(currentXlhView); + } + currentXlhView = null; + + // 处理队列中的下一条消息 + synchronized (xlhQueueLock) { + isXlhPlaying = false; + processNextXlhMessage(); + } + }); + } catch (Exception e) { + LogUtils.e("显示XLH飘屏失败", e); + // 出现异常时继续处理队列 + synchronized (xlhQueueLock) { + isXlhPlaying = false; + processNextXlhMessage(); + } + } + } + + private void resetAndStartMqttAnimation(View view, Runnable onAnimationEnd) { + try { + int screenWidth = getScreenWidth(); + // 设置初始位置:在屏幕右侧外部(完全不可见) + view.setTranslationX(screenWidth); + + + TranslateAnimation enterAnim = new TranslateAnimation( + Animation.ABSOLUTE, screenWidth, + Animation.ABSOLUTE, (screenWidth - SystemUtils.getWidth(316)) / 2, + Animation.ABSOLUTE, 0, + Animation.ABSOLUTE, 0 + ); + enterAnim.setDuration(1500); + enterAnim.setInterpolator(new DecelerateInterpolator(2.0f)); + enterAnim.setAnimationListener(new Animation.AnimationListener() { + @Override + public void onAnimationStart(Animation animation) { + } + + @Override + public void onAnimationEnd(Animation animation) { + // 停留后退出 + postDelayed(() -> { + TranslateAnimation exitAnim = new TranslateAnimation( + Animation.ABSOLUTE, (screenWidth - SystemUtils.getWidth(316)) / 2, + Animation.ABSOLUTE, -screenWidth, + Animation.ABSOLUTE, 0, + Animation.ABSOLUTE, 0 + ); + exitAnim.setDuration(3000); + exitAnim.setInterpolator(new DecelerateInterpolator(2f)); + exitAnim.setAnimationListener(new Animation.AnimationListener() { + @Override + public void onAnimationStart(Animation animation) { + } + + @Override + public void onAnimationEnd(Animation animation) { + // 移除视图并处理下一个 + onAnimationEnd.run(); + } + + @Override + public void onAnimationRepeat(Animation animation) { + } + }); + view.startAnimation(exitAnim); + }, 5000); // 停留1秒 + } + + @Override + public void onAnimationRepeat(Animation animation) { + } + }); + view.startAnimation(enterAnim); + + } catch (Exception e) { + LogUtils.e("MQTT动画启动失败", e); + onAnimationEnd.run(); + } + } + + // 添加获取屏幕宽度的方法 + private int getScreenWidth() { + DisplayMetrics displayMetrics = new DisplayMetrics(); + if (getWindowManager() != null) { + getWindowManager().getDefaultDisplay().getMetrics(displayMetrics); + return displayMetrics.widthPixels; + } + return getResources().getDisplayMetrics().widthPixels; + } + + private void resetAndStartXlhAnimation(View view, Runnable onAnimationEnd) { + try { + view.setTranslationX(view.getWidth()); + ObjectAnimator animator1 = ObjectAnimator.ofFloat(view, "translationX", view.getWidth(), 0f); + animator1.setDuration(1500); + animator1.setInterpolator(new DecelerateInterpolator(2.0f)); + animator1.start(); + + view.postDelayed(() -> { + try { + ObjectAnimator animator2 = ObjectAnimator.ofFloat(view, "translationX", 0f, -view.getWidth()); + animator2.setDuration(1500); + animator2.setInterpolator(new DecelerateInterpolator(2.0f)); + animator2.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationEnd(Animator animation) { + onAnimationEnd.run(); + } + + @Override + public void onAnimationCancel(Animator animation) { + onAnimationEnd.run(); + } + }); + animator2.start(); + } catch (Exception e) { + LogUtils.e("XLH动画执行失败", e); + onAnimationEnd.run(); + } + }, 5000); + } catch (Exception e) { + LogUtils.e("XLH动画启动失败", e); + onAnimationEnd.run(); + } + } + + private void updateFloatingViewData(View view, MqttBean.ListBean mqttBean) { + TextView textView = view.findViewById(com.xscm.moduleutil.R.id.tv_name); + TextView textView2 = view.findViewById(com.xscm.moduleutil.R.id.tv_to_name); + TextView tv_time = view.findViewById(com.xscm.moduleutil.R.id.tv_num); + + if (mqttBean != null) { + textView2.setText("送给" + (mqttBean.getToUserName() != null ? mqttBean.getToUserName() : "")); + textView.setText(mqttBean.getFromUserName() != null ? mqttBean.getFromUserName() : ""); + if (mqttBean.getGift_picture() != null) { + ImageUtils.loadHeadCC(mqttBean.getGift_picture(), view.findViewById(com.xscm.moduleutil.R.id.iv_piaoping)); + } + tv_time.setText("x" + (mqttBean.getNumber() != null ? mqttBean.getNumber() : "1")); + } else { + textView2.setText("送给"); + textView.setText(""); + tv_time.setText("x1"); + } + } + + private void updateXlhFloatingViewData(View view, XLHBean xlhBean) { + TextView textView = view.findViewById(R.id.tv_name); + ImageView xlh_image = view.findViewById(R.id.im_xlh); + + if (xlhBean != null) { + xlh_image.setImageDrawable(xlhBean.getFrom_type() == 1 ? + getResources().getDrawable(com.xscm.moduleutil.R.mipmap.xlh_jjks) : + getResources().getDrawable(com.xscm.moduleutil.R.mipmap.xlh_zsks)); + textView.setText(xlhBean.getText()); + } else { + textView.setText(""); + } + + view.setOnClickListener(v -> { + // 点击时执行跳转操作 + handleItemClick(xlhBean); + }); + } + + private void handleItemClick(XLHBean xlhBean) { + // 这里可以根据实际需求实现跳转逻辑 + // 例如:跳转到礼物详情页面、用户主页等 + // 使用缓存数据进入房间 + RoomManager.getInstance().fetchRoomDataAndEnter(getApplicationContext(), xlhBean.getRoom_id(), "",null); + + } + + private void handleRedItemClick(RedBean redBean) { + // 这里可以根据实际需求实现跳转逻辑 + // 例如:跳转到礼物详情页面、用户主页等 + // 使用缓存数据进入房间 + RoomManager.getInstance().fetchRoomDataAndEnter(getApplicationContext(), redBean.getRoom_id(), "",null); + } + + + @Subscribe(threadMode = ThreadMode.MAIN) + public void onEvent(ChatInfo event) { + String id = event.getId().replace("g", ""); + Intent intent = new Intent(this, WebViewActivity.class); + intent.putExtra("url", CommonAppContext.getInstance().getCurrentEnvironment().getH5Url() + "/web/index.html#/pages/union/setGroup?id=" + SpUtil.getToken() + "&guildId=" + id); + startActivity(intent); + } + + + public void toActivity(Class clazz){ + Intent intent = new Intent(this, clazz); + startActivity( intent); + } + + public void toActivity(Class clazz, Bundle bundle){ + Intent intent = new Intent(this, clazz); + intent.putExtras(bundle); + startActivity(intent); + } + + +} diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/activity/WebViewActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/WebViewActivity.java similarity index 98% rename from moduleUtil/src/main/java/com/xscm/moduleutil/activity/WebViewActivity.java rename to modulemain/src/main/java/com/xscm/modulemain/activity/WebViewActivity.java index ea4a4f46..160d198d 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/activity/WebViewActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/WebViewActivity.java @@ -1,4 +1,4 @@ -package com.xscm.moduleutil.activity; +package com.xscm.modulemain.activity; import static android.view.View.GONE; import static android.view.View.VISIBLE; @@ -13,7 +13,6 @@ import android.net.Uri; import android.os.Bundle; import android.os.Handler; import android.view.KeyEvent; -import android.view.MotionEvent; import android.view.View; import android.webkit.GeolocationPermissions; import android.webkit.JavascriptInterface; @@ -30,18 +29,17 @@ import com.alibaba.android.arouter.facade.annotation.Autowired; import com.alibaba.android.arouter.facade.annotation.Route; import com.alibaba.android.arouter.launcher.ARouter; import com.blankj.utilcode.util.LogUtils; -import com.blankj.utilcode.util.ToastUtils; -import com.xscm.moduleutil.R; +import com.xscm.modulemain.R; +import com.xscm.modulemain.databinding.ActivityWebViewBinding; +import com.xscm.modulemain.manager.RoomManager; +import com.xscm.moduleutil.activity.BaseAppCompatActivity; import com.xscm.moduleutil.base.CommonAppContext; -import com.xscm.moduleutil.base.RoomManager; -import com.xscm.moduleutil.databinding.ActivityWebViewBinding; import com.xscm.moduleutil.utils.ARouteConstants; import com.tencent.imsdk.v2.V2TIMConversation; import com.tencent.mm.opensdk.modelbiz.WXOpenCustomerServiceChat; import com.tencent.mm.opensdk.openapi.IWXAPI; import com.tencent.mm.opensdk.openapi.WXAPIFactory; import com.tencent.qcloud.tuicore.TUIConstants; -import com.tencent.qcloud.tuikit.tuichat.classicui.page.TUIC2CChatActivity; import com.tencent.qcloud.tuikit.tuichat.classicui.page.TUIGroupChatActivity; /** diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/login/activity/ForgetPasswordActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/login/activity/ForgetPasswordActivity.java index 44025afb..65f86fed 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/login/activity/ForgetPasswordActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/login/activity/ForgetPasswordActivity.java @@ -10,7 +10,7 @@ import com.xscm.modulemain.R; import com.xscm.modulemain.activity.login.present.LoginContacter; import com.xscm.modulemain.activity.login.present.LoginPresenter; import com.xscm.modulemain.databinding.ActivityForgetPasswordBinding; -import com.xscm.moduleutil.activity.BaseMvpActivity; +import com.xscm.modulemain.BaseMvpActivity; import com.xscm.moduleutil.bean.ThemeBean; import com.xscm.moduleutil.bean.UserBean; /** diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/login/activity/ImproveInfoActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/login/activity/ImproveInfoActivity.java index 1164de22..48e9cc32 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/login/activity/ImproveInfoActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/login/activity/ImproveInfoActivity.java @@ -16,7 +16,7 @@ import com.xscm.modulemain.activity.login.contacts.ImproveInfoContacts; import com.xscm.modulemain.activity.login.contacts.ImproveInfoPresenter; import com.xscm.modulemain.activity.main.activity.MainActivity; import com.xscm.modulemain.databinding.ActivityImproveInfoBinding; -import com.xscm.moduleutil.activity.BaseMvpActivity; +import com.xscm.modulemain.BaseMvpActivity; import com.xscm.moduleutil.bean.UserBean; import com.xscm.moduleutil.utils.DateSelectDialog; import com.xscm.moduleutil.utils.GlideEngine; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/login/activity/LoginActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/login/activity/LoginActivity.java index de9bb62f..fb1454e4 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/login/activity/LoginActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/login/activity/LoginActivity.java @@ -23,7 +23,7 @@ import com.xscm.modulemain.R; import com.xscm.modulemain.activity.login.present.LoginContacter; import com.xscm.modulemain.activity.login.present.LoginPresenter; import com.xscm.modulemain.databinding.ActivityLoginBinding; -import com.xscm.moduleutil.activity.BaseMvpActivity; +import com.xscm.modulemain.BaseMvpActivity; import com.xscm.moduleutil.base.CommonAppContext; import com.xscm.moduleutil.bean.ThemeBean; import com.xscm.moduleutil.bean.UserBean; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/login/activity/SwitchAccountsActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/login/activity/SwitchAccountsActivity.java index 03d4359f..5ebbaf57 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/login/activity/SwitchAccountsActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/login/activity/SwitchAccountsActivity.java @@ -11,7 +11,7 @@ import com.xscm.modulemain.activity.login.present.LoginContacter; import com.xscm.modulemain.activity.login.present.LoginPresenter; import com.xscm.modulemain.adapter.SwitchAccountsAdapter; import com.xscm.modulemain.databinding.ActivitySwitchAccountsBinding; -import com.xscm.moduleutil.activity.BaseMvpActivity; +import com.xscm.modulemain.BaseMvpActivity; import com.xscm.moduleutil.bean.ThemeBean; import com.xscm.moduleutil.bean.UserBean; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/login/present/LoginPresenter.java b/modulemain/src/main/java/com/xscm/modulemain/activity/login/present/LoginPresenter.java index e2bf1d02..7654a197 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/login/present/LoginPresenter.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/login/present/LoginPresenter.java @@ -9,7 +9,7 @@ import com.blankj.utilcode.util.ToastUtils; import com.xscm.modulemain.activity.login.activity.ImproveInfoActivity; import com.xscm.modulemain.activity.login.activity.SwitchAccountsActivity; import com.xscm.modulemain.activity.main.activity.MainActivity; -import com.xscm.moduleutil.activity.WebViewActivity; +import com.xscm.modulemain.activity.WebViewActivity; import com.xscm.moduleutil.base.CommonAppContext; import com.xscm.moduleutil.bean.ThemeBean; import com.xscm.moduleutil.bean.UserBean; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/main/activity/MainActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/main/activity/MainActivity.java index 4a1b7127..d6c5f226 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/main/activity/MainActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/main/activity/MainActivity.java @@ -40,10 +40,10 @@ import com.xscm.modulemain.R; import com.xscm.modulemain.activity.main.contacts.HomeContacts; import com.xscm.modulemain.databinding.ActivityMainBinding; import com.xscm.modulemain.activity.main.presenter.HomePresenter; -import com.xscm.moduleutil.activity.BaseMvpActivity; +import com.xscm.modulemain.manager.RoomManager; +import com.xscm.modulemain.BaseMvpActivity; import com.xscm.moduleutil.adapter.AppUpdateDialog; import com.xscm.moduleutil.base.CommonAppContext; -import com.xscm.moduleutil.base.RoomManager; import com.xscm.moduleutil.bean.*; import com.xscm.moduleutil.bean.room.RoomOnline; import com.xscm.moduleutil.bean.room.RoomOnlineBean; diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/activity/news/NewsContacts.java b/modulemain/src/main/java/com/xscm/modulemain/activity/msg/NewsContacts.java similarity index 92% rename from moduleUtil/src/main/java/com/xscm/moduleutil/activity/news/NewsContacts.java rename to modulemain/src/main/java/com/xscm/modulemain/activity/msg/NewsContacts.java index 94711cda..b3b39f2e 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/activity/news/NewsContacts.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/msg/NewsContacts.java @@ -1,4 +1,4 @@ -package com.xscm.moduleutil.activity.news; +package com.xscm.modulemain.activity.msg; import android.app.Activity; diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/activity/news/NewsPresenter.java b/modulemain/src/main/java/com/xscm/modulemain/activity/msg/NewsPresenter.java similarity index 95% rename from moduleUtil/src/main/java/com/xscm/moduleutil/activity/news/NewsPresenter.java rename to modulemain/src/main/java/com/xscm/modulemain/activity/msg/NewsPresenter.java index 79cda6e3..0a7753e7 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/activity/news/NewsPresenter.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/msg/NewsPresenter.java @@ -1,4 +1,4 @@ -package com.xscm.moduleutil.activity.news; +package com.xscm.modulemain.activity.msg; import android.content.Context; diff --git a/moduleUtil/src/main/java/com/xscm/moduleutil/activity/news/OfficialNoticeActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/msg/OfficialNoticeActivity.java similarity index 93% rename from moduleUtil/src/main/java/com/xscm/moduleutil/activity/news/OfficialNoticeActivity.java rename to modulemain/src/main/java/com/xscm/modulemain/activity/msg/OfficialNoticeActivity.java index 2a2270f5..462b102e 100644 --- a/moduleUtil/src/main/java/com/xscm/moduleutil/activity/news/OfficialNoticeActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/msg/OfficialNoticeActivity.java @@ -1,4 +1,4 @@ -package com.xscm.moduleutil.activity.news; +package com.xscm.modulemain.activity.msg; import static android.view.View.GONE; import static android.view.View.VISIBLE; @@ -10,20 +10,18 @@ import android.view.View; import androidx.annotation.NonNull; import androidx.recyclerview.widget.LinearLayoutManager; -import com.alibaba.android.arouter.launcher.ARouter; import com.chad.library.adapter.base.BaseQuickAdapter; import com.chad.library.adapter.base.BaseViewHolder; -import com.xscm.moduleutil.R; -import com.xscm.moduleutil.activity.BaseMvpActivity; -import com.xscm.moduleutil.activity.WebViewActivity; -import com.xscm.moduleutil.base.RoomManager; -import com.xscm.moduleutil.bean.NewsMessageList; -import com.xscm.moduleutil.databinding.ActivityOfficialNoticeBinding; -import com.xscm.moduleutil.utils.ARouteConstants; -import com.xscm.moduleutil.utils.ImageUtils; -import com.xscm.moduleutil.utils.TimeUtils; import com.scwang.smartrefresh.layout.api.RefreshLayout; import com.scwang.smartrefresh.layout.listener.OnRefreshLoadMoreListener; +import com.xscm.modulemain.BaseMvpActivity; +import com.xscm.modulemain.R; +import com.xscm.modulemain.databinding.ActivityOfficialNoticeBinding; +import com.xscm.modulemain.manager.RoomManager; +import com.xscm.modulemain.activity.WebViewActivity; +import com.xscm.moduleutil.bean.NewsMessageList; +import com.xscm.moduleutil.utils.ImageUtils; +import com.xscm.moduleutil.utils.TimeUtils; import java.util.List; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/msg/fragment/NewsFragment.java b/modulemain/src/main/java/com/xscm/modulemain/activity/msg/fragment/NewsFragment.java index 5d40f958..c7414bb6 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/msg/fragment/NewsFragment.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/msg/fragment/NewsFragment.java @@ -11,10 +11,10 @@ import com.tencent.imsdk.v2.V2TIMConversation; import com.tencent.qcloud.tuicore.TUIConstants; import com.tencent.qcloud.tuikit.tuichat.classicui.page.TUIC2CChatActivity; import com.tencent.qcloud.tuikit.tuiconversation.classicui.page.TUIConversationFragment; +import com.xscm.modulemain.activity.msg.OfficialNoticeActivity; import com.xscm.modulemain.activity.msg.contacts.NewsContacts; import com.xscm.modulemain.activity.msg.presenter.NewsPresenter; import com.xscm.modulemain.databinding.FragmentNewsBinding; -import com.xscm.moduleutil.activity.news.OfficialNoticeActivity; import com.xscm.moduleutil.adapter.MyFragmentPagerAdapter; import com.xscm.moduleutil.base.BaseMvpFragment; import com.xscm.moduleutil.base.CommonAppContext; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/plaza/activity/DynamicDetailActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/plaza/activity/DynamicDetailActivity.java index 1b195b83..d663c6cb 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/plaza/activity/DynamicDetailActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/plaza/activity/DynamicDetailActivity.java @@ -25,10 +25,10 @@ import com.xscm.modulemain.databinding.ActivityDynamicDetailBinding; import com.google.android.material.bottomsheet.BottomSheetDialog; import com.xscm.modulemain.activity.plaza.contacts.CircleContacts; import com.xscm.modulemain.activity.plaza.presenter.CirclePresenter; -import com.xscm.moduleutil.activity.BaseMvpActivity; +import com.xscm.modulemain.BaseMvpActivity; +import com.xscm.modulemain.manager.RoomManager; import com.xscm.moduleutil.adapter.CirleListAdapter; import com.xscm.moduleutil.adapter.CommentAdapter; -import com.xscm.moduleutil.base.RoomManager; import com.xscm.moduleutil.bean.CircleListBean; import com.xscm.moduleutil.bean.CommentBean; import com.xscm.moduleutil.bean.ExpandColumnBean; @@ -40,7 +40,7 @@ import com.xscm.moduleutil.utils.ChatLauncher; import com.xscm.moduleutil.utils.SpUtil; import com.xscm.moduleutil.widget.dialog.CommentDialogFragment; import com.xscm.moduleutil.widget.dialog.RewardGiftDialogFragment; -import com.xscm.moduleutil.widget.dialog.ShareDialog; +import com.xscm.modulemain.dialog.ShareDialog; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/plaza/activity/DynamicListActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/plaza/activity/DynamicListActivity.java index fd10b340..4a6ef2e4 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/plaza/activity/DynamicListActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/plaza/activity/DynamicListActivity.java @@ -13,9 +13,9 @@ import com.xscm.modulemain.databinding.ActivityDynamicListBinding; import com.xscm.modulemain.activity.user.activity.UserHomepageActivity; import com.xscm.modulemain.activity.plaza.contacts.CircleContacts; import com.xscm.modulemain.activity.plaza.presenter.CirclePresenter; -import com.xscm.moduleutil.activity.BaseMvpActivity; +import com.xscm.modulemain.BaseMvpActivity; +import com.xscm.modulemain.manager.RoomManager; import com.xscm.moduleutil.adapter.CirleListAdapter; -import com.xscm.moduleutil.base.RoomManager; import com.xscm.moduleutil.bean.CircleListBean; import com.xscm.moduleutil.bean.CommentBean; import com.xscm.moduleutil.bean.ExpandColumnBean; @@ -25,7 +25,7 @@ import com.xscm.moduleutil.utils.ARouteConstants; import com.xscm.moduleutil.utils.ChatLauncher; import com.xscm.moduleutil.utils.ImageUtils; import com.xscm.moduleutil.widget.dialog.RewardGiftDialogFragment; -import com.xscm.moduleutil.widget.dialog.ShareDialog; +import com.xscm.modulemain.dialog.ShareDialog; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/plaza/activity/ReleaseActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/plaza/activity/ReleaseActivity.java index c95c7898..dac2ca31 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/plaza/activity/ReleaseActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/plaza/activity/ReleaseActivity.java @@ -31,7 +31,7 @@ import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.xscm.modulemain.activity.plaza.contacts.ReleaseContract; import com.xscm.modulemain.activity.plaza.presenter.ReleasePresenter; -import com.xscm.moduleutil.activity.BaseMvpActivity; +import com.xscm.modulemain.BaseMvpActivity; import com.xscm.moduleutil.adapter.UserPhotoWallAdapter; import com.xscm.moduleutil.bean.HeatedBean; import com.xscm.moduleutil.color.ThemeableDrawableUtils; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/plaza/fragment/CircleCategoryFragment.java b/modulemain/src/main/java/com/xscm/modulemain/activity/plaza/fragment/CircleCategoryFragment.java index e13c91a1..a2438192 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/plaza/fragment/CircleCategoryFragment.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/plaza/fragment/CircleCategoryFragment.java @@ -18,9 +18,9 @@ import com.scwang.smartrefresh.layout.listener.OnRefreshLoadMoreListener; import com.xscm.modulemain.activity.plaza.activity.DynamicListActivity; import com.xscm.modulemain.activity.plaza.contacts.CircleContacts; import com.xscm.modulemain.activity.plaza.presenter.CirclePresenter; +import com.xscm.modulemain.manager.RoomManager; import com.xscm.moduleutil.adapter.CirleListAdapter; import com.xscm.moduleutil.base.BaseMvpFragment; -import com.xscm.moduleutil.base.RoomManager; import com.xscm.moduleutil.bean.BaseListData; import com.xscm.moduleutil.bean.CircleListBean; import com.xscm.moduleutil.bean.CommentBean; @@ -30,7 +30,7 @@ import com.xscm.moduleutil.event.GiftRewardEvent; import com.xscm.moduleutil.utils.ARouteConstants; import com.xscm.moduleutil.utils.ChatLauncher; import com.xscm.moduleutil.widget.dialog.RewardGiftDialogFragment; -import com.xscm.moduleutil.widget.dialog.ShareDialog; +import com.xscm.modulemain.dialog.ShareDialog; import com.zhpan.bannerview.indicator.DrawableIndicator; import com.zhpan.indicator.base.IIndicator; import com.zhpan.indicator.enums.IndicatorSlideMode; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/plaza/fragment/ExpandColumnFragment.java b/modulemain/src/main/java/com/xscm/modulemain/activity/plaza/fragment/ExpandColumnFragment.java index c0b4ad2b..e518fb64 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/plaza/fragment/ExpandColumnFragment.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/plaza/fragment/ExpandColumnFragment.java @@ -14,8 +14,8 @@ import com.scwang.smartrefresh.layout.api.RefreshLayout; import com.scwang.smartrefresh.layout.listener.OnRefreshLoadMoreListener; import com.xscm.modulemain.activity.plaza.contacts.CircleContacts; import com.xscm.modulemain.activity.plaza.presenter.CirclePresenter; +import com.xscm.modulemain.manager.RoomManager; import com.xscm.moduleutil.base.BaseMvpFragment; -import com.xscm.moduleutil.base.RoomManager; import com.xscm.moduleutil.bean.CircleListBean; import com.xscm.moduleutil.bean.CommentBean; import com.xscm.moduleutil.bean.ExpandColumnBean; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/room/activity/PopularRoomActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/room/activity/PopularRoomActivity.java index 7607caae..3c513bfa 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/room/activity/PopularRoomActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/room/activity/PopularRoomActivity.java @@ -12,9 +12,9 @@ import com.xscm.modulemain.activity.room.contacts.VoiceCategoryContacts; import com.xscm.modulemain.activity.room.presenter.VoiceCategoryPresenter; import com.xscm.modulemain.adapter.PopularRoomAdapter; import com.xscm.modulemain.databinding.ActivityPopularRoomBinding; -import com.xscm.moduleutil.activity.BaseMvpActivity; +import com.xscm.modulemain.BaseMvpActivity; +import com.xscm.modulemain.manager.RoomManager; import com.xscm.moduleutil.base.CommonAppContext; -import com.xscm.moduleutil.base.RoomManager; import com.xscm.moduleutil.bean.BannerModel; import com.xscm.moduleutil.bean.RoomTypeModel; import com.xscm.moduleutil.bean.TopRoom; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/room/activity/RankingListActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/room/activity/RankingListActivity.java index e5cc8551..20be4649 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/room/activity/RankingListActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/room/activity/RankingListActivity.java @@ -11,6 +11,7 @@ import com.xscm.modulemain.R; import com.xscm.modulemain.adapter.SectionsPagerAdapter; import com.xscm.modulemain.databinding.ActivityRankingListBinding; import com.xscm.moduleutil.activity.BaseAppCompatActivity; + /** *@author lxj *@data 2025/5/15 diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/room/activity/RedResultActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/room/activity/RedResultActivity.java index 41e0368f..9ea7a3ae 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/room/activity/RedResultActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/room/activity/RedResultActivity.java @@ -12,7 +12,7 @@ import com.xscm.modulemain.activity.room.fragment.RedViewModel; import com.xscm.modulemain.activity.room.presenter.RedEnvelopesPresenter; import com.xscm.modulemain.adapter.RedAdapter; import com.xscm.modulemain.databinding.FragmentRedBinding; -import com.xscm.moduleutil.activity.BaseMvpActivity; +import com.xscm.modulemain.BaseMvpActivity; import com.xscm.moduleutil.bean.RedpacketDetail; import com.xscm.moduleutil.utils.ARouteConstants; import com.xscm.moduleutil.utils.ImageUtils; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/room/activity/RoomActivity.kt b/modulemain/src/main/java/com/xscm/modulemain/activity/room/activity/RoomActivity.kt index e75f2a43..2631b1e9 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/room/activity/RoomActivity.kt +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/room/activity/RoomActivity.kt @@ -73,13 +73,12 @@ import com.xscm.modulemain.dialog.RoomSettingFragment import com.xscm.modulemain.dialog.SoundEffectsDialogFragment import com.xscm.modulemain.service.ForegroundService import com.xscm.modulemain.service.RoomPlayService -import com.xscm.moduleutil.activity.BaseMvpActivity +import com.xscm.modulemain.BaseMvpActivity import com.xscm.moduleutil.adapter.CommonPageAdapter import com.xscm.moduleutil.adapter.LikeUserAdapter import com.xscm.moduleutil.base.AppStateListener import com.xscm.moduleutil.base.AppStateManager import com.xscm.moduleutil.base.CommonAppContext -import com.xscm.moduleutil.base.RoomManager import com.xscm.moduleutil.bean.* import com.xscm.moduleutil.bean.RoomMessageEvent.T import com.xscm.moduleutil.bean.RoomMessageEvent.text @@ -90,8 +89,9 @@ import com.xscm.moduleutil.bean.room.RoomAuction.AuctionUserBean import com.xscm.moduleutil.color.ThemeableDrawableUtils import com.xscm.moduleutil.dialog.ConfirmDialog import com.xscm.moduleutil.dialog.RechargeDialogFragment -import com.xscm.moduleutil.dialog.giftLottery.GiftLotteryDialog -import com.xscm.moduleutil.dialog.giftLottery.TourClubDialogFragment +import com.xscm.modulemain.dialog.GiftLotteryDialog +import com.xscm.modulemain.dialog.TourClubDialogFragment +import com.xscm.modulemain.manager.RoomManager import com.xscm.moduleutil.event.* import com.xscm.moduleutil.event.RoomWheatEvent import com.xscm.moduleutil.http.BaseObserver diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/room/activity/SearchActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/room/activity/SearchActivity.java index 68338369..7ce894e3 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/room/activity/SearchActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/room/activity/SearchActivity.java @@ -21,8 +21,8 @@ import com.xscm.modulemain.activity.room.presenter.SearchPresenter; import com.google.android.flexbox.FlexDirection; import com.google.android.flexbox.FlexWrap; import com.google.android.flexbox.FlexboxLayoutManager; -import com.xscm.moduleutil.activity.BaseMvpActivity; -import com.xscm.moduleutil.base.RoomManager; +import com.xscm.modulemain.BaseMvpActivity; +import com.xscm.modulemain.manager.RoomManager; import com.xscm.moduleutil.bean.RecordSection; import com.xscm.moduleutil.bean.RoomSearchResp; import com.xscm.moduleutil.bean.SearchAll; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/room/fragment/HotListFragment.java b/modulemain/src/main/java/com/xscm/modulemain/activity/room/fragment/HotListFragment.java index ad7e7266..e263b052 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/room/fragment/HotListFragment.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/room/fragment/HotListFragment.java @@ -14,9 +14,9 @@ import com.xscm.modulemain.databinding.FragmentHotListBinding; import com.xscm.modulemain.activity.room.presenter.HotListPresenter; import com.scwang.smartrefresh.layout.api.RefreshLayout; import com.scwang.smartrefresh.layout.listener.OnRefreshLoadMoreListener; +import com.xscm.modulemain.manager.RoomManager; import com.xscm.moduleutil.base.BaseMvpFragment; import com.xscm.moduleutil.base.CommonAppContext; -import com.xscm.moduleutil.base.RoomManager; import com.xscm.moduleutil.bean.HomeBean; import com.xscm.moduleutil.bean.TopRoom; import com.xscm.moduleutil.bean.room.RoomInfoResp; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/room/fragment/RoomAuctionFragment.java b/modulemain/src/main/java/com/xscm/modulemain/activity/room/fragment/RoomAuctionFragment.java index 8ec2c434..ee5ca554 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/room/fragment/RoomAuctionFragment.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/room/fragment/RoomAuctionFragment.java @@ -46,7 +46,7 @@ import com.xscm.moduleutil.bean.room.RoomBean; import com.xscm.moduleutil.bean.room.RoomInfoResp; import com.xscm.moduleutil.bean.room.RoomPitBean; import com.xscm.moduleutil.dialog.ConfirmDialog; -import com.xscm.moduleutil.dialog.RoomAuctionWebViewDialog; +import com.xscm.modulemain.dialog.RoomAuctionWebViewDialog; import com.xscm.moduleutil.utils.ClickUtils; import com.xscm.moduleutil.utils.ColorManager; import com.xscm.moduleutil.utils.ImageUtils; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/room/fragment/VoiceCategoryFragment.java b/modulemain/src/main/java/com/xscm/modulemain/activity/room/fragment/VoiceCategoryFragment.java index ade9190f..1d308463 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/room/fragment/VoiceCategoryFragment.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/room/fragment/VoiceCategoryFragment.java @@ -25,17 +25,17 @@ import com.google.android.material.tabs.TabLayout; import com.google.android.material.tabs.TabLayoutMediator; import com.stx.xhb.xbanner.XBanner; import com.xscm.modulemain.R; +import com.xscm.modulemain.activity.msg.OfficialNoticeActivity; import com.xscm.modulemain.activity.room.activity.PopularRoomActivity; import com.xscm.modulemain.activity.room.activity.RankingListActivity; import com.xscm.modulemain.activity.room.contacts.VoiceCategoryContacts; import com.xscm.modulemain.activity.room.presenter.VoiceCategoryPresenter; import com.xscm.modulemain.adapter.CarouselBannerAdapter; import com.xscm.modulemain.databinding.FragmentVoiceCategoryBinding; -import com.xscm.moduleutil.activity.WebViewActivity; -import com.xscm.moduleutil.activity.news.OfficialNoticeActivity; +import com.xscm.modulemain.activity.WebViewActivity; +import com.xscm.modulemain.manager.RoomManager; import com.xscm.moduleutil.base.BaseMvpFragment; import com.xscm.moduleutil.base.CommonAppContext; -import com.xscm.moduleutil.base.RoomManager; import com.xscm.moduleutil.bean.BannerModel; import com.xscm.moduleutil.bean.RoomTypeModel; import com.xscm.moduleutil.bean.TopRoom; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/room/fragment/VoiceFragment.java b/modulemain/src/main/java/com/xscm/modulemain/activity/room/fragment/VoiceFragment.java index 3558fda9..0ea77d16 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/room/fragment/VoiceFragment.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/room/fragment/VoiceFragment.java @@ -20,7 +20,7 @@ import com.xscm.moduleutil.bean.ActivitiesPermission; import com.xscm.moduleutil.bean.FirstChargeGiftBean; import com.xscm.moduleutil.dialog.FirstChargeDialog; import com.xscm.moduleutil.dialog.RechargeDialogFragment; -import com.xscm.moduleutil.dialog.YouthModelDialog; +import com.xscm.modulemain.dialog.YouthModelDialog; import com.xscm.moduleutil.utils.ARouteConstants; import com.xscm.moduleutil.utils.SpUtil; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/AboutUsActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/AboutUsActivity.java index 7acb9924..661f5b80 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/AboutUsActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/AboutUsActivity.java @@ -5,8 +5,8 @@ import android.content.Intent; import com.xscm.modulemain.R; import com.xscm.modulemain.databinding.ActivityAboutUsBinding; +import com.xscm.modulemain.activity.WebViewActivity; import com.xscm.moduleutil.activity.BaseAppCompatActivity; -import com.xscm.moduleutil.activity.WebViewActivity; import com.xscm.moduleutil.base.CommonAppContext; import com.xscm.moduleutil.widget.CommonAppConfig; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/AlbumDetailActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/AlbumDetailActivity.java index 00047a88..99eabe3f 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/AlbumDetailActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/AlbumDetailActivity.java @@ -30,14 +30,14 @@ import com.scwang.smartrefresh.layout.api.RefreshLayout; import com.scwang.smartrefresh.layout.listener.OnRefreshLoadMoreListener; import com.xscm.modulemain.activity.user.conacts.AlbumDetailConacts; import com.xscm.modulemain.activity.user.presenter.AlbumDetailPresenter; -import com.xscm.moduleutil.activity.BaseMvpActivity; +import com.xscm.modulemain.BaseMvpActivity; import com.xscm.moduleutil.bean.AlbumBean; import com.xscm.moduleutil.utils.ARouteConstants; import com.xscm.moduleutil.utils.GlideEngine; import com.xscm.moduleutil.utils.ImageUtils; import com.xscm.moduleutil.utils.SpUtil; import com.xscm.moduleutil.widget.Constants; -import com.xscm.moduleutil.widget.dialog.ShareDialog; +import com.xscm.modulemain.dialog.ShareDialog; import java.io.File; import java.text.SimpleDateFormat; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/BindCardActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/BindCardActivity.java index e88c1fc9..aad030e9 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/BindCardActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/BindCardActivity.java @@ -9,7 +9,7 @@ import com.xscm.modulemain.adapter.BindCardAdapter; import com.xscm.modulemain.databinding.ActivityBindCardBinding; import com.xscm.modulemain.activity.user.conacts.WithdrawalConacts; import com.xscm.modulemain.activity.user.presenter.WithdrawalPresenter; -import com.xscm.moduleutil.activity.BaseMvpActivity; +import com.xscm.modulemain.BaseMvpActivity; import com.xscm.moduleutil.bean.BindDetail; import com.xscm.moduleutil.bean.BindType; import com.xscm.moduleutil.bean.WalletBean; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/BindCardDetailsActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/BindCardDetailsActivity.java index 3cb141b2..51887ed2 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/BindCardDetailsActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/BindCardDetailsActivity.java @@ -10,7 +10,7 @@ import com.xscm.modulemain.databinding.ActivityBindCardDetailsBinding; import com.hjq.toast.ToastUtils; import com.xscm.modulemain.activity.user.conacts.WithdrawalConacts; import com.xscm.modulemain.activity.user.presenter.WithdrawalPresenter; -import com.xscm.moduleutil.activity.BaseMvpActivity; +import com.xscm.modulemain.BaseMvpActivity; import com.xscm.moduleutil.bean.BindDetail; import com.xscm.moduleutil.bean.BindType; import com.xscm.moduleutil.bean.WalletBean; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/BlacklistActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/BlacklistActivity.java index 7c0928c8..215c2724 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/BlacklistActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/BlacklistActivity.java @@ -7,7 +7,7 @@ import com.xscm.modulemain.adapter.BlackAdapter; import com.xscm.modulemain.databinding.ActivityBlacklistBinding; import com.xscm.modulemain.activity.user.conacts.BlacklistConacts; import com.xscm.modulemain.activity.user.presenter.BlacklistPresenter; -import com.xscm.moduleutil.activity.BaseMvpActivity; +import com.xscm.modulemain.BaseMvpActivity; import com.xscm.moduleutil.bean.BlackUserBean; import java.util.ArrayList; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/BriefIntroductionActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/BriefIntroductionActivity.java index 98d89b20..0aa3afad 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/BriefIntroductionActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/BriefIntroductionActivity.java @@ -12,7 +12,7 @@ import com.xscm.modulemain.R; import com.xscm.modulemain.databinding.ActivityBriefIntroductionBinding; import com.xscm.modulemain.activity.user.conacts.BriefIntroductionConacts; import com.xscm.modulemain.activity.user.presenter.BriefIntroductionPresenter; -import com.xscm.moduleutil.activity.BaseMvpActivity; +import com.xscm.modulemain.BaseMvpActivity; import com.xscm.moduleutil.bean.UserTagBean; import java.util.ArrayList; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/ChangPassActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/ChangPassActivity.java index 368cce5c..0523b724 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/ChangPassActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/ChangPassActivity.java @@ -7,7 +7,7 @@ import com.xscm.modulemain.R; import com.xscm.modulemain.databinding.ActivityChangePasswordBinding; import com.xscm.modulemain.activity.user.conacts.ChangePasswordConactos; import com.xscm.modulemain.activity.user.presenter.ChangePasswordPresenter; -import com.xscm.moduleutil.activity.BaseMvpActivity; +import com.xscm.modulemain.BaseMvpActivity; import com.xscm.moduleutil.bean.UserBean; import com.xscm.moduleutil.color.ThemeableDrawableUtils; import com.xscm.moduleutil.utils.ColorManager; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/ChangeNicknameActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/ChangeNicknameActivity.java index 6d9b2746..8b7317b9 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/ChangeNicknameActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/ChangeNicknameActivity.java @@ -8,7 +8,7 @@ import com.xscm.modulemain.R; import com.xscm.modulemain.databinding.ActivityChangeNicknameBinding; import com.xscm.modulemain.activity.user.conacts.ChangeNicknameConacts; import com.xscm.modulemain.activity.user.presenter.ChangeNicknamePresenter; -import com.xscm.moduleutil.activity.BaseMvpActivity; +import com.xscm.modulemain.BaseMvpActivity; import com.xscm.moduleutil.bean.UserBean; import com.xscm.moduleutil.bean.UserInfo; import com.xscm.moduleutil.utils.SpUtil; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/CreateAlbumActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/CreateAlbumActivity.java index de2bc5d8..1174a85b 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/CreateAlbumActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/CreateAlbumActivity.java @@ -16,7 +16,7 @@ import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.xscm.modulemain.activity.user.conacts.MyAlbumConacts; import com.xscm.modulemain.activity.user.presenter.MyAlbumPresenter; -import com.xscm.moduleutil.activity.BaseMvpActivity; +import com.xscm.modulemain.BaseMvpActivity; import com.xscm.moduleutil.bean.AlbumBean; import com.xscm.moduleutil.color.ThemeableDrawableUtils; import com.xscm.moduleutil.utils.ARouteConstants; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/CreatedRoomActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/CreatedRoomActivity.java index c0dfa005..537da875 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/CreatedRoomActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/CreatedRoomActivity.java @@ -23,7 +23,7 @@ import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.entity.LocalMedia; import com.xscm.modulemain.activity.user.conacts.CreatedRoomConactos; import com.xscm.modulemain.activity.user.presenter.CreatedRoomPresenter; -import com.xscm.moduleutil.activity.BaseMvpActivity; +import com.xscm.modulemain.BaseMvpActivity; import com.xscm.moduleutil.bean.room.RoomInfoResp; import com.xscm.moduleutil.color.ThemeableDrawableUtils; import com.xscm.moduleutil.utils.ARouteConstants; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/CurrencyExchangeActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/CurrencyExchangeActivity.java index 62859caf..61a6e759 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/CurrencyExchangeActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/CurrencyExchangeActivity.java @@ -8,7 +8,7 @@ import com.xscm.modulemain.R; import com.xscm.modulemain.databinding.ActivityCurrencyExchangeBinding; import com.xscm.modulemain.activity.user.conacts.CurrencyExchangeConacts; import com.xscm.modulemain.activity.user.presenter.CurrencyExchangePresenter; -import com.xscm.moduleutil.activity.BaseMvpActivity; +import com.xscm.modulemain.BaseMvpActivity; import com.xscm.moduleutil.bean.WalletBean; import com.xscm.moduleutil.bean.WalletConfig; import com.xscm.moduleutil.color.ThemeableDrawableUtils; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/DailyTasksActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/DailyTasksActivity.java index 2a0c33c1..040fd2c9 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/DailyTasksActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/DailyTasksActivity.java @@ -16,10 +16,10 @@ import com.xscm.modulemain.databinding.ActivityDailyTasksBinding; import com.hjq.toast.ToastUtils; import com.xscm.modulemain.activity.user.conacts.DailyTasksConacts; import com.xscm.modulemain.activity.user.presenter.DailyTasksPresenter; -import com.xscm.moduleutil.activity.BaseMvpActivity; -import com.xscm.moduleutil.activity.WebViewActivity; +import com.xscm.modulemain.BaseMvpActivity; +import com.xscm.modulemain.activity.WebViewActivity; +import com.xscm.modulemain.manager.RoomManager; import com.xscm.moduleutil.base.CommonAppContext; -import com.xscm.moduleutil.base.RoomManager; import com.xscm.moduleutil.bean.GiftBoxBean; import com.xscm.moduleutil.bean.GiftName; import com.xscm.moduleutil.bean.TaskItem; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/EditUserInfoActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/EditUserInfoActivity.java index cf559b1b..e5ab94af 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/EditUserInfoActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/EditUserInfoActivity.java @@ -31,7 +31,7 @@ import com.luck.picture.lib.entity.LocalMedia; import com.stx.xhb.xbanner.XBanner; import com.xscm.modulemain.activity.user.conacts.EditUserConactos; import com.xscm.modulemain.activity.user.presenter.EditUserPresenter; -import com.xscm.moduleutil.activity.BaseMvpActivity; +import com.xscm.modulemain.BaseMvpActivity; import com.xscm.moduleutil.bean.HeatedBean; import com.xscm.moduleutil.bean.UserBean; import com.xscm.moduleutil.bean.UserInfo; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/GiftBoxRecordActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/GiftBoxRecordActivity.java index 0226ee03..7bf22747 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/GiftBoxRecordActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/GiftBoxRecordActivity.java @@ -8,7 +8,7 @@ import com.xscm.modulemain.adapter.GiftBoxAdapter; import com.xscm.modulemain.databinding.ActivityGiftBoxRecordBinding; import com.xscm.modulemain.activity.user.conacts.GiftBoxRecordConacts; import com.xscm.modulemain.activity.user.presenter.GiftBoxRecordPresenter; -import com.xscm.moduleutil.activity.BaseMvpActivity; +import com.xscm.modulemain.BaseMvpActivity; import com.xscm.moduleutil.bean.GiftBoxRecordBean; import java.util.List; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/MyBagActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/MyBagActivity.java index 563e8dba..0c9f7015 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/MyBagActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/MyBagActivity.java @@ -11,7 +11,7 @@ import com.xscm.modulemain.activity.user.conacts.MyBagConacts; import com.xscm.modulemain.activity.user.fragment.mybag.MyBagFragment; import com.xscm.modulemain.activity.user.fragment.mybag.MyBagListFragment; import com.xscm.modulemain.activity.user.presenter.MyBagPresenter; -import com.xscm.moduleutil.activity.BaseMvpActivity; +import com.xscm.modulemain.BaseMvpActivity; import com.xscm.moduleutil.bean.GiftPackBean; import com.xscm.moduleutil.bean.MyBagBean; import com.xscm.moduleutil.bean.MyBagDataBean; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/MyMoneyActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/MyMoneyActivity.java index 2e89f4ec..0456562b 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/MyMoneyActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/MyMoneyActivity.java @@ -9,7 +9,7 @@ import com.xscm.modulemain.databinding.ActivityMyMoneyBinding; import com.hjq.toast.ToastUtils; import com.xscm.modulemain.activity.user.conacts.MyMoneyConactos; import com.xscm.modulemain.activity.user.presenter.MyMoneyPresenter; -import com.xscm.moduleutil.activity.BaseMvpActivity; +import com.xscm.modulemain.BaseMvpActivity; import com.xscm.moduleutil.bean.BindType; import com.xscm.moduleutil.bean.UserInfo; import com.xscm.moduleutil.bean.WalletBean; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/MyRoomActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/MyRoomActivity.java index f06141bb..a6bd8d12 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/MyRoomActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/MyRoomActivity.java @@ -24,9 +24,9 @@ import com.xscm.modulemain.activity.user.fragment.MyFollowFragment; import com.xscm.modulemain.activity.user.fragment.MyManageFragment; import com.xscm.modulemain.activity.user.fragment.MyRoomListFragment; import com.xscm.modulemain.activity.user.presenter.MyRoomPresenter; -import com.xscm.moduleutil.activity.BaseMvpActivity; +import com.xscm.modulemain.BaseMvpActivity; +import com.xscm.modulemain.manager.RoomManager; import com.xscm.moduleutil.base.CommonAppContext; -import com.xscm.moduleutil.base.RoomManager; import com.xscm.moduleutil.bean.AttentionResp; import com.xscm.moduleutil.bean.ManageRoomResp; import com.xscm.moduleutil.bean.MyCpRoom; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/PersonalityActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/PersonalityActivity.java index 93cb2a07..64b992ad 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/PersonalityActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/PersonalityActivity.java @@ -14,8 +14,8 @@ import com.xscm.modulemain.databinding.ActivityPersonalityBinding; import com.xscm.modulemain.activity.user.conacts.PersonalityConacts; import com.xscm.modulemain.activity.user.fragment.zhuangb.ZhuangBanShangChengFragment; import com.xscm.modulemain.activity.user.presenter.PersonalityPresenter; -import com.xscm.moduleutil.activity.BaseMvpActivity; -import com.xscm.moduleutil.activity.WebViewActivity; +import com.xscm.modulemain.BaseMvpActivity; +import com.xscm.modulemain.activity.WebViewActivity; import com.xscm.moduleutil.adapter.MyPagerAdapter; import com.xscm.moduleutil.base.CommonAppContext; import com.xscm.moduleutil.bean.PersonaltyBean; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/PhoneReplacementActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/PhoneReplacementActivity.java index b67c240b..942a2bcf 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/PhoneReplacementActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/PhoneReplacementActivity.java @@ -8,7 +8,7 @@ import com.xscm.modulemain.databinding.ActivityPhoneReplacementBinding; import com.hjq.toast.ToastUtils; import com.xscm.modulemain.activity.user.conacts.PhoneReplacementConacts; import com.xscm.modulemain.activity.user.presenter.PhoneReplacementPresenter; -import com.xscm.moduleutil.activity.BaseMvpActivity; +import com.xscm.modulemain.BaseMvpActivity; import com.xscm.moduleutil.color.ThemeableDrawableUtils; import com.xscm.moduleutil.utils.ColorManager; import com.xscm.moduleutil.utils.SpUtil; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/RealDetailActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/RealDetailActivity.java index b58d7b3f..a03b9899 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/RealDetailActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/RealDetailActivity.java @@ -7,7 +7,7 @@ import com.xscm.modulemain.R; import com.xscm.modulemain.databinding.ActivityRealDeatilBinding; import com.xscm.modulemain.activity.user.conacts.RealDetailConacts; import com.xscm.modulemain.activity.user.presenter.RealDetailPresenter; -import com.xscm.moduleutil.activity.BaseMvpActivity; +import com.xscm.modulemain.BaseMvpActivity; import com.xscm.moduleutil.bean.RealNameBean; import com.xscm.moduleutil.utils.ARouteConstants; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/RealNameActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/RealNameActivity.java index b9a94921..c7ef4a1e 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/RealNameActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/RealNameActivity.java @@ -22,7 +22,7 @@ import com.tencent.cloud.huiyansdkface.facelight.api.result.WbFaceVerifyResult; import com.tencent.cloud.huiyansdkface.facelight.process.FaceVerifyStatus; import com.xscm.modulemain.activity.user.conacts.RealNameConacts; import com.xscm.modulemain.activity.user.presenter.RealNamePresenter; -import com.xscm.moduleutil.activity.BaseMvpActivity; +import com.xscm.modulemain.BaseMvpActivity; import com.xscm.moduleutil.bean.RealNameBean; import com.xscm.moduleutil.color.ThemeableDrawableUtils; import com.xscm.moduleutil.dialog.ConfirmDialog; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/RechargeActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/RechargeActivity.java index fc826b89..ea9feaf4 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/RechargeActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/RechargeActivity.java @@ -26,7 +26,7 @@ import com.tencent.mm.opensdk.openapi.IWXAPI; import com.tencent.mm.opensdk.openapi.WXAPIFactory; import com.xscm.modulemain.activity.user.conacts.RechargeConactos; import com.xscm.modulemain.activity.user.presenter.RechargePresenter; -import com.xscm.moduleutil.activity.BaseMvpActivity; +import com.xscm.modulemain.BaseMvpActivity; import com.xscm.moduleutil.adapter.BalanceRechargeAdapter; import com.xscm.moduleutil.adapter.PayMethodAdapter; import com.xscm.moduleutil.base.CommonAppContext; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/RevenueActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/RevenueActivity.java index be9bde01..8b60dda5 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/RevenueActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/RevenueActivity.java @@ -14,7 +14,7 @@ import com.xscm.modulemain.databinding.ActivityRevenueBinding; import com.xscm.modulemain.activity.user.conacts.RevenueConacts; import com.xscm.modulemain.activity.user.fragment.RevenueFragment; import com.xscm.modulemain.activity.user.presenter.RevenuePresenter; -import com.xscm.moduleutil.activity.BaseMvpActivity; +import com.xscm.modulemain.BaseMvpActivity; import com.xscm.moduleutil.bean.MyBagBean; import com.xscm.moduleutil.bean.RevenueBean; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/RoomAllowanceActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/RoomAllowanceActivity.java index d99d3d30..8e3e44d0 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/RoomAllowanceActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/RoomAllowanceActivity.java @@ -11,7 +11,7 @@ import com.xscm.modulemain.R; import com.xscm.modulemain.databinding.ActivityRoomAllowanceBinding; import com.xscm.modulemain.activity.user.conacts.RoomAllowanceContacts; import com.xscm.modulemain.activity.user.presenter.RoomAllowancePresenter; -import com.xscm.moduleutil.activity.BaseMvpActivity; +import com.xscm.modulemain.BaseMvpActivity; import com.xscm.moduleutil.bean.RoomSubsidy; import com.xscm.moduleutil.bean.RoomSubsidyDetails; import com.xscm.moduleutil.utils.ARouteConstants; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/RoomAllowanceDetailActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/RoomAllowanceDetailActivity.java index c3d9dea8..8da6c5ea 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/RoomAllowanceDetailActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/RoomAllowanceDetailActivity.java @@ -14,7 +14,7 @@ import com.scwang.smartrefresh.layout.api.RefreshLayout; import com.scwang.smartrefresh.layout.listener.OnRefreshLoadMoreListener; import com.xscm.modulemain.activity.user.conacts.RoomAllowanceContacts; import com.xscm.modulemain.activity.user.presenter.RoomAllowancePresenter; -import com.xscm.moduleutil.activity.BaseMvpActivity; +import com.xscm.modulemain.BaseMvpActivity; import com.xscm.moduleutil.bean.RoomSubsidy; import com.xscm.moduleutil.bean.RoomSubsidyDetails; import com.xscm.moduleutil.utils.ARouteConstants; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/RoomDetailsActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/RoomDetailsActivity.java index 60bd0650..3bcd425f 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/RoomDetailsActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/RoomDetailsActivity.java @@ -16,7 +16,7 @@ import com.scwang.smartrefresh.layout.api.RefreshLayout; import com.scwang.smartrefresh.layout.listener.OnRefreshLoadMoreListener; import com.xscm.modulemain.activity.user.conacts.MyRoomListContacts; import com.xscm.modulemain.activity.user.presenter.RoomDetailsPresenter; -import com.xscm.moduleutil.activity.BaseMvpActivity; +import com.xscm.modulemain.BaseMvpActivity; import com.xscm.moduleutil.bean.RoomDetails; import com.xscm.moduleutil.bean.details.BaseMultiItemEntity; import com.xscm.moduleutil.bean.details.RoomDeatailList; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/SettingActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/SettingActivity.java index 20d27680..368e0fee 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/SettingActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/SettingActivity.java @@ -13,7 +13,7 @@ import com.xscm.modulemain.R; import com.xscm.modulemain.databinding.ActivitySettingBinding; import com.xscm.modulemain.activity.user.conacts.SettingConacts; import com.xscm.modulemain.activity.user.presenter.SettingPresenter; -import com.xscm.moduleutil.activity.BaseMvpActivity; +import com.xscm.modulemain.BaseMvpActivity; import com.xscm.moduleutil.base.CommonAppContext; import com.xscm.moduleutil.dialog.RealNameDialog; import com.xscm.moduleutil.utils.ARouteConstants; diff --git a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/UnderageActivity.java b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/UnderageActivity.java index 97891a87..4f964305 100644 --- a/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/UnderageActivity.java +++ b/modulemain/src/main/java/com/xscm/modulemain/activity/user/activity/UnderageActivity.java @@ -7,12 +7,13 @@ import android.view.View; import com.alibaba.android.arouter.facade.annotation.Autowired; import com.alibaba.android.arouter.facade.annotation.Route; import com.alibaba.android.arouter.launcher.ARouter; +import com.blankj.utilcode.util.ActivityUtils; import com.blankj.utilcode.util.ToastUtils; import com.xscm.modulemain.R; import com.xscm.modulemain.databinding.ActivityUnderageBinding; import com.xscm.modulemain.activity.user.presenter.UnderagePresenter; -import com.xscm.moduleutil.activity.BaseMvpActivity; -import com.xscm.moduleutil.activity.WebViewActivity; +import com.xscm.modulemain.BaseMvpActivity; +import com.xscm.modulemain.activity.WebViewActivity; import com.xscm.moduleutil.base.CommonAppContext; import com.xscm.moduleutil.utils.ARouteConstants; import com.xscm.moduleutil.utils.ColorManager; @@ -127,7 +128,7 @@ public class UnderageActivity extends BaseMvpActivity 0 && box_price > 0) { if (type == 10) { @@ -522,61 +519,61 @@ public class GiftLotteryDialog extends BaseMvpDialogFragment() { -// -// @Override -// public void onSubscribe(Disposable d) { -// } -// -// @Override -// public void onNext(RoomInfoResp resp) { -// String appId = CommonAppContext.getInstance().getCurrentEnvironment().getSwSdkAppId(); -// String token = resp.getUser_info().getAgora_token(); // 如果启用了鉴权才需要 -// String roomId = resp.getRoom_info().getRoom_id(); // 房间 ID -// String rtm_token=resp.getUser_info().getAgora_rtm_token(); -// SpUtil.setRtmToken(rtm_token); -// int uid = SpUtil.getUserId(); // 0 表示由 Agora 自动生成 UID -// boolean enableMic = false; // 是否开启麦克风 -// boolean enableJs=false; // 是否开启角色 -// if (resp.getUser_info().getPit_number()!=0){ -// enableJs=true; -// } -// LogUtils.e("token",token); -// LogUtils.e("roomId:",roomId); -//// 初始化 Agora 并加入房间 -// AgoraManager.getInstance(context) -// .joinRoom(token, roomId, uid, enableMic,enableJs); -// cacheRoomData(roomId, resp); -// navigateToRoom(context, roomId, password, resp); -// } -// }); - - // 临时实现 - 直接跳转(因为缺少具体的网络请求代码) -// navigateToRoom(context, roomId, password, null); } private void upInfo(Context context, String roomId, String password, boolean isOnline, RoomInfoResp roomInfo, boolean isCurrentRoom,String taskId) { - - if (isOnline) { RetrofitClient.getInstance().postRoomInfo(roomId, new BaseObserver() { @@ -215,7 +155,6 @@ public class RoomManager { navigateToRoom(context, roomId, password, roomInfoResp, false,taskId); } }); -// navigateToRoom(context, roomId, password, roomInfo, isOnline); } else { fetchAndJoinRoom(context, roomId, password,taskId); } @@ -230,14 +169,6 @@ public class RoomManager { */ private void fetchAndJoinRoom(Context context, String roomId, String password,String taskId) { // 获取房间数据 - - // 等待一段时间确保退出完成 -// try { -// Thread.sleep(50); -// } catch (InterruptedException e) { -// Thread.currentThread().interrupt(); -// } -// navigateToRoom(context, roomId, password, null, false); RetrofitClient.getInstance().roomGetIn(roomId, password, new BaseObserver() { @Override @@ -259,7 +190,7 @@ public class RoomManager { } LogUtils.e("token", token); LogUtils.e("roomId:", roomId); -// 初始化 Agora 并加入房间 + // 初始化 Agora 并加入房间 AgoraManager.getInstance(context) .joinRoom(token, roomId, uid, enableMic, enableJs); cacheRoomData(roomId, resp); @@ -308,30 +239,33 @@ public class RoomManager { try { // 构建跳转参数 - Bundle bundle = new Bundle(); - bundle.putString("roomId", roomId); - bundle.putBoolean("isOnline", isOnline); - bundle.putSerializable("roomInfo", roomInfo); + Intent intent = new Intent(ActivityUtils.getTopActivity(), RoomActivity.class); + intent.putExtra("roomId", roomId); + intent.putExtra("isOnline", isOnline); + intent.putExtra("roomInfo", roomInfo); if (!TextUtils.isEmpty(password)) { - bundle.putString("password", password); + intent.putExtra("password", password); } if (taskId != null){ - bundle.putString("taskId", taskId); + intent.putExtra("taskId", taskId); } if (roomInfo == null){ LogUtils.dTag("RoomActivity", "navigateToRoom:房间信息获取存在问题"); return; } - // 使用ARouter跳转到房间页面 - ARouter.getInstance() - .build(ARouteConstants.ROOM_DETAILS) - .with(bundle) - .navigation(context); +// ARouter.getInstance() +// .build(ARouteConstants.ROOM_DETAILS) +// .with(bundle) +// .navigation(context); + + + ActivityUtils.getTopActivity().startActivity(intent); + + } catch (Exception e) { Logger.e(TAG, "跳转房间页面失败: " + e.getMessage()); - }finally { } } @@ -390,14 +324,6 @@ public class RoomManager { // 这里应该实现检查用户是否在线的逻辑 // 可以通过检查Agora是否还在房间中,或者通过服务端接口查询用户状态等方式实现 // 目前返回false,需要根据实际需求实现具体逻辑 -// boolean isCurrentRoom=isCurrentRoom(roomId); -// try { -// Thread.sleep(300); -// } catch (InterruptedException e) { -// Thread.currentThread().interrupt(); -// } - - final boolean[] isOnline = {false}; RetrofitClient.getInstance().getRoomOnline(roomId, "1", "50", new BaseObserver() { diff --git a/moduleUtil/src/main/res/layout/activity_official_notice.xml b/modulemain/src/main/res/layout/activity_official_notice.xml similarity index 97% rename from moduleUtil/src/main/res/layout/activity_official_notice.xml rename to modulemain/src/main/res/layout/activity_official_notice.xml index 83aae5db..4c01430e 100644 --- a/moduleUtil/src/main/res/layout/activity_official_notice.xml +++ b/modulemain/src/main/res/layout/activity_official_notice.xml @@ -1,4 +1,3 @@ - + tools:context="com.xscm.modulemain.activity.WebViewActivity"> diff --git a/moduleUtil/src/main/res/layout/dialog_gift_lottery.xml b/modulemain/src/main/res/layout/dialog_gift_lottery.xml similarity index 100% rename from moduleUtil/src/main/res/layout/dialog_gift_lottery.xml rename to modulemain/src/main/res/layout/dialog_gift_lottery.xml diff --git a/modulemain/src/main/res/layout/dialog_gift_lottery_fragment.xml b/modulemain/src/main/res/layout/dialog_gift_lottery_fragment.xml new file mode 100644 index 00000000..552697f0 --- /dev/null +++ b/modulemain/src/main/res/layout/dialog_gift_lottery_fragment.xml @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/moduleUtil/src/main/res/layout/dialog_pinnacle_time.xml b/modulemain/src/main/res/layout/dialog_pinnacle_time.xml similarity index 100% rename from moduleUtil/src/main/res/layout/dialog_pinnacle_time.xml rename to modulemain/src/main/res/layout/dialog_pinnacle_time.xml diff --git a/moduleUtil/src/main/res/layout/dialog_polic.xml b/modulemain/src/main/res/layout/dialog_polic.xml similarity index 98% rename from moduleUtil/src/main/res/layout/dialog_polic.xml rename to modulemain/src/main/res/layout/dialog_polic.xml index 05124156..899fedeb 100644 --- a/moduleUtil/src/main/res/layout/dialog_polic.xml +++ b/modulemain/src/main/res/layout/dialog_polic.xml @@ -7,7 +7,7 @@ + type="com.xscm.modulemain.dialog.PolicyDialog.PolicyClickProxy" />