Files
yusheng-android/moduleUtil/src/main/java/com/qxcm/moduleutil/event/RoomGiftRunable.java

56 lines
1.5 KiB
Java
Raw Normal View History

2025-07-19 14:24:04 +08:00
package com.qxcm.moduleutil.event;
import android.content.Intent;
import android.os.Build;
import android.provider.Settings;
import com.blankj.utilcode.util.GsonUtils;
import com.blankj.utilcode.util.ServiceUtils;
import com.google.gson.Gson;
import com.qxcm.moduleutil.base.CommonAppContext;
2025-08-11 17:12:10 +08:00
import com.qxcm.moduleutil.service.FloatingWindow;
2025-07-19 14:24:04 +08:00
import org.greenrobot.eventbus.EventBus;
import java.util.ArrayList;
import java.util.List;
/**
* @Author $
* @Time $ $
* @Description $
*/
public class RoomGiftRunable implements Runnable {
private String data;
private static final List<MqttBean> mqttCache = new ArrayList<>();
private static final int MAX_CACHE_SIZE = 6;
private static final Object lock = new Object();
public RoomGiftRunable(String data) {
this.data = data;
}
@Override
public void run() {
MqttBean mqttBean= GsonUtils.fromJson(data, MqttBean.class);
// 线程安全地添加到缓存
synchronized (lock) {
if (mqttCache.size() >= MAX_CACHE_SIZE) {
mqttCache.remove(0); // 移除第一条数据
}
mqttCache.add(mqttBean); // 添加新数据
}
EventBus.getDefault().post(mqttBean);
2025-08-11 17:12:10 +08:00
new FloatingWindow(CommonAppContext.getInstance(),mqttBean);
2025-07-19 14:24:04 +08:00
}
// 提供方法获取缓存数据
public static List<MqttBean> getMqttCache() {
synchronized (lock) {
return new ArrayList<>(mqttCache);
}
}
}