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