青少年模式bugfix

This commit is contained in:
huangjian
2022-10-13 17:21:30 +08:00
parent 0d26386ade
commit a7069bedb3
7 changed files with 59 additions and 18 deletions

View File

@@ -946,7 +946,7 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
@Subscribe(threadMode = ThreadMode.MAIN)
public void onPmModeChangeEvent(PmModeChangeEvent event) {
onTabClick(mCurrentTabType);
onTabClick(mCurrentTabType);
}
@Override

View File

@@ -2,15 +2,6 @@ package com.mango.moshen.application;
import android.app.Activity;
import com.tencent.bugly.beta.Beta;
import com.trello.rxlifecycle3.components.support.RxAppCompatActivity;
import com.mango.moshen.avroom.newuserchargegift.NewUserChargePrizeDialog;
import com.mango.moshen.relation.cp.dialog.CpGlobalDialog;
import com.mango.moshen.ui.webview.CommonWebViewActivity;
import com.mango.moshen.ui.widget.LevelUpDialog;
import com.mango.moshen.ui.widget.RecallDialog;
import com.mango.moshen.ui.widget.lottery_dialog.LotteryDialogManager;
import com.mango.moshen.vip.VipUpgradeDialog;
import com.mango.core.activity.bean.LotteryInfo;
import com.mango.core.level.event.CharmLevelUpEvent;
import com.mango.core.level.event.LevelUpEvent;
@@ -25,6 +16,16 @@ import com.mango.core.user.UserModel;
import com.mango.core.utils.ActivityUtil;
import com.mango.core.utils.SharedPreferenceUtils;
import com.mango.core.vip.VipUpgradeEvent;
import com.mango.moshen.avroom.newuserchargegift.NewUserChargePrizeDialog;
import com.mango.moshen.relation.cp.dialog.CpGlobalDialog;
import com.mango.moshen.ui.webview.CommonWebViewActivity;
import com.mango.moshen.ui.widget.LevelUpDialog;
import com.mango.moshen.ui.widget.RecallDialog;
import com.mango.moshen.ui.widget.lottery_dialog.LotteryDialogManager;
import com.mango.moshen.utils.UserUtils;
import com.mango.moshen.vip.VipUpgradeDialog;
import com.tencent.bugly.beta.Beta;
import com.trello.rxlifecycle3.components.support.RxAppCompatActivity;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
@@ -76,6 +77,7 @@ public class GlobalHandleManager {
public void onReceiveLotteryActivity(LotteryInfo lotteryInfo) {
Activity activity = getActivity();
if (activity == null) return;
if (UserUtils.isPmMode()) return;
LotteryDialogManager.checkLotteryDialog(activity);
}
@@ -83,6 +85,7 @@ public class GlobalHandleManager {
public void onVipUpgradeEvent(VipUpgradeEvent vipUpgradeEvent) {
Activity activity = getActivity();
if (activity == null) return;
if (UserUtils.isPmMode()) return;
UserModel.get().onlyUpdateLoginUserInfoCache();
VipUpgradeDialog.newInstance(vipUpgradeEvent.getVipInfo()).show(activity);
}
@@ -91,6 +94,7 @@ public class GlobalHandleManager {
public void onCpInviteEvent(CpInviteInfo entity) {
Activity activity = getActivity();
if (activity == null) return;
if (UserUtils.isPmMode()) return;
CpGlobalDialog.newInstance(entity, activity).openDialog();
}
@@ -98,11 +102,13 @@ public class GlobalHandleManager {
public void onNewUserChargeEvent(NewUserChargeEvent event) {
Activity activity = getActivity();
if (activity == null) return;
if (UserUtils.isPmMode()) return;
new NewUserChargePrizeDialog(activity, event.getChargeProdTitle(), event.getFirstChargeRewardList()).openDialog();
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void onShowCommonWebEvent(ShowCommonWebEvent event) {
if (UserUtils.isPmMode()) return;
CommonWebViewActivity.start(event.getContext(), event.getUrl());
}
@@ -114,6 +120,7 @@ public class GlobalHandleManager {
if (UserModel.get().getCacheLoginUserInfo() == null) {
return;
}
if (UserUtils.isPmMode()) return;
CheckLostUserInfo checkLostUserInfo = (CheckLostUserInfo) event.getData();
@@ -128,6 +135,7 @@ public class GlobalHandleManager {
Activity activity = getActivity();
if (activity == null) return;
if (AvRoomDataManager.get().isSelfGamePlaying()) return;
if (UserUtils.isPmMode()) return;
LevelUpDialog.start(activity, event.getLevelName(), true);
}
@@ -136,6 +144,7 @@ public class GlobalHandleManager {
Activity activity = getActivity();
if (activity == null) return;
if (AvRoomDataManager.get().isSelfGamePlaying()) return;
if (UserUtils.isPmMode()) return;
LevelUpDialog.start(activity, event.getLevelName(), false);
}

View File

@@ -8,6 +8,10 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import com.mango.core.DemoCache;
import com.mango.core.room.bean.RoomInfo;
import com.mango.core.room.model.AvRoomModel;
import com.mango.xchat_android_library.net.rxnet.callback.CallBack;
import com.netease.nim.uikit.StatusBarUtil;
import com.mango.moshen.R;
import com.mango.moshen.base.BaseBindingActivity;
@@ -94,9 +98,21 @@ public class PatriarchPwdActivity extends BaseBindingActivity<ActivityPatriarchP
isParentMode ? 0 : 1)
.subscribe(s -> {
toast(isParentMode ? "青少年模式已关闭" : "青少年模式已开启");
DemoCache.savePmMode(!isParentMode);
UserModel.get().getCacheLoginUserInfo().setParentMode(!isParentMode);
UserModel.get().getCacheLoginUserInfo().setHasSetParentPwd(true);
EventBus.getDefault().post(new PmModeChangeEvent(!isParentMode));
AvRoomModel.get().exitRoom(new CallBack<RoomInfo>() {
@Override
public void onSuccess(RoomInfo data) {
}
@Override
public void onFail(int code, String error) {
}
});
finish();
});
}

View File

@@ -10,6 +10,7 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.bumptech.glide.load.resource.bitmap.CenterCrop;
import com.mango.moshen.utils.UserUtils;
import com.netease.nim.uikit.common.ui.draggablebubbles.BubbleView;
import com.netease.nim.uikit.support.glide.GlideApp;
import com.opensource.svgaplayer.SVGADrawable;
@@ -124,6 +125,10 @@ public class MainRedPointTab extends RelativeLayout {
@SuppressLint("SetTextI18n")
public void setNumber(int number) {
//原谅我吧,我也不想写这样的代码
if (UserUtils.isPmMode()) {
number = 0;
}
if (mTvNum instanceof BubbleView) {
((BubbleView) mTvNum).setNumText(number);
} else {

View File

@@ -1,5 +1,6 @@
package com.mango.moshen.utils;
import com.mango.core.DemoCache;
import com.mango.core.auth.AuthModel;
import com.mango.core.manager.AvRoomDataManager;
import com.mango.core.user.UserModel;
@@ -35,7 +36,8 @@ public class UserUtils {
}
public static boolean isPmMode() {
return UserModel.get().getCacheLoginUserInfo() != null && UserModel.get().getCacheLoginUserInfo().isParentMode();
return UserModel.get().getCacheLoginUserInfo() != null ?
UserModel.get().getCacheLoginUserInfo().isParentMode() : DemoCache.readPmMode();
}
}