青少年模式部分功能不可用
This commit is contained in:
@@ -25,6 +25,9 @@ import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentTransaction;
|
||||
import androidx.lifecycle.ViewModelProvider;
|
||||
|
||||
import com.mango.moshen.home.fragment.PmModeFragment;
|
||||
import com.mango.moshen.ui.patriarch.PmModeChangeEvent;
|
||||
import com.mango.moshen.utils.UserUtils;
|
||||
import com.netease.nim.uikit.StatusBarUtil;
|
||||
import com.netease.nim.uikit.common.util.log.LogUtil;
|
||||
import com.netease.nim.uikit.common.util.string.StringUtil;
|
||||
@@ -314,6 +317,7 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
}
|
||||
|
||||
private void checkShowAnchorCardView() {
|
||||
if (UserUtils.isPmMode()) return;
|
||||
if (touchRunnable != null || !mResumed || AvRoomDataManager.get().mCurrentRoomInfo != null)
|
||||
return;
|
||||
int anchorCardViewType = DemoCache.readAnchorCardView();
|
||||
@@ -611,7 +615,19 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
@Override
|
||||
public void onTabClick(int tabType) {
|
||||
|
||||
Fragment showFragment = fragmentArray.get(tabType);
|
||||
Fragment showFragment;
|
||||
//青少年模式下,除了我的Tab,固定显示PmModeFragment
|
||||
if (UserUtils.isPmMode() && tabType != MainTabType.TAB_TYPE_ME) {
|
||||
int tempTabType = MainTabType.TAB_TYPE_PM_MODE;
|
||||
showFragment = fragmentArray.get(tempTabType);
|
||||
if (showFragment == null) {
|
||||
showFragment = PmModeFragment.Companion.newInstance();
|
||||
fragmentArray.put(tempTabType, showFragment);
|
||||
}
|
||||
} else {
|
||||
showFragment = fragmentArray.get(tabType);
|
||||
}
|
||||
|
||||
if (showFragment == tempFragment) return;
|
||||
|
||||
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
|
||||
@@ -665,6 +681,8 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
}
|
||||
});
|
||||
checkShowAnchorCardView();
|
||||
|
||||
onTabClick(mCurrentTabType);
|
||||
}
|
||||
|
||||
|
||||
@@ -690,6 +708,7 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
@SuppressLint("CheckResult")
|
||||
private void handleChannelPageInfo() {
|
||||
|
||||
if (UserUtils.isPmMode()) return;
|
||||
if (handleSplashJump()) return;
|
||||
if (handleLinkedJump()) return;
|
||||
|
||||
@@ -925,6 +944,11 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
||||
}
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onPmModeChangeEvent(PmModeChangeEvent event) {
|
||||
onTabClick(mCurrentTabType);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
switch (v.getId()) {
|
||||
|
@@ -7,6 +7,7 @@ import android.util.Log;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.coorchice.library.utils.LogUtils;
|
||||
import com.mango.moshen.utils.UserUtils;
|
||||
import com.netease.nimlib.sdk.NimIntent;
|
||||
import com.netease.nimlib.sdk.msg.constant.MsgTypeEnum;
|
||||
import com.netease.nimlib.sdk.msg.model.IMMessage;
|
||||
@@ -64,6 +65,10 @@ public class NimMiddleActivity extends BaseActivity {
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
Log.i(TAG, "NimMiddleActivity");
|
||||
if (UserUtils.isPmMode()){
|
||||
finish();
|
||||
return;
|
||||
}
|
||||
Intent intent = getIntent();
|
||||
if (intent != null) {
|
||||
try {
|
||||
|
@@ -628,6 +628,7 @@ public class AVRoomActivity extends BaseMvpActivity<IAvRoomView, AvRoomPresenter
|
||||
|
||||
private void onEnterRoom() {
|
||||
mRoomInfo = AvRoomDataManager.get().mCurrentRoomInfo;
|
||||
showRedPackage(AvRoomDataManager.get().mCurrentRoomInfo);
|
||||
Logger.i("进入房间成功:" + mRoomInfo.getRoomId());
|
||||
dismissDialog();
|
||||
if (AvRoomDataManager.get().isSingleRoom() && DemoCache.readSingleRoomTip()) {
|
||||
|
@@ -969,6 +969,7 @@ public abstract class BaseActivity extends RxAppCompatActivity
|
||||
* @return
|
||||
*/
|
||||
private boolean isNeedToHandleBroadcastMessageActivity() {
|
||||
if (UserUtils.isPmMode()) return false;
|
||||
List<Class> acts = new ArrayList<>();
|
||||
acts.add(LoginPhoneActivity.class);
|
||||
acts.add(LoginCodeActivity.class);
|
||||
|
@@ -40,7 +40,8 @@ class ContactsListFragment : BaseViewBindingFragment<FragmentContactListBinding>
|
||||
dialogManager.showOkCancelDialog(getString(R.string.tips_clear_unread_count),
|
||||
getString(R.string.text_canle), getString(R.string.tips_ok_label_clear),
|
||||
object : AbsOkDialogListener() {
|
||||
override fun onOk() {}
|
||||
override fun onOk() {
|
||||
}
|
||||
override fun onCancel() {
|
||||
EventBus.getDefault().post(ContactTrashEvent())
|
||||
}
|
||||
|
@@ -59,6 +59,8 @@ import com.mango.core.user.bean.UserInfo
|
||||
import com.mango.core.user.event.LoginUserInfoUpdateEvent
|
||||
import com.mango.core.utils.CurrentTimeUtils
|
||||
import com.mango.core.utils.StarUtils
|
||||
import com.mango.moshen.ui.patriarch.PatriarchModeActivity
|
||||
import com.mango.moshen.utils.UserUtils
|
||||
import com.mango.xchat_android_library.utils.FormatUtils
|
||||
import io.reactivex.Observable
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||
@@ -179,7 +181,8 @@ class MeFragment : BaseFragment(), View.OnClickListener {
|
||||
mBinding.ivVipIcon.isVisible = true
|
||||
mBinding.flVipSeek.isVisible = true
|
||||
mBinding.ivVipIcon.load(it.vipIcon)
|
||||
mBinding.tvVipDesc.text = "还差${RoomRankDialogUtils.getRoomRankValueText(it.levelUpScore)}权力值升级"
|
||||
mBinding.tvVipDesc.text =
|
||||
"还差${RoomRankDialogUtils.getRoomRankValueText(it.levelUpScore)}权力值升级"
|
||||
mBinding.tvVipName.text = it.vipName
|
||||
mBinding.tvNextVipName.text = it.nextVipName
|
||||
mBinding.seekBarVip.max = it.levelUpScore
|
||||
@@ -331,6 +334,8 @@ class MeFragment : BaseFragment(), View.OnClickListener {
|
||||
setUserLevel(it.userLevelVo)
|
||||
initNewUserCharge(it)
|
||||
setWalletInfo()
|
||||
mBinding.flPmMode.isVisible = it.isParentMode
|
||||
mBinding.meItemSkill.isVisible = !it.isParentMode
|
||||
}
|
||||
|
||||
}
|
||||
@@ -431,8 +436,10 @@ class MeFragment : BaseFragment(), View.OnClickListener {
|
||||
|
||||
override fun onClick(v: View) {
|
||||
when (v.id) {
|
||||
R.id.iv_user_head, R.id.rl_user_info ->
|
||||
R.id.iv_user_head, R.id.rl_user_info -> {
|
||||
if (UserUtils.isPmMode()) return
|
||||
mUserInfo?.let { UIHelper.showUserInfoAct(mContext, it.uid) }
|
||||
}
|
||||
R.id.iv_edit ->
|
||||
mUserInfo?.let { UIHelper.showUserInfoModifyAct(mContext, it.uid) }
|
||||
|
||||
@@ -477,6 +484,7 @@ class MeFragment : BaseFragment(), View.OnClickListener {
|
||||
"usercenter_nugift_pop_click"
|
||||
)
|
||||
}
|
||||
R.id.ll_pm_mode -> PatriarchModeActivity.start(mContext)
|
||||
else -> {}
|
||||
}
|
||||
}
|
||||
|
@@ -0,0 +1,40 @@
|
||||
package com.mango.moshen.home.fragment
|
||||
|
||||
import android.os.Bundle
|
||||
import androidx.fragment.app.activityViewModels
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import com.mango.moshen.base.BaseViewBindingFragment
|
||||
import com.mango.moshen.common.EmptyViewHelper
|
||||
import com.mango.moshen.databinding.FragmentRoomHotBinding
|
||||
import com.mango.moshen.home.HomeViewModel
|
||||
import com.mango.moshen.home.adapter.RoomHotAdapter
|
||||
import com.mango.moshen.ui.utils.RVDelegate
|
||||
import com.mango.core.home.bean.HomeRoomInfo
|
||||
import com.mango.core.home.event.RefreshHomeDataEvent
|
||||
import com.mango.moshen.R
|
||||
import com.mango.moshen.base.BaseFragment
|
||||
import org.greenrobot.eventbus.EventBus
|
||||
import org.greenrobot.eventbus.Subscribe
|
||||
import org.greenrobot.eventbus.ThreadMode
|
||||
|
||||
|
||||
class PmModeFragment : BaseFragment() {
|
||||
|
||||
companion object {
|
||||
fun newInstance(): PmModeFragment {
|
||||
val args = Bundle()
|
||||
val fragment = PmModeFragment()
|
||||
fragment.arguments = args
|
||||
return fragment
|
||||
}
|
||||
}
|
||||
|
||||
override fun initiate() {
|
||||
|
||||
}
|
||||
|
||||
override fun getRootLayoutId(): Int {
|
||||
return R.layout.fragment_pm_mode
|
||||
}
|
||||
|
||||
}
|
@@ -16,6 +16,8 @@ import com.mango.core.user.UserModel;
|
||||
import com.mango.core.user.bean.UserInfo;
|
||||
import com.mango.xchat_android_library.annatation.ActLayoutRes;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
|
||||
|
||||
@ActLayoutRes(R.layout.activity_patriarch_pwd)
|
||||
public class PatriarchPwdActivity extends BaseBindingActivity<ActivityPatriarchPwdBinding> {
|
||||
@@ -82,13 +84,19 @@ public class PatriarchPwdActivity extends BaseBindingActivity<ActivityPatriarchP
|
||||
|
||||
@SuppressLint("CheckResult")
|
||||
private void commit() {
|
||||
if (UserModel.get().getCacheLoginUserInfo() == null) {
|
||||
toast("获取登录用户信息失败,请尝试重新登录");
|
||||
return;
|
||||
}
|
||||
boolean isParentMode = UserModel.get().getCacheLoginUserInfo().isParentMode();
|
||||
UserModel.get().openOrClosePatriarchMode(
|
||||
DESAndBase64(mBinding.etPwd.getText().toString()),
|
||||
UserModel.get().getCacheLoginUserInfo().isParentMode() ? 0 : 1)
|
||||
DESAndBase64(mBinding.etPwd.getText().toString()),
|
||||
isParentMode ? 0 : 1)
|
||||
.subscribe(s -> {
|
||||
toast(UserModel.get().getCacheLoginUserInfo().isParentMode() ? "青少年模式已关闭" : "青少年模式已开启");
|
||||
UserModel.get().getCacheLoginUserInfo().setParentMode(!UserModel.get().getCacheLoginUserInfo().isParentMode());
|
||||
toast(isParentMode ? "青少年模式已关闭" : "青少年模式已开启");
|
||||
UserModel.get().getCacheLoginUserInfo().setParentMode(!isParentMode);
|
||||
UserModel.get().getCacheLoginUserInfo().setHasSetParentPwd(true);
|
||||
EventBus.getDefault().post(new PmModeChangeEvent(!isParentMode));
|
||||
finish();
|
||||
});
|
||||
}
|
||||
|
@@ -0,0 +1,3 @@
|
||||
package com.mango.moshen.ui.patriarch
|
||||
|
||||
data class PmModeChangeEvent(val isOpen: Boolean)
|
@@ -34,4 +34,8 @@ public class UserUtils {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public static boolean isPmMode() {
|
||||
return UserModel.get().getCacheLoginUserInfo() != null && UserModel.get().getCacheLoginUserInfo().isParentMode();
|
||||
}
|
||||
|
||||
}
|
||||
|
BIN
app/src/main/res/drawable-xhdpi/ic_pm_mode_left.png
Normal file
BIN
app/src/main/res/drawable-xhdpi/ic_pm_mode_left.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.6 KiB |
BIN
app/src/main/res/drawable-xhdpi/ic_pm_mode_opened.png
Normal file
BIN
app/src/main/res/drawable-xhdpi/ic_pm_mode_opened.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 38 KiB |
@@ -56,7 +56,7 @@
|
||||
android:drawableStart="@drawable/shape_pm_point"
|
||||
android:drawablePadding="10dp"
|
||||
android:paddingRight="28dp"
|
||||
android:text="针对青少年推送精选优化的内容"
|
||||
android:text="部分功能可能无法使用"
|
||||
android:textColor="@color/text_normal_c6c6e9"
|
||||
android:textSize="14sp" />
|
||||
|
||||
@@ -101,7 +101,7 @@
|
||||
android:gravity="center"
|
||||
android:text="开启青少年模式"
|
||||
android:background="@drawable/bg_common_cancel"
|
||||
android:textColor="@color/color_7154EE"
|
||||
android:textColor="@color/app_248cfe"
|
||||
android:textSize="15sp" />
|
||||
|
||||
|
||||
|
@@ -243,6 +243,7 @@
|
||||
android:text="技能卡"
|
||||
android:textColor="@color/color_333333"
|
||||
android:textSize="12sp"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
@@ -602,7 +603,6 @@
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/ll_setting_entrance"
|
||||
app:layout_constraintVertical_bias="0"
|
||||
tools:visibility="visible">
|
||||
|
||||
<FrameLayout
|
||||
@@ -698,6 +698,62 @@
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/fl_pm_mode"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:background="@color/bg_normal_1c1b22"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/rl_user_info">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_pm_mode"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="44dp"
|
||||
android:gravity="center_vertical"
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginEnd="15dp"
|
||||
android:background="@drawable/shape_white_8dp_round"
|
||||
android:onClick="@{click}">
|
||||
|
||||
<com.mango.xchat_android_library.widget.DrawableCenterTextView
|
||||
android:id="@+id/tv_open_pm_mode"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginStart="12dp"
|
||||
android:drawableStart="@drawable/ic_pm_mode_left"
|
||||
android:includeFontPadding="false"
|
||||
android:text="青少年模式中,暂无内容"
|
||||
android:textColor="@color/color_333333"
|
||||
android:textSize="12dp" />
|
||||
|
||||
<View
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="1px"
|
||||
android:layout_weight="1" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:drawableEnd="@drawable/arrow_right_3"
|
||||
android:text="已开启"
|
||||
android:drawablePadding="5dp"
|
||||
android:layout_marginEnd="12dp"
|
||||
android:includeFontPadding="false"
|
||||
android:layout_gravity="center"
|
||||
android:textColor="#CCCCCC"
|
||||
android:textSize="12sp" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</ScrollView>
|
||||
|
25
app/src/main/res/layout/fragment_pm_mode.xml
Normal file
25
app/src/main/res/layout/fragment_pm_mode.xml
Normal file
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@drawable/ic_pm_mode_opened" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="24dp"
|
||||
android:includeFontPadding="false"
|
||||
android:text="青少年模式中,暂无内容"
|
||||
android:textColor="@color/color_666666"
|
||||
android:textSize="14sp"
|
||||
/>
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
|
@@ -7,4 +7,5 @@ public interface MainTabType {
|
||||
int TAB_TYPE_GAME = 3;
|
||||
int TAB_TYPE_MSG = 4;
|
||||
int TAB_TYPE_ME = 5;
|
||||
int TAB_TYPE_PM_MODE = 6;
|
||||
}
|
||||
|
Reference in New Issue
Block a user