diff --git a/OCH/common/biz/src/main/res/values/strings.xml b/OCH/common/biz/src/main/res/values/strings.xml index 56bbdcd277..a26e09c02e 100644 --- a/OCH/common/biz/src/main/res/values/strings.xml +++ b/OCH/common/biz/src/main/res/values/strings.xml @@ -15,8 +15,5 @@ 网络异常,请稍后重试 请求出现异常,请稍后重试 - 取消 - 扫描二维码完成车辆绑定 - 我知道了 \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/BindQRCodeDialogNew.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/BindQRCodeDialogNew.kt new file mode 100644 index 0000000000..0467e3ebeb --- /dev/null +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/BindQRCodeDialogNew.kt @@ -0,0 +1,76 @@ +package com.mogo.och.common.module.wigets + +import android.content.Context +import android.graphics.Bitmap +import androidx.appcompat.widget.AppCompatImageView +import androidx.appcompat.widget.AppCompatTextView +import androidx.lifecycle.LifecycleObserver +import com.mogo.eagle.core.function.hmi.dialog.BaseFloatDialog +import com.mogo.och.common.module.R + +/** + * 带有title, tip,confirm,cancel的dialog + */ +class BindQRCodeDialogNew: BaseFloatDialog, LifecycleObserver { + + private var qrBm : AppCompatImageView? = null + private var qrCancel: AppCompatTextView? = null + private var qrTitle: AppCompatTextView? = null + + private var clickListener: ClickListener? = null + + constructor(builder: Builder,context: Context) : super(context) { + qrTitle?.text = builder.titleStr + qrCancel?.text = builder.cancelStr + qrBm?.setImageBitmap(builder.qrBm) + } + + init{ + setContentView(R.layout.bind_driver_qr_view) + + setCanceledOnTouchOutside(true) + + qrTitle = findViewById(R.id.qr_title) + qrBm = findViewById(R.id.qr_bm) + qrCancel = findViewById(R.id.bind_qr_cancel) + + qrCancel?.setOnClickListener { + clickListener?.cancel() + dismiss() + } + } + + fun setClickListener(clickListener: ClickListener) { + this.clickListener = clickListener + } + + interface ClickListener{ + fun cancel() + } + + class Builder{ + var titleStr:String = "" + var cancelStr:String = "" + var qrBm: Bitmap? = null + + fun title(title: String) : Builder{ + this.titleStr = title + return this + } + + fun cancelStr(cancel: String) : Builder{ + this.cancelStr = cancel + return this + } + + fun qrBm(bm: Bitmap) : Builder{ + this.qrBm = bm + return this + } + + fun build(context: Context): BindQRCodeDialogNew? { + return BindQRCodeDialogNew(this,context) + } + } + +} \ No newline at end of file diff --git a/OCH/common/common/src/main/res/drawable/common_button_cancle.xml b/OCH/common/common/src/main/res/drawable/common_button_cancle.xml new file mode 100644 index 0000000000..7e6761c41a --- /dev/null +++ b/OCH/common/common/src/main/res/drawable/common_button_cancle.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/OCH/common/common/src/main/res/drawable/common_button_cancle_click.xml b/OCH/common/common/src/main/res/drawable/common_button_cancle_click.xml new file mode 100644 index 0000000000..65e7156a99 --- /dev/null +++ b/OCH/common/common/src/main/res/drawable/common_button_cancle_click.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/OCH/common/common/src/main/res/drawable/common_button_cancle_normal.xml b/OCH/common/common/src/main/res/drawable/common_button_cancle_normal.xml new file mode 100644 index 0000000000..e3628c0304 --- /dev/null +++ b/OCH/common/common/src/main/res/drawable/common_button_cancle_normal.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/OCH/common/common/src/main/res/drawable/common_qr_dialog.xml b/OCH/common/common/src/main/res/drawable/common_qr_dialog.xml new file mode 100644 index 0000000000..f38d14079c --- /dev/null +++ b/OCH/common/common/src/main/res/drawable/common_qr_dialog.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/OCH/common/common/src/main/res/layout/bind_driver_qr_view.xml b/OCH/common/common/src/main/res/layout/bind_driver_qr_view.xml index 4707e43487..c3cd9cbfec 100644 --- a/OCH/common/common/src/main/res/layout/bind_driver_qr_view.xml +++ b/OCH/common/common/src/main/res/layout/bind_driver_qr_view.xml @@ -1,20 +1,21 @@ - + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="@dimen/dp_900" + android:layout_height="@dimen/dp_745" + android:background="@drawable/common_qr_dialog" + app:roundLayoutRadius="@dimen/dp_50"> - - + app:layout_constraintBottom_toTopOf="@+id/bind_qr_cancel"/> - \ No newline at end of file + \ No newline at end of file diff --git a/OCH/common/common/src/main/res/values/colors.xml b/OCH/common/common/src/main/res/values/colors.xml index 4bdbaf74bf..00049527b7 100644 --- a/OCH/common/common/src/main/res/values/colors.xml +++ b/OCH/common/common/src/main/res/values/colors.xml @@ -8,7 +8,8 @@ #111533 #878890 #EF262C - #4D000000 + #4D000000 + #99000000 #3B4577 @@ -35,4 +36,6 @@ #B3FFFFFF #CCCCCC #F7151D41 + #3B3D44 + #2E323A \ No newline at end of file diff --git a/OCH/common/common/src/main/res/values/strings.xml b/OCH/common/common/src/main/res/values/strings.xml index 61afbce149..4733549483 100644 --- a/OCH/common/common/src/main/res/values/strings.xml +++ b/OCH/common/common/src/main/res/values/strings.xml @@ -25,7 +25,7 @@ 请求出现异常,请稍后重试 取消 - 扫描二维码完成车辆绑定 + 请扫码绑定 自动驾驶已退出,请立即接管,注意周边环境 小心驾驶 平行驾驶已退出,请立即接管,注意周边环境 小心驾驶 diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ShuttleDriverProvider.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ShuttleDriverProvider.kt index a802af293e..0afcd52ca8 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ShuttleDriverProvider.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ShuttleDriverProvider.kt @@ -17,6 +17,7 @@ import com.mogo.och.weaknet.repository.db.repository.TaskSiteDb import com.mogo.och.weaknet.ui.fragment.ShuttleFragment import com.mogo.och.weaknet.model.LineModel import com.mogo.och.weaknet.ui.bizswitch.SwitchBizView +import com.mogo.och.weaknet.ui.qr.QrOpenView import com.mogo.och.weaknet.util.BusAnalyticsManager /** @@ -60,4 +61,10 @@ class ShuttleDriverProvider : CommonServiceImpl() { SwitchBizView(it) } } + + override fun createOchBindQRCodeView(context: Context?): View? { + return context?.let { + QrOpenView(it) + } + } } diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/fragment/ShuttleFragment.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/fragment/ShuttleFragment.kt index 6d17b7b89b..041c1c03fc 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/fragment/ShuttleFragment.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/fragment/ShuttleFragment.kt @@ -137,27 +137,7 @@ class ShuttleFragment : MvpFragment() { fun changeOverview(eventLogout: EventLogout) { when (eventLogout.messgae) { EventLogout.SHOW_QR_TYPE-> { //显示二维码 - d( - SceneConstant.M_BUS + TAG, "changeOverview Event qrcode,sn = " - + SharedPrefsMgr.getInstance().sn - ) - val qrUrl = String.format( - FunctionBuildConfig.urlJson.bindDriverQRUrl, - SharedPrefsMgr.getInstance().sn - ) - val bmQr = createQRCodeWithPicture( - BitmapFactory.decodeResource(resources, R.drawable.icon_qr_center_logo), - qrUrl, AutoSizeUtils.dp2px(context, 340f), - AutoSizeUtils.dp2px(context, 340f), true - ) - if (bmQr != null) { - val builder = BindQRCodeDialog.Builder() - builder.title(getString(R.string.bind_driver_qr_title)) - .cancelStr(getString(R.string.qr_cancel)) - .qrBm(bmQr).build(AbsMogoApplication.getApp())!!.show() - } else { - d(SceneConstant.M_BUS + TAG, "bmQr = null ") - } + } EventLogout.SHOW_WAIT_UPLOAD_TASK-> { context?.let { diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/qr/QrOpenView.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/qr/QrOpenView.kt new file mode 100644 index 0000000000..eb05aa272e --- /dev/null +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/qr/QrOpenView.kt @@ -0,0 +1,75 @@ +package com.mogo.och.weaknet.ui.qr + +import android.content.Context +import android.graphics.BitmapFactory +import android.util.AttributeSet +import androidx.appcompat.widget.AppCompatImageView +import com.mogo.commons.AbsMogoApplication +import com.mogo.commons.storage.SharedPrefsMgr +import com.mogo.eagle.core.data.config.FunctionBuildConfig +import com.mogo.eagle.core.utilcode.kotlin.onClick +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d +import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant +import com.mogo.och.common.module.utils.ResourcesUtils +import com.mogo.och.common.module.utils.createQRCodeWithPicture +import com.mogo.och.common.module.wigets.BindQRCodeDialog +import com.mogo.och.shuttle.weaknet.R +import me.jessyan.autosize.utils.AutoSizeUtils + +class QrOpenView : AppCompatImageView { + + private val TAG = "QrOpenView" + + constructor(context: Context) : super(context) + + constructor(context: Context, attributeSet: AttributeSet) : super(context, attributeSet) + + constructor(context: Context, attributeSet: AttributeSet, defStyleAttr: Int) : super( + context, + attributeSet, + defStyleAttr + ) + + private fun initView() { + setImageResource(R.drawable.bus_open_qr) + } + + override fun onAttachedToWindow() { + super.onAttachedToWindow() + + onClick { + d( + SceneConstant.M_BUS + TAG, "changeOverview Event qrcode,sn = " + + SharedPrefsMgr.getInstance().sn + ) + val qrUrl = String.format( + FunctionBuildConfig.urlJson.bindDriverQRUrl, + SharedPrefsMgr.getInstance().sn + ) + val bmQr = createQRCodeWithPicture( + BitmapFactory.decodeResource(resources, R.drawable.icon_qr_center_logo), + qrUrl, AutoSizeUtils.dp2px(context, 340f), + AutoSizeUtils.dp2px(context, 340f), true + ) + if (bmQr != null) { + val builder = BindQRCodeDialog.Builder() + builder.title(ResourcesUtils.getString(R.string.bind_driver_qr_title)) + .cancelStr(ResourcesUtils.getString(R.string.qr_cancel)) + .qrBm(bmQr).build(AbsMogoApplication.getApp())!!.show() + } else { + d(SceneConstant.M_BUS + TAG, "bmQr = null ") + } + } + } + + + init { + try { + initView() + } catch (e: Exception) { + e.printStackTrace() + } + } + + +} \ No newline at end of file diff --git a/OCH/shuttle/driver_weaknet/src/main/res/drawable-nodpi/bus_open_qr.png b/OCH/shuttle/driver_weaknet/src/main/res/drawable-nodpi/bus_open_qr.png new file mode 100755 index 0000000000..8bc5065349 Binary files /dev/null and b/OCH/shuttle/driver_weaknet/src/main/res/drawable-nodpi/bus_open_qr.png differ