From 29f3331289aa9ec837f9b816069fb6834629a0e3 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Thu, 26 Dec 2024 19:11:40 +0800 Subject: [PATCH] =?UTF-8?q?[6.8.4]=20[fix]=20[shuttle=E3=80=81bus=E3=80=81?= =?UTF-8?q?scheduled]=20[=E8=BD=A8=E8=BF=B9=E5=A4=84=E7=90=86]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../login/callback/ITaxiLoginCallback.java | 1 + .../mogo/och/biz/login/model/LoginModel.kt | 2 ++ .../presenter/LoginPassengerPresenter.kt | 4 +++ .../och/biz/login/presenter/LoginPresenter.kt | 4 +++ .../mogo/och/biz/login/ui/LoginFragment.kt | 25 ++++++++++++++++++ .../biz/src/main/res/values/strings.xml | 3 +++ .../wigets/dialog/CommonDialogStatus.kt | 5 +++- .../common_feedback_neterror.png | Bin 0 -> 19168 bytes 8 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 OCH/common/common/src/main/res/drawable-nodpi/common_feedback_neterror.png 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 0000000000000000000000000000000000000000..48429781d277be65602fa41545aaf1f3ca5320b3 GIT binary patch literal 19168 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 vz|KwBJ-*lMf?teZvLs(Gn9lsK4DJ5|rPu