fix bugs.

This commit is contained in:
2025-11-18 18:28:16 +08:00
parent 3322cfeb22
commit 18bd2d3ba0
44 changed files with 400 additions and 517 deletions

View File

@@ -158,10 +158,10 @@ public class GiftTwoAdapter extends BaseAdapter {
viewHolder.ivDownOn.setVisibility(View.GONE);
viewHolder.cl_iv_down_on.setBackgroundResource(0);
}
if (giftModel.getNum()==0){
if (giftModel.getNum().isEmpty()){
viewHolder.tv_gift_num.setVisibility(View.GONE);
}
viewHolder.tv_gift_num.setText(String.format("x%s", (giftModel.getNum()!=0?giftModel.getNum():"")));
viewHolder.tv_gift_num.setText(String.format("x%s", giftModel.getNum()));
//设置

View File

@@ -293,7 +293,7 @@ public class GiftTwoDetailsFragment extends BaseMvpFragment<RewardGiftPresenter,
roonGiftModel.setGift_name(giftModel.getGift_name());
roonGiftModel.setGift_price(giftModel.getGift_price());
roonGiftModel.setBase_image(giftModel.getBase_image());
roonGiftModel.setNum(Integer.parseInt(giftModel.getNum()));
roonGiftModel.setNum(giftModel.getNum());
if (giftModel.getGift_id().equals(id)) {
if (!giftModel.isChecked()) {
EventBus.getDefault().post(new GiftUserRefreshEvent(true, event.type, roonGiftModel));
@@ -316,7 +316,7 @@ public class GiftTwoDetailsFragment extends BaseMvpFragment<RewardGiftPresenter,
roonGiftModel.setGift_name(giftModel.getGift_name());
roonGiftModel.setGift_price(giftModel.getGift_price());
roonGiftModel.setBase_image(giftModel.getBase_image());
roonGiftModel.setNum(Integer.parseInt(giftModel.getNum()));
roonGiftModel.setNum(giftModel.getNum());
if (giftModel.getGift_id().equals(id)) {
selGift = giftModel;
if (!giftModel.isChecked()) {

View File

@@ -32,12 +32,15 @@ import com.blankj.utilcode.util.LogUtils;
import com.blankj.utilcode.util.ProcessUtils;
import com.lahm.library.EasyProtectorLib;
import com.lahm.library.EmulatorCheckCallback;
import com.tencent.bugly.crashreport.CrashReport;
import com.tencent.imsdk.v2.V2TIMAdvancedMsgListener;
import com.tencent.imsdk.v2.V2TIMManager;
import com.tencent.imsdk.v2.V2TIMMessage;
import com.tencent.imsdk.v2.V2TIMMessageManager;
import com.tencent.imsdk.v2.V2TIMMessageReceipt;
import com.tencent.imsdk.v2.V2TIMValueCallback;
import com.tencent.qcloud.tuicore.TUILogin;
import com.tencent.qcloud.tuicore.interfaces.TUICallback;
import com.xscm.moduleutil.bean.UserBean;
import com.xscm.moduleutil.bean.UserInfo;
import com.xscm.moduleutil.event.AppLifecycleEvent;
@@ -52,20 +55,8 @@ import com.xscm.moduleutil.utils.CrashHandler;
import com.xscm.moduleutil.utils.SpUtil;
import com.xscm.moduleutil.utils.UtilConfig;
import com.xscm.moduleutil.utils.config.EnvironmentEnum;
import com.xscm.moduleutil.utils.config.EnvironmentPrefs;
import com.xscm.moduleutil.utils.cos.CosUploadManager;
import com.xscm.moduleutil.widget.CommonAppConfig;
import com.scwang.smartrefresh.layout.SmartRefreshLayout;
import com.scwang.smartrefresh.layout.api.DefaultRefreshFooterCreator;
import com.scwang.smartrefresh.layout.api.DefaultRefreshHeaderCreator;
import com.scwang.smartrefresh.layout.api.RefreshFooter;
import com.scwang.smartrefresh.layout.api.RefreshHeader;
import com.scwang.smartrefresh.layout.api.RefreshLayout;
import com.scwang.smartrefresh.layout.footer.ClassicsFooter;
import com.scwang.smartrefresh.layout.header.ClassicsHeader;
import com.tencent.bugly.crashreport.CrashReport;
import com.tencent.qcloud.tuicore.TUILogin;
import com.tencent.qcloud.tuicore.interfaces.TUICallback;
import org.eclipse.paho.client.mqttv3.MqttClient;
import org.greenrobot.eventbus.EventBus;
@@ -92,7 +83,7 @@ public class CommonAppContext extends MultiDexApplication implements Applicatio
private boolean mFront;//是否前台
public String emulator = "0";
@Getter
private EnvironmentEnum currentEnvironment;
public EnvironmentEnum currentEnvironment;
public UserBean mUserBean;
public boolean isShow;
@@ -147,21 +138,34 @@ public class CommonAppContext extends MultiDexApplication implements Applicatio
super.onCreate();
sInstance = this;
sMainThreadHandler = new Handler();
EnvironmentPrefs prefs = new EnvironmentPrefs(this);
// 添加内存优化配置
optimizeMemorySettings();
currentEnvironment = prefs.getSelectedEnvironment();
initialization();
// EnvironmentPrefs prefs = new EnvironmentPrefs(this);
// currentEnvironment = prefs.getSelectedEnvironment();
registerActivityLifecycleCallbacks(this);
appStateListener = AppStateManager.getInstance();
startListeningUnreadMessageCount();
// 全局设置字体不缩放
adjustFontScale(getResources().getConfiguration());
CrashHandler.init(this);
if (SpUtil.getShelf()!=0) {
SpUtil.setShelf(1);
}
//设置mqtt环境 false 测试环境 true 正式环境
// ExternalResConstants.INSTANCE.setIS_MQTT_RELEASE(false);
//设置http环境 false 测试环境 true 正式环境
ExternalResConstants.INSTANCE.setIS_HTTP_RELEASE(true);
currentEnvironment = ExternalResConstants.INSTANCE.HTTP_PATH();
initialization();
}
public void adjustFontScale(Configuration configuration) {
@@ -446,7 +450,7 @@ public class CommonAppContext extends MultiDexApplication implements Applicatio
// startService(mqttServiceIntent);
// }
mqttConnect=MqttConnect.getInstance(this,"tcp://1.13.181.248","android-"+ MqttClient.generateClientId());
mqttConnect=MqttConnect.getInstance(this, currentEnvironment.getMqttUrl(),"android-"+ MqttClient.generateClientId());
// mqttConnect=MqttConnect.getInstance(this,"tcp://1.13.101.98","android-"+ MqttClient.generateClientId());
mqttConnect.mqttClient();
@@ -455,11 +459,8 @@ public class CommonAppContext extends MultiDexApplication implements Applicatio
startInitSdk();
// 初始化通常在Application或Activity的onCreate中
CosUploadManager.getInstance(CommonAppContext.getInstance());
// 启动IM连接服务
// IMServiceManager.getInstance().startIMService(this);
}
}
// piaoPingManager = PiaoPingManager.getInstance(this);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (!Settings.canDrawOverlays(this)) {
@@ -525,8 +526,8 @@ public class CommonAppContext extends MultiDexApplication implements Applicatio
}
public void upMqtt(){
if (mqttConnect==null){
mqttConnect=MqttConnect.getInstance(this,"tcp://1.13.181.248","android-"+ MqttClient.generateClientId());
if (mqttConnect == null){
mqttConnect=MqttConnect.getInstance(this, currentEnvironment.getMqttUrl(),"android-"+ MqttClient.generateClientId());
// mqttConnect=MqttConnect.getInstance(this,"tcp://1.13.101.98","android-"+ MqttClient.generateClientId());
mqttConnect.mqttClient();
}

View File

@@ -0,0 +1,31 @@
package com.xscm.moduleutil.base
import com.xscm.moduleutil.utils.config.EnvironmentEnum
object ExternalResConstants {
//================================================================================MQTT======================================================================================
// var IS_MQTT_RELEASE = true
// val MQTT_PATH_DEBUG = "tcp://1.13.181.248"
// val MQTT_PATH_RELEASE = "tcp://1.13.101.98"
//
// fun MQTT_PATH(): String {
// return if (IS_MQTT_RELEASE) {
// MQTT_PATH_RELEASE
// } else {
// MQTT_PATH_DEBUG
// }
// }
//================================================================================HTTP======================================================================================
var IS_HTTP_RELEASE = true
val HTTP_PATH_DEBUG:EnvironmentEnum = EnvironmentEnum.TEST
val HTTP_PATH_RELEASE:EnvironmentEnum = EnvironmentEnum.PRODUCTION
fun HTTP_PATH(): EnvironmentEnum {
return if (IS_HTTP_RELEASE) {
HTTP_PATH_RELEASE
} else {
HTTP_PATH_DEBUG
}
}
//================================================================================END======================================================================================
}

View File

@@ -0,0 +1,37 @@
package com.xscm.moduleutil.base
/**
* Created by xscm on 2020/7/23.
* 描述web url 常量
*/
object WebUrlConstants {
val BASE_URL = CommonAppContext.getInstance().currentEnvironment.h5Url
/**青少年模式*/
val WEB_ADOLESCENT_URL = BASE_URL + "/web/index.html#/pages/feedback/teenage?id=%s"
val WEB_SET_GROUP_URL = BASE_URL + "/web/index.html#/pages/union/setGroup?id=%s&guildId=%s"
/**举报*/
val WEB_REPORT_URL =
BASE_URL + "/web/index.html#/pages/feedback/report?id=%s&fromType=%d&fromId=%s"
/**规则*/
val WEB_RULES_URL = BASE_URL + "/web/index.html#/pages/other/taskDesc"
/**道具商城*/
val WEB_PROP_MALL_URL = BASE_URL + "/web/index.html#/pages/prop/propMall?id=%s"
/**公会*/
val WEB_GUILD_URL = BASE_URL + "/web/index.html#/pages/union/index?id=%s"
/**等级*/
val WEB_GRADE_URL = BASE_URL + "/web/index.html#/pages/other/grade?id=%s"
/**反馈*/
val WEB_HELP_URL = BASE_URL + "/web/index.html#/pages/feedback/help?id=%s"
/**邀请*/
val WEB_INVITATION_URL = BASE_URL + "/web/index.html#/pages/other/income?id=%s"
}

View File

@@ -30,7 +30,7 @@ public class RoonGiftModel {
private boolean isChecked;
private boolean isSelected;
private boolean can_send_self;//是否能送自己
private int num;//礼物数量
private String num = "";//礼物数量
private int activities_id;//4盲盒 5天空之境
private int gift_bag;//10天空之境 11岁月之城 12时空之巅
private int is_lock;//爵位礼物 0不锁 1

View File

@@ -191,7 +191,8 @@ public class FirstChargeDialog extends BaseDialog<DialogFirstChargeBinding> {
// mBinding.tvTitle2.setText(firstChargeGiftBean.getGift_bag().get(0).getTitle2());
// mBinding.btn0.setText(firstChargeGiftBean.getGift_bag().get(0).getName());
list.addAll(firstChargeGiftBean.getGift_bag().get(0).getGift_list());
mBinding.tvTitle22.setText("充值"+firstChargeGiftBean.getGift_bag().get(0).getName()+"即可获得"+firstChargeGiftBean.getGift_bag().get(0).getTitle2()+"的道具或装扮");
// mBinding.tvTitle22.setText("充值"+firstChargeGiftBean.getGift_bag().get(0).getName()+"即可获得"+firstChargeGiftBean.getGift_bag().get(0).getTitle2()+"的道具或装扮");
mBinding.tvTitle22.setText(firstChargeGiftBean.getGift_bag().get(0).getTitle2());
mBinding.bannerViewPager.create(baseListData(list, 4));
// mBinding.btn1.setText(firstChargeGiftBean.getGift_bag().get(1).getName());

View File

@@ -10,4 +10,6 @@ public interface SoundLevelUpdateListener {
void userJoined(int userId,int elapsd);
void userOffline(int userId,int reason);
void pkOffSide(int userId);
}

View File

@@ -382,6 +382,14 @@ public class AgoraManager {
public void onRemoteAudioStateChanged(int uid, int state, int reason, int elapsed) {
super.onRemoteAudioStateChanged(uid, state, reason, elapsed);
LogUtils.e("onRemoteAudioStateChanged", "uid------>" + uid, "state------>" + state, "reason------>" + reason, "elapsed------>" + elapsed);
if (state == 0){
for (SoundLevelUpdateListener listener : soundLevelUpdateListeners) {
if (listener != null) {
// Pk 关闭远端推流
listener.pkOffSide(uid);
}
}
}
}
@Override
@@ -1189,7 +1197,6 @@ public class AgoraManager {
public void setMusicVolume(int volume) {
if (rtcEngine != null) {
rtcEngine.adjustRecordingSignalVolume(volume);//调整采集信号音量
// musicPlayer.adjustPublishSignalVolume(volume);//调节远端用户听到的音量。 参数是0-400
}
}

View File

@@ -239,8 +239,24 @@ public class AgoraManagerEx {
}
}
/**
* 打开声音关闭声音
*
* @param b
*/
public void muteSpeaker(boolean b) {
if (rtcEngineEx == null) {
init(CommonAppContext.getInstance().getCurrentEnvironment().getSwSdkAppId());
}
if (rtcEngineEx != null) {
rtcEngineEx.muteAllRemoteAudioStreamsEx(b, connection);
}
}
// 检查rtcEngineEx对象是否已初始化
public void muteAllRemoteAudioStreamsEx(boolean enabled) {
// 调用rtcEngineEx的方法来控制所有远程音频流的开关状态
if (rtcEngineEx == null) {
init(CommonAppContext.getInstance().getCurrentEnvironment().getSwSdkAppId());
}

View File

@@ -235,7 +235,7 @@ public class ImageUtils {
return;
}
}
Glide.with(mImageView).load(path).error(R.mipmap.default_avatar).placeholder(R.mipmap.default_avatar).diskCacheStrategy(DiskCacheStrategy.ALL).into(mImageView);
Glide.with(mImageView).load(path).diskCacheStrategy(DiskCacheStrategy.ALL).into(mImageView);
}
public static void loadHeadCC(String path, ImageView mImageView, LinearLayout.LayoutParams params) {

View File

@@ -58,18 +58,6 @@ public class MeHeadView extends ConstraintLayout {
mIvFrame.setVisibility(VISIBLE);
mIvFrame.setSource(framePicture, 1);
}
// if (!TextUtils.isEmpty(sex)) {
// mIvSex.setVisibility(GONE);
// if (sex.equals("1")){
// mIvSex.setBackgroundResource(R.mipmap.nan);
// }else {
// mIvSex.setBackgroundResource(R.mipmap.nv);
// }
//
// } else {
// mIvSex.setVisibility(GONE);
// }
// ImageUtils.loadImageView(framePicture, mIvFrame);
if (nobilityImage!=null && !TextUtils.isEmpty(nobilityImage)){
iv_frame_bg.setVisibility(VISIBLE);

View File

@@ -3,7 +3,7 @@ package com.xscm.moduleutil.utils.config;
public enum EnvironmentEnum {
// "https://vespa.qxyushen.top/",
PRODUCTION(//生产环境
"https://1.13.101.98/",
"https://vespa.qxyushen.top/",
"KvNmqZc+VMzO4CfGMd5zmG6w6OFwpFO/19TwXUWfHDOBgmnl9DgIuE+kbrjNNnxqhtP3pH7bBrnSaSeFtunr72q6sgpLsfuswcUroMvz2slaTBcNzCaLi+GSnM3gB/GdO47mwLdk+iYBTvPUOCIuT608Z29z09w+vPeUDoMCHJBGXu6uh7Nj6PtV1dfGoUvByk1ZF0WYVjIqKDcb3tXY4jonFh3XAWhzMy8xKwN6F2nuK2IcdIwaSPsvuMZmhatP6f9kOE+vnfweyCHS3RxiG474WIoZGJM8omrl3/pOVqE=",
"https://oss-cn-beijing.aliyuncs.com/",
"LTAI5tKgrfcFQxH46ZwWYgFW",
@@ -13,11 +13,11 @@ public enum EnvironmentEnum {
"wxc7681513be9f926b",
1600096860,
"3e8f3add448d4692bc1d04c75ffe801b",
"tcp://81.70.45.221",
"http://1.13.101.98/h5",
"tcp://1.13.101.98",
"https://vespa.qxyushen.top/h5",
0),
TEST(//测试环境
"http://test.vespa.xscmmidi.site/",
"https://test.vespa.qxyushen.top/",
"6rdWuz058oq5OahdbFiGEybUcdahd12J83L34Uc7MrPIrxtFG+rXiwDvRcqNvjwbClbbmvMrmxKVkIysFByBsl0Qe9kqd2w8T/nhK5G6eXXlk2V9AjYCieIU+jRnjZBB+Cfechr6rCGJ2aeBARIsXcRPW7wm9WFK9euh5T+v6Pyte68yNaNdcYCll3+U4/uCEog7HygCnMIbAU+kqoPdmn2H+51YOHW+VsnsHd4w1+I3f8Tt0xLIXGM4GWnQueZ5GR46GTWiSYMy8dCIh9SPIMRyC91GosVcfGPMJSdcXqc=",
"https://oss-cn-beijing.aliyuncs.com/",
"LTAI5tKgrfcFQxH46ZwWYgFW",
@@ -28,7 +28,7 @@ public enum EnvironmentEnum {
1600096890,
"02f7339ec98947deaeab173599891932",
"tcp://1.13.181.248",
"https://test.vespa.xscmmidi.site/h5",
"https://test.vespa.qxyushen.top/h5",
1);
private final String serverUrl;//服务器地址

View File

@@ -351,6 +351,12 @@ public abstract class BaseWheatView extends ConstraintLayout implements IBaseWhe
}
@Override
public void pkOffSide(int uid) {
if (String.valueOf(uid).equals(pitBean.getUser_id())) {
mIvRipple.setVisibility(GONE);
}
}
});
}

View File

@@ -263,6 +263,11 @@ public class RoomDefaultWheatView extends BaseWheatView {
}
@Override
public void pkOffSide(int uid) {
}
@Override
public void unRegister(Object obj) {

View File

@@ -298,6 +298,11 @@ public class RoomFriendshipWheatView extends BaseWheatView {
}
@Override
public void pkOffSide(int uid) {
}
// public void setOnlineStatus(UserOnlineStatusBean isOnline) {
// if (pitBean.getUser_id() != null && !pitBean.getUser_id().equals("0") && !pitBean.getUser_id().isEmpty()) {
// if (pitBean.getUser_id().equals(isOnline.getUser_id())) {

View File

@@ -270,6 +270,11 @@ public class RoomKtvWheatView extends BaseWheatView {
}
}
@Override
public void pkOffSide(int uid) {
}
@Override
public void unRegister(Object obj) {

View File

@@ -259,6 +259,11 @@ public class RoomMakeWheatView extends BaseWheatView {
}
@Override
public void pkOffSide(int uid) {
}
public void setOnlineStatus(UserOnlineStatusBean isOnline) {
if (pitBean.getUser_id() != null && !pitBean.getUser_id().equals("0") && !pitBean.getUser_id().isEmpty()) {
if (pitBean.getUser_id().equals(isOnline.getUser_id())) {

View File

@@ -290,6 +290,11 @@ public class RoomSingSongWheat2View extends BaseWheatView {
// 暂无实现
}
@Override
public void pkOffSide(int uid) {
}
@Override
public void unRegister(Object obj) {

View File

@@ -281,4 +281,9 @@ public class RoomSingSongWheatView extends BaseWheatView {
public void userOffline(int userId, int reason) {
}
@Override
public void pkOffSide(int uid) {
}
}

View File

@@ -98,13 +98,23 @@ class ShineTextView : AppCompatTextView {
}
}
paint.shader = mLinearGradient
}else {
mLinearGradient = LinearGradient(
0f,
0f,
0f,
0f,
intArrayOf(Color.TRANSPARENT,Color.TRANSPARENT),
null,
Shader.TileMode.CLAMP
)
}
}
override fun onDraw(canvas: Canvas) {
super.onDraw(canvas)
if (!isShine || !::mLinearGradient.isLateinit) return
if (!isShine) return
mTranslate += mViewWidth / (shineDuration / 50)
if (mTranslate > 1.2 * mViewWidth) {
mTranslate = -mViewWidth / 5

View File

@@ -20,11 +20,9 @@
<ImageView
android:id="@+id/iv_gift_pic"
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_marginLeft="5dp"
android:layout_width="45dp"
android:layout_height="45dp"
android:layout_marginTop="5dp"
android:layout_marginRight="5dp"
android:src="@mipmap/default_image"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
@@ -51,7 +49,6 @@
android:id="@+id/tv_gift_name"
android:layout_width="wrap_content"
android:layout_height="10dp"
android:layout_marginTop="1dp"
android:singleLine="true"
android:text="甜蜜奶酪"
android:textColor="@color/color_FF333333"
@@ -63,8 +60,7 @@
<TextView
android:id="@+id/tv_gift_price"
android:layout_width="wrap_content"
android:layout_height="12dp"
android:layout_marginTop="1dp"
android:layout_height="10dp"
android:text="1"
android:drawableLeft="@mipmap/jinb"
android:drawablePadding="@dimen/dp_3"
@@ -80,14 +76,14 @@
<TextView
android:id="@+id/tv_number"
android:layout_width="@dimen/dp_22"
android:layout_height="@dimen/dp_9"
android:layout_width="@dimen/dp_26"
android:layout_height="@dimen/dp_12"
android:background="@mipmap/text_bj"
android:gravity="center"
android:paddingLeft="3dp"
android:paddingRight="3dp"
android:textColor="@color/black"
android:textSize="5sp"
android:textSize="@dimen/sp_7"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="x100"/>