diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/callback/ITaxiLoginCallback.java b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/callback/ITaxiLoginCallback.java index d8106b4e98..1274365bce 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/callback/ITaxiLoginCallback.java +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/callback/ITaxiLoginCallback.java @@ -9,4 +9,5 @@ public interface ITaxiLoginCallback { void getPhoneCodeSuccess(); default void searchStatusSuccess(){} + void netErrorCallback(); } diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginModel.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginModel.kt index f9453fa6ee..503395bff5 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginModel.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/model/LoginModel.kt @@ -137,6 +137,7 @@ object LoginModel { } else { ToastCharterUtils.showToastShort(mContext?.getString(R.string.request_error_tip)) } + iTaxiLoginCallback?.netErrorCallback() } override fun onFail(code: Int, msg: String) { @@ -173,6 +174,7 @@ object LoginModel { } else { ToastCharterUtils.showToastShort(mContext?.getString(R.string.request_error_tip)) } + iTaxiLoginCallback?.netErrorCallback() } override fun onFail(code: Int, msg: String) { diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/presenter/LoginPassengerPresenter.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/presenter/LoginPassengerPresenter.kt index 455fd6180e..ce13488eca 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/presenter/LoginPassengerPresenter.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/presenter/LoginPassengerPresenter.kt @@ -49,4 +49,8 @@ class LoginPassengerPresenter(view: LoginPassengerFragment?) : Presenter(view), IT this.code = null } + override fun netErrorCallback() { + mView?.showLoginOffLineModel() + } + fun gotoOfflineMode() { LoginModel.gotoOfflineMode() } diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/LoginFragment.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/LoginFragment.kt index ee8ecf30cb..2337e1ca62 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/LoginFragment.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/login/ui/LoginFragment.kt @@ -30,9 +30,12 @@ import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.eagle.core.utilcode.util.UiThreadHandler import com.mogo.och.biz.BuildConfig import com.mogo.och.biz.R +import com.mogo.och.biz.login.LoginConst import com.mogo.och.biz.login.callback.ILoginViewCallback import com.mogo.och.biz.login.presenter.LoginPresenter import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager +import com.mogo.och.common.module.utils.ResourcesUtils +import com.mogo.och.common.module.wigets.dialog.CommonDialogStatus import com.mogo.skin.utils.SkinResources import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder import com.shuyu.gsyvideoplayer.listener.GSYSampleCallBack @@ -351,4 +354,26 @@ class LoginFragment : MvpFragment(), ILoginView CallerLogger.d(TAG, "onPause") viewColdStart.setColdStartResultListener(null) } + + fun showLoginOffLineModel() { + context?.let { + val builder = CommonDialogStatus.Builder() + val closeLineConfirmDialog = builder + .title(ResourcesUtils.getString(R.string.biz_login_net_error_title)) + .tips(ResourcesUtils.getString(R.string.biz_login_net_error_tip)) + .confirmStr(ResourcesUtils.getString(R.string.biz_login_offline_login)) + .status(CommonDialogStatus.Status.neterror) + .build(it) + closeLineConfirmDialog.setClickListener(object : CommonDialogStatus.ClickListener { + override fun confirm() { + mPresenter?.gotoLogin(LoginConst.OFFLINEPHONE, LoginConst.OFFLINECODE) + } + + override fun cancel() { + closeLineConfirmDialog.dismiss() + } + }) + closeLineConfirmDialog.show() + } + } } \ No newline at end of file diff --git a/OCH/common/biz/src/main/res/values/strings.xml b/OCH/common/biz/src/main/res/values/strings.xml index a26e09c02e..21a9a8453a 100644 --- a/OCH/common/biz/src/main/res/values/strings.xml +++ b/OCH/common/biz/src/main/res/values/strings.xml @@ -16,4 +16,7 @@ 请求出现异常,请稍后重试 我知道了 + 访客登录 + 网络环境不佳,无法登录 + 建议使用访客模式,网络良好时补登录 \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/dialog/CommonDialogStatus.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/dialog/CommonDialogStatus.kt index 1116bb868e..f49e894002 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/dialog/CommonDialogStatus.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/dialog/CommonDialogStatus.kt @@ -71,6 +71,9 @@ class CommonDialogStatus: BaseFloatDialog, LifecycleObserver { Status.success -> { commonStatus?.setImageResource(R.drawable.common_feedback_success) } + Status.neterror -> { + commonStatus?.setImageResource(R.drawable.common_feedback_neterror) + } } if (mCountdownValue > 0){ @@ -237,7 +240,7 @@ class CommonDialogStatus: BaseFloatDialog, LifecycleObserver { } enum class Status{ - ask,loading,success + ask,loading,success,neterror } } \ No newline at end of file diff --git a/OCH/common/common/src/main/res/drawable-nodpi/common_feedback_neterror.png b/OCH/common/common/src/main/res/drawable-nodpi/common_feedback_neterror.png new file mode 100644 index 0000000000..48429781d2 Binary files /dev/null and b/OCH/common/common/src/main/res/drawable-nodpi/common_feedback_neterror.png differ