fix bugs 55 3

This commit is contained in:
2025-11-27 11:47:10 +08:00
parent 366478f547
commit 5ed3717acc
22 changed files with 271 additions and 193 deletions

View File

@@ -3937,8 +3937,6 @@ class RoomActivity : BaseMvpActivity<RoomPresenter?, ActivityRoomBinding?>(),
GiftDisplayManager.getInstance().clearAll()
mBinding!!.giftContainer.removeAllViews()
CommonAppContext.getInstance().isMai = false
CommonAppContext.getInstance().playId = null
// 确保父类的 onDestroy 被调用
super.finish()
}

View File

@@ -13,6 +13,7 @@ import androidx.annotation.Nullable;
import androidx.recyclerview.widget.LinearLayoutManager;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.xscm.modulemain.Application;
import com.xscm.modulemain.R;
import com.xscm.modulemain.adapter.RankingCharmListAdapter;
import com.xscm.modulemain.databinding.RoomRankingChildBinding;
@@ -215,7 +216,7 @@ public class RankingChildFragment extends BaseMvpFragment<DataListPresenter, Roo
for (String url : images) {
if (url.contains("http")) {
ImageView imageView1 = new ImageView(getContext());
ImageView imageView1 = new ImageView(Application.getInstance());
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
getContext().getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_57),
getContext().getResources().getDimensionPixelSize(com.xscm.moduleutil.R.dimen.dp_15)

View File

@@ -11,6 +11,8 @@ import androidx.annotation.NonNull;
import androidx.fragment.app.FragmentManager;
import androidx.recyclerview.widget.LinearLayoutManager;
import com.blankj.utilcode.util.ActivityUtils;
import com.xscm.modulemain.Application;
import com.xscm.modulemain.R;
import com.xscm.modulemain.adapter.RelationshipAdapter;
import com.xscm.modulemain.databinding.FragmentRelationshipBinding;
@@ -84,7 +86,7 @@ public class RelationshipFragment extends BaseMvpDialogFragment<RoomUserPresente
private void queren(int type, int id, String num) {
if (type == 1) {
// 创建并显示确认对话框
new ConfirmDialog(getActivity(),
new ConfirmDialog(ActivityUtils.getTopActivity(),
"提示",
"您确定要置顶本关系吗?",
"确认",

View File

@@ -16,10 +16,12 @@ import android.view.View;
import androidx.core.app.NotificationManagerCompat;
import com.blankj.utilcode.util.ActivityUtils;
import com.blankj.utilcode.util.LogUtils;
import com.blankj.utilcode.util.TimeUtils;
import com.hjq.toast.ToastUtils;
import com.orhanobut.logger.Logger;
import com.xscm.modulemain.Application;
import com.xscm.modulemain.R;
import com.xscm.modulemain.activity.room.activity.RoomActivity;
import com.xscm.modulemain.activity.room.contacts.RoomCabinContacts;
@@ -105,7 +107,7 @@ public class RoomCabinFragment extends BaseRoomFragment<RoomCabinPresenter, Room
return;
}
Log.d("RoomCabinFragment", "Notifications not enable!");
new AlertDialog.Builder(getActivity())
new AlertDialog.Builder(ActivityUtils.getTopActivity())
.setTitle("提示")
.setMessage("请打开通知权限,防止后台共享屏幕中断")
.setPositiveButton("设置", (dialog, which) -> {

View File

@@ -299,8 +299,6 @@ public class RoomFragment extends BaseMvpFragment<RoomPresenter, FragmentRoomBin
/// 给子fragment传递参数
public void updateFriendshipState(int status, int friend_id, long end_time, FriendUserBean friendshipUserBean) {
// 保持 tag 使用一致性
FriendshipRoomFragment friendshipRoomFragment = findFragmentByTag(FriendshipRoomFragment.class);
if (friendshipRoomFragment != null && friendshipRoomFragment.isAdded()) {
if (status == FriendshipRoomFragment.FriendshipPartType.WAIT.getValue())
friendshipRoomFragment.upDataFriendship(FriendshipRoomFragment.FriendshipPartType.WAIT, friend_id, end_time, friendshipUserBean);

View File

@@ -9,11 +9,15 @@ import com.xscm.moduleutil.bean.WalletBean;
import com.xscm.moduleutil.http.BaseObserver;
import com.xscm.moduleutil.presenter.BasePresenter;
import java.lang.ref.WeakReference;
import io.reactivex.disposables.Disposable;
public class MyMoneyPresenter extends BasePresenter<MyMoneyConactos.View> implements MyMoneyConactos.IMePre {
MyMoneyConactos.View mView;
public MyMoneyPresenter(MyMoneyConactos.View view, Context context) {
super(view, context);
mView = view;
}
@Override
@@ -26,6 +30,9 @@ public class MyMoneyPresenter extends BasePresenter<MyMoneyConactos.View> implem
@Override
public void onNext(WalletBean walletBean) {
if (MvpRef == null){
MvpRef = new WeakReference<>(mView);
}
MvpRef.get().wallet(walletBean);
}
});
@@ -41,6 +48,9 @@ public class MyMoneyPresenter extends BasePresenter<MyMoneyConactos.View> implem
@Override
public void onNext(BindType bindType) {
if (MvpRef == null){
MvpRef = new WeakReference<>(mView);
}
MvpRef.get().bindType(bindType);
}
});
@@ -56,6 +66,9 @@ public class MyMoneyPresenter extends BasePresenter<MyMoneyConactos.View> implem
@Override
public void onNext(UserInfo userInfo) {
if (MvpRef == null){
MvpRef = new WeakReference<>(mView);
}
MvpRef.get().myInfoSuccess(userInfo);
}
});

View File

@@ -21,8 +21,10 @@ import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.FragmentManager;
import com.blankj.utilcode.util.ActivityUtils;
import com.blankj.utilcode.util.GsonUtils;
import com.blankj.utilcode.util.LogUtils;
import com.xscm.modulemain.Application;
import com.xscm.modulemain.R;
import com.xscm.modulemain.databinding.DialogGiftLotteryBinding;
import com.xscm.moduleutil.base.BaseMvpDialogFragment;
@@ -414,13 +416,13 @@ public class GiftLotteryDialog extends BaseMvpDialogFragment<GiftLotteryPresente
Bundle bundle = new Bundle();
bundle.putString("url", getRule_url);
bundle.putInt("type", type);
WebViewDialog dialog = new WebViewDialog(getActivity(), bundle);
WebViewDialog dialog = new WebViewDialog(ActivityUtils.getTopActivity(), bundle);
dialog.show();
// WebViewDialog webViewDialog = new WebViewDialog(getActivity(), getRule_url);
// webViewDialog.show();
} else if (id == R.id.tv_jc) {
if (giftLists != null && !giftLists.isEmpty()) {
PrizePoolDialog prizePoolDialog = new PrizePoolDialog(getActivity());
PrizePoolDialog prizePoolDialog = new PrizePoolDialog(ActivityUtils.getTopActivity());
prizePoolDialog.updateData(giftLists, type);
prizePoolDialog.show();
} else {

View File

@@ -8,8 +8,11 @@ import android.view.*;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.LinearLayoutManager;
import com.blankj.utilcode.util.ActivityUtils;
import com.scwang.smartrefresh.layout.api.RefreshLayout;
import com.scwang.smartrefresh.layout.listener.OnRefreshLoadMoreListener;
import com.xscm.modulemain.Application;
import com.xscm.modulemain.R;
import com.xscm.modulemain.activity.room.contacts.HourlyChartContacts;
import com.xscm.modulemain.activity.room.presenter.HourlyChartPresenter;
@@ -139,7 +142,7 @@ public class HourlyChartDialog extends BaseMvpDialogFragment<HourlyChartPresente
mBinding.imHourlyWf.setOnClickListener(v -> {
Bundle bundle = new Bundle();
bundle.putString("url", CommonAppContext.getInstance().getCurrentEnvironment().getServerUrl() + "api/Page/page_show?id=24");
RoomAuctionWebViewDialog dialog = new RoomAuctionWebViewDialog(getActivity(), bundle);
RoomAuctionWebViewDialog dialog = new RoomAuctionWebViewDialog(ActivityUtils.getTopActivity(), bundle);
dialog.show();
});
}

View File

@@ -21,8 +21,10 @@ import androidx.fragment.app.FragmentStatePagerAdapter;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.viewpager.widget.ViewPager;
import com.blankj.utilcode.util.ActivityUtils;
import com.blankj.utilcode.util.LogUtils;
import com.hjq.toast.ToastUtils;
import com.xscm.modulemain.Application;
import com.xscm.modulemain.R;
import com.xscm.modulemain.adapter.GiftUserAdapter;
import com.xscm.modulemain.databinding.RoomGiftDialogBinding;
@@ -464,7 +466,7 @@ public class RoomGiftDialogFragment extends BaseMvpDialogFragment<RewardGiftPres
}
private void queren() {
// 创建并显示确认对话框
new ConfirmDialog(getActivity(),
new ConfirmDialog(ActivityUtils.getTopActivity(),
"提示",
"是否确认将背包礼物全部送出?",
"确认",
@@ -737,6 +739,12 @@ public class RoomGiftDialogFragment extends BaseMvpDialogFragment<RewardGiftPres
@Override
public void getGiftLabel(List<GiftLabelBean> giftLabelBeans) {
// 3. 回调时校验状态
if (!isAdded() || isDetached() || getView() == null) {
return;
}
if (giftLabelBeans == null) return;
giftLabelBeanList = new ArrayList<>();
giftLabelBeanList.addAll(giftLabelBeans);

View File

@@ -1,7 +1,6 @@
package com.xscm.modulemain.dialog;
import android.app.Dialog;
import android.content.Context;
import android.graphics.Typeface;
import android.os.Bundle;
import android.os.CountDownTimer;
@@ -11,12 +10,12 @@ import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.LinearSnapHelper;
import androidx.recyclerview.widget.RecyclerView;
import com.blankj.utilcode.util.ActivityUtils;
import com.blankj.utilcode.util.GsonUtils;
import com.blankj.utilcode.util.LogUtils;
import com.xscm.moduleutil.R;
@@ -41,7 +40,6 @@ import com.xscm.moduleutil.dialog.giftLottery.XlhRecordDialog;
import com.xscm.moduleutil.widget.CenterScrollHelper;
import com.xscm.moduleutil.widget.EqualSpaceItemDecoration;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
@@ -92,11 +90,16 @@ public class TourClubDialogFragment extends BaseMvpDialogFragment<GiftLotteryPre
return new GiftLotteryPresenter(this, getActivity());
}
public TourClubDialogFragment(){
}
public TourClubDialogFragment(String roomId){
this.roomId = roomId;
}
public static TourClubDialogFragment newInstance(String roomId) {
TourClubDialogFragment dialog = new TourClubDialogFragment();
Bundle args = new Bundle();
args.putString("roomId", roomId);
dialog.setArguments(args);
TourClubDialogFragment dialog = new TourClubDialogFragment(roomId);
return dialog;
}
@@ -109,12 +112,6 @@ public class TourClubDialogFragment extends BaseMvpDialogFragment<GiftLotteryPre
return dialog;
}
@Override
public void onAttach(@NonNull Context context) {
super.onAttach(context);
roomId = getArguments().getString("roomId");
}
@Override
protected void initData() {
MvpPre.xlh(roomId);
@@ -265,7 +262,7 @@ public class TourClubDialogFragment extends BaseMvpDialogFragment<GiftLotteryPre
LogUtils.e("tourClubDFragment","点击了" + viewName );
if (id == R.id.tv_jc) {
if (giftLists != null && !giftLists.isEmpty()) {
PrizePoolDialog prizePoolDialog = new PrizePoolDialog(getActivity());
PrizePoolDialog prizePoolDialog = new PrizePoolDialog(ActivityUtils.getTopActivity());
prizePoolDialog.updateData(giftLists, 13);
prizePoolDialog.show();
} else {
@@ -305,7 +302,7 @@ public class TourClubDialogFragment extends BaseMvpDialogFragment<GiftLotteryPre
Bundle bundle = new Bundle();
bundle.putString("url", getRule_url);
bundle.putInt("type", 13);
WebViewDialog dialog = new WebViewDialog(getActivity(), bundle);
WebViewDialog dialog = new WebViewDialog(ActivityUtils.getTopActivity(), bundle);
dialog.show();
} else if (id == R.id.tv_bd) {
// 如果当前dialog存在且正在显示先关闭
@@ -1017,7 +1014,7 @@ public class TourClubDialogFragment extends BaseMvpDialogFragment<GiftLotteryPre
// xlhObtainDialog.dismiss();
// }
// 创建并显示对话框
xlhObtainDialog = new XlhObtainDialog(getActivity());
xlhObtainDialog = new XlhObtainDialog(ActivityUtils.getTopActivity());
xlhObtainDialog.setOnGiftItemClickListener(new XlhObtainDialog.OnGiftItemClickListener() {
@Override