diff --git a/app/src/main/java/com/gh/common/util/DataUtils.java b/app/src/main/java/com/gh/common/util/DataUtils.java index e50c623ac5..f18f358b0f 100644 --- a/app/src/main/java/com/gh/common/util/DataUtils.java +++ b/app/src/main/java/com/gh/common/util/DataUtils.java @@ -13,6 +13,7 @@ import com.gh.base.GlobalActivityManager; import com.gh.gamecenter.BuildConfig; import com.gh.gamecenter.common.base.activity.BaseActivity; import com.gh.gamecenter.common.constant.Constants; +import com.gh.gamecenter.common.eventbus.EBReuse; import com.gh.gamecenter.common.exposure.meta.MetaUtil; import com.gh.gamecenter.common.retrofit.BiResponse; import com.gh.gamecenter.common.utils.SensorsBridge; @@ -31,6 +32,8 @@ import com.halo.assistant.HaloApp; import com.lightgame.config.CommonDebug; import com.lightgame.utils.Utils; +import org.greenrobot.eventbus.EventBus; + import io.reactivex.schedulers.Schedulers; import io.sentry.Sentry; import io.sentry.android.core.SentryAndroid; @@ -173,6 +176,8 @@ public class DataUtils { values.put(GhContentProvider.KEY_IS_ADULT, false); } + EventBus.getDefault().post(new EBReuse(Constants.EB_REALNAME_RESULT)); + // new GhContentProvider().localInsert( HaloApp.getInstance().getApplication(),values); try { // Unknown URL content://com.gh.gamecenter.provider/certification diff --git a/app/src/main/java/com/gh/gamecenter/fragment/MainWrapperFragment.java b/app/src/main/java/com/gh/gamecenter/fragment/MainWrapperFragment.java index 294e2a8c94..2b2167e815 100644 --- a/app/src/main/java/com/gh/gamecenter/fragment/MainWrapperFragment.java +++ b/app/src/main/java/com/gh/gamecenter/fragment/MainWrapperFragment.java @@ -34,10 +34,12 @@ import com.gh.common.util.IntegralLogHelper; import com.gh.common.util.LogUtils; import com.gh.common.util.NewLogUtils; import com.gh.gamecenter.R; +import com.gh.gamecenter.ShellActivity; import com.gh.gamecenter.category2.CategoryV2Fragment; import com.gh.gamecenter.common.base.fragment.BaseFragment_ViewPager_Checkable; import com.gh.gamecenter.common.callback.BiCallback; import com.gh.gamecenter.common.callback.OnDoubleTapListener; +import com.gh.gamecenter.common.constant.Constants; import com.gh.gamecenter.common.constant.EntranceConsts; import com.gh.gamecenter.common.eventbus.EBReuse; import com.gh.gamecenter.common.syncpage.SyncPageRepository; @@ -45,6 +47,8 @@ import com.gh.gamecenter.common.tracker.TrackerLogger; import com.gh.gamecenter.common.utils.ExtensionsKt; import com.gh.gamecenter.common.utils.ImageUtils; import com.gh.gamecenter.core.utils.DisplayUtils; +import com.gh.gamecenter.core.utils.GsonUtils; +import com.gh.gamecenter.core.utils.SPUtils; import com.gh.gamecenter.databinding.FragmentMainBinding; import com.gh.gamecenter.entity.SubjectData; import com.gh.gamecenter.entity.SubjectRecommendEntity; @@ -58,6 +62,7 @@ import com.gh.gamecenter.game.GameFragment; import com.gh.gamecenter.game.columncollection.detail.ColumnCollectionDetailFragment; import com.gh.gamecenter.game.commoncollection.detail.CommonCollectionDetailFragment; import com.gh.gamecenter.gamecollection.square.GameCollectionSquareFragment; +import com.gh.gamecenter.login.entity.UserInfoEntity; import com.gh.gamecenter.message.MessageUnreadRepository; import com.gh.gamecenter.message.MessageUnreadViewModel; import com.gh.gamecenter.personal.HaloPersonalFragment; @@ -579,6 +584,33 @@ public class MainWrapperFragment extends BaseFragment_ViewPager_Checkable implem } else { mBinding.mainTabCommunity.setVisibility(View.VISIBLE); } + } else if (Constants.EB_REALNAME_RESULT.equals(reuse.getType())) { + updateRealNameErrorContainer(); + } + } + + private void updateRealNameErrorContainer() { + String deviceCertificationInfoString = + SPUtils.getString(Constants.SP_DEVICE_CERTIFICATION_PREFIX + HaloApp.getInstance().getGid()); + + // 未点过关闭按钮并且处于实名认证失败状态的,显示提示 view + if (!SPUtils.getBoolean(Constants.SP_REALNAME_ERROR_HINT_IGNORED) + && !TextUtils.isEmpty(deviceCertificationInfoString)) { + UserInfoEntity entity = GsonUtils.fromJson(deviceCertificationInfoString, UserInfoEntity.class); + if (entity.getIdCard() != null + && entity.getIdCard().getStatus() == 2) { + mBinding.realNameErrorContainer.setVisibility(View.VISIBLE); + ExtensionsKt.enlargeTouchArea(mBinding.realNameErrorCloseIv, 100); + mBinding.realNameErrorCloseIv.setOnClickListener(v -> { + SPUtils.setBoolean(Constants.SP_REALNAME_ERROR_HINT_IGNORED, true); + mBinding.realNameErrorContainer.setVisibility(View.GONE); + }); + mBinding.realNameErrorContainer.setOnClickListener(v -> { + startActivity(ShellActivity.getIntent(requireActivity(), ShellActivity.Type.REAL_NAME_INFO, null)); + }); + } else { + mBinding.realNameErrorContainer.setVisibility(View.GONE); + } } } diff --git a/app/src/main/java/com/halo/assistant/fragment/user/RealNameInfoFragment.kt b/app/src/main/java/com/halo/assistant/fragment/user/RealNameInfoFragment.kt index 4396998c29..21b1d1cc24 100644 --- a/app/src/main/java/com/halo/assistant/fragment/user/RealNameInfoFragment.kt +++ b/app/src/main/java/com/halo/assistant/fragment/user/RealNameInfoFragment.kt @@ -218,6 +218,12 @@ class RealNameInfoFragment : ToolbarFragment() { for (i in 0 until idCard?.name!!.length - 1) { sb.append("*") } + + if (idCard.status == 1) { + mBinding.badgeHintTv.text = getText(R.string.realname_pending_badge_hint) + } else { + mBinding.badgeHintTv.text = getText(R.string.realname_success_badge_hint) + } mBinding.nameEt.setText(sb.toString()) mBinding.idCardEt.setText( idCard.id?.replace( diff --git a/app/src/main/res/drawable-night-xxxhdpi/ic_realname_error_arrow.png b/app/src/main/res/drawable-night-xxxhdpi/ic_realname_error_arrow.png new file mode 100644 index 0000000000..6e7d59f8fe Binary files /dev/null and b/app/src/main/res/drawable-night-xxxhdpi/ic_realname_error_arrow.png differ diff --git a/app/src/main/res/drawable-night-xxxhdpi/ic_realname_error_close.png b/app/src/main/res/drawable-night-xxxhdpi/ic_realname_error_close.png new file mode 100644 index 0000000000..7c7893ecf3 Binary files /dev/null and b/app/src/main/res/drawable-night-xxxhdpi/ic_realname_error_close.png differ diff --git a/app/src/main/res/drawable-night-xxxhdpi/ic_realname_error_hint.png b/app/src/main/res/drawable-night-xxxhdpi/ic_realname_error_hint.png new file mode 100644 index 0000000000..4dcdd04312 Binary files /dev/null and b/app/src/main/res/drawable-night-xxxhdpi/ic_realname_error_hint.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_realname_error_arrow.png b/app/src/main/res/drawable-xxxhdpi/ic_realname_error_arrow.png new file mode 100644 index 0000000000..19cbfdf626 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_realname_error_arrow.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_realname_error_close.png b/app/src/main/res/drawable-xxxhdpi/ic_realname_error_close.png new file mode 100644 index 0000000000..1c24bcf022 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_realname_error_close.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_realname_error_hint.png b/app/src/main/res/drawable-xxxhdpi/ic_realname_error_hint.png new file mode 100644 index 0000000000..4f75500bc7 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_realname_error_hint.png differ diff --git a/app/src/main/res/layout/fragment_main.xml b/app/src/main/res/layout/fragment_main.xml index 83cb23c90b..d5c95319ef 100644 --- a/app/src/main/res/layout/fragment_main.xml +++ b/app/src/main/res/layout/fragment_main.xml @@ -17,6 +17,58 @@ android:layout_above="@id/lightgame_tab_container" android:background="@drawable/shadow" /> + + + + + + + + + + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index e2ec674478..1aaa2963b1 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -410,6 +410,10 @@ 安装游戏 使用云存档后,将会覆盖您畅玩助手内的相关游戏进度,若您想保留自己的游戏数据,请先上传您当前的游戏存档后再使用 + 您的实名认证未通过,请重新认证 + 您已完成实名认证,该信息仅自己可见 + 实名信息认证中...\n认证期间不影响您正常的游戏体验 + 设置偏好]]> ,让推荐更懂你的心~ diff --git a/module_common/src/main/java/com/gh/gamecenter/common/constant/Constants.java b/module_common/src/main/java/com/gh/gamecenter/common/constant/Constants.java index 0a40202b26..5af507362d 100644 --- a/module_common/src/main/java/com/gh/gamecenter/common/constant/Constants.java +++ b/module_common/src/main/java/com/gh/gamecenter/common/constant/Constants.java @@ -459,7 +459,11 @@ public class Constants { public static final String VIDEO_OPTION_ALL = "video_option_all"; public static final String VIDEO_OPTION_WIFI = "video_option_wifi"; public static final String VIDEO_OPTION_CLOSE = "video_option_close"; - + public static final String AD_ICON_ACTIVE = "ad_icon_active"; public static final String IS_AD_DATA = "is_ad_data"; + + public static final String EB_REALNAME_RESULT = "realname_result"; + + public static final String SP_REALNAME_ERROR_HINT_IGNORED = "realname_error_hint_ignored"; } diff --git a/module_common/src/main/res/values-night/colors.xml b/module_common/src/main/res/values-night/colors.xml index c94dd3e253..39f40ea090 100644 --- a/module_common/src/main/res/values-night/colors.xml +++ b/module_common/src/main/res/values-night/colors.xml @@ -157,7 +157,8 @@ #FE7D20 #555555 - + + #423928 @android:color/black #08000000 diff --git a/module_common/src/main/res/values/colors.xml b/module_common/src/main/res/values/colors.xml index 99d31d7990..a102fd7811 100644 --- a/module_common/src/main/res/values/colors.xml +++ b/module_common/src/main/res/values/colors.xml @@ -167,6 +167,8 @@ #FE7D20 #CCCCCC + + #FFF6E5 @android:color/black #08000000 diff --git a/module_login/src/main/java/com/gh/gamecenter/login/entity/IdCardEntity.kt b/module_login/src/main/java/com/gh/gamecenter/login/entity/IdCardEntity.kt index e1bd16dcb4..58e3c16ac2 100644 --- a/module_login/src/main/java/com/gh/gamecenter/login/entity/IdCardEntity.kt +++ b/module_login/src/main/java/com/gh/gamecenter/login/entity/IdCardEntity.kt @@ -10,5 +10,6 @@ class IdCardEntity( var revise: Boolean? = false, var minor: Boolean? = false, // 是否是未成年人 @SerializedName("id_photo") - var idPhoto: String? = null + var idPhoto: String? = null, + var status: Int = 0 // 实名状态,若为 1 代表正在实名中,为 2 代表实名失败需要重新实名 ) \ No newline at end of file