diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/dialog/CommonFeedbackDialog.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/dialog/CommonFeedbackDialog.kt new file mode 100644 index 0000000000..8ff026fbd6 --- /dev/null +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/dialog/CommonFeedbackDialog.kt @@ -0,0 +1,86 @@ +package com.mogo.och.common.module.wigets.dialog + +import android.content.Context +import android.view.View +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.eagle.core.utilcode.util.ToastUtils +import com.mogo.och.common.module.R +import com.mogo.och.common.module.utils.RxUtils + +/** + * loading + */ +class CommonFeedbackDialog : BaseFloatDialog, LifecycleObserver { + + private var status: Status = Status.success + + private val ivFeedbackStatus:AppCompatImageView by lazy { findViewById(R.id.iv_feedback_status) } + private val tvFeedbackStatusDescribe:AppCompatTextView by lazy { findViewById(R.id.tv_feedback_status_describe) } + + private var listener:Listener?=null + + private var mRunnable:Runnable= Runnable { + ToastUtils.showLong("超时未响应,请求失败") + } + + constructor(builder: Builder, context: Context) : super(context) { + tvFeedbackStatusDescribe.text = builder.titleStr + status = builder.statusEnum + listener = builder.listener + when (status) { + Status.success -> { + ivFeedbackStatus.setImageResource(R.drawable.common_feedback_success) + } + Status.fail -> { + ivFeedbackStatus.setImageResource(R.drawable.common_feedback_fail) + } + } + RxUtils.createSubscribe(1_000) { + hide() + this.listener?.cancel() + } + } + + init { + setContentView(R.layout.common_feedback_dialog) + setCanceledOnTouchOutside(false) + } + + + class Builder{ + var statusEnum: Status = Status.success + var titleStr:String = "" + var listener:Listener?=null + + fun title(title: String) : Builder{ + this.titleStr = title + return this + } + + fun listener(listener: Listener) : Builder{ + this.listener = listener + return this + } + + fun build(context: Context): CommonFeedbackDialog { + return CommonFeedbackDialog(this,context) + } + + fun status(ask: Status): Builder { + this.statusEnum = ask + return this + } + } + + enum class Status{ + success,fail,loading + } + + interface Listener{ + fun cancel() + } + +} \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/media/MediaPlayerCustomView.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/media/MediaPlayerCustomView.kt index 21170abe0d..419fc4b515 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/media/MediaPlayerCustomView.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/media/MediaPlayerCustomView.kt @@ -209,7 +209,7 @@ class AdvanceVideoView @JvmOverloads constructor( Logger.d(MediaLoopPlayView.TAG, "startPlay") gsyVideoPlayerOptionBuilder = GSYVideoOptionBuilder() gsyVideoPlayerOptionBuilder - ?.setUrl(localVideoPath) // "/data/user/0/com.mogo.launcher.f/files/video/" + ?.setUrl(localVideoPath) // "/sdcard/mogo/media" ?.setPlayTag(MediaFileCacheManager.getCacheFileName(videoUrl)) ?.setCacheWithPlay(false) ?.setThumbPlay(false) diff --git a/OCH/common/common/src/main/res/drawable-nodpi/common_feedback_fail.png b/OCH/common/common/src/main/res/drawable-nodpi/common_feedback_fail.png new file mode 100755 index 0000000000..e25e6c9007 Binary files /dev/null and b/OCH/common/common/src/main/res/drawable-nodpi/common_feedback_fail.png differ diff --git a/OCH/common/common/src/main/res/drawable-nodpi/common_feedback_success.png b/OCH/common/common/src/main/res/drawable-nodpi/common_feedback_success.png new file mode 100755 index 0000000000..ed9494988a Binary files /dev/null and b/OCH/common/common/src/main/res/drawable-nodpi/common_feedback_success.png differ diff --git a/OCH/common/common/src/main/res/layout/common_feedback_dialog.xml b/OCH/common/common/src/main/res/layout/common_feedback_dialog.xml new file mode 100644 index 0000000000..a64669654d --- /dev/null +++ b/OCH/common/common/src/main/res/layout/common_feedback_dialog.xml @@ -0,0 +1,23 @@ + + + + + + + \ No newline at end of file diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/switchline/SwitchLineAdapter.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/switchline/SwitchLineAdapter.kt index f385ba5736..d1b340a761 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/switchline/SwitchLineAdapter.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/switchline/SwitchLineAdapter.kt @@ -12,6 +12,7 @@ import com.mogo.och.weaknet.ui.switchline.SwitchLineAdapter.SwitchLineViewHolder import com.mogo.och.shuttle.weaknet.R import com.mogo.och.weaknet.repository.db.bean.LineDataBean import com.mogo.och.weaknet.repository.db.bean.TaskDataBean +import me.jessyan.autosize.AutoSizeCompat /** * 路线列表adapter @@ -50,6 +51,7 @@ class SwitchLineAdapter( override fun onBindViewHolder(holder: SwitchLineViewHolder, position: Int) { val currentPosition = holder.bindingAdapterPosition + AutoSizeCompat.autoConvertDensityOfGlobal(holder.itemView.resources) val line = mData[currentPosition] holder.lineName.text = line.lineName diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/switchtask/SwitchLineTaskAdapter.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/switchtask/SwitchLineTaskAdapter.kt index 2df1e1db99..c591caa1e6 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/switchtask/SwitchLineTaskAdapter.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/switchtask/SwitchLineTaskAdapter.kt @@ -13,6 +13,7 @@ import com.mogo.och.common.module.manager.loop.BizLoopManager import com.mogo.och.weaknet.ui.switchtask.SwitchLineTaskAdapter.SwitchLineTaskViewHolder import com.mogo.och.shuttle.weaknet.R import com.mogo.och.weaknet.repository.db.bean.TaskDataBean +import me.jessyan.autosize.AutoSizeCompat /** * 路线列表adapter @@ -49,6 +50,7 @@ class SwitchLineTaskAdapter( override fun onBindViewHolder(holder: SwitchLineTaskViewHolder, position: Int) { val currentPosition = holder.bindingAdapterPosition + AutoSizeCompat.autoConvertDensityOfGlobal(holder.itemView.resources) val task = mData[currentPosition] val taskStartTime = TimeUtils.millis2String(task.taskStartTime?:System.currentTimeMillis(), "HH:mm") holder.taskTime.text = taskStartTime diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/switchtask/SwitchTaskView.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/switchtask/SwitchTaskView.kt index b4e01f4b66..618795c1ed 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/switchtask/SwitchTaskView.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/switchtask/SwitchTaskView.kt @@ -6,9 +6,7 @@ import android.view.LayoutInflater import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.findViewTreeViewModelStoreOwner import androidx.recyclerview.widget.GridLayoutManager -import androidx.recyclerview.widget.LinearLayoutManager import com.mogo.eagle.core.utilcode.kotlin.onClick -import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.och.common.module.manager.loop.BizLoopManager @@ -52,7 +50,7 @@ class SwitchTaskView: WindowRelativeLayout, SwtichTaskModel.SwtichLineViewCallba private lateinit var mAdapter: SwitchLineTaskAdapter - private lateinit var linearLayoutManager:LinearLayoutManager + private lateinit var linearLayoutManager:GridLayoutManager init { LayoutInflater.from(context).inflate(R.layout.shuttle_weak_switch_task, this, true) @@ -60,7 +58,7 @@ class SwitchTaskView: WindowRelativeLayout, SwtichTaskModel.SwtichLineViewCallba } private fun initView(){ - linearLayoutManager = GridLayoutManager(context, 3) + linearLayoutManager = GridLayoutManager(context, 3) rv_switch_task.setLayoutManager(linearLayoutManager) mAdapter = SwitchLineTaskAdapter(context,null, mutableListOf()) rv_switch_task.setAdapter(mAdapter) diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/errorpoint/ErrorPointItemAdapter.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/errorpoint/ErrorPointItemAdapter.kt index adc5ef1fc0..8246fef006 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/errorpoint/ErrorPointItemAdapter.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/errorpoint/ErrorPointItemAdapter.kt @@ -5,9 +5,13 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.CheckBox +import androidx.appcompat.widget.AppCompatImageView +import androidx.appcompat.widget.AppCompatTextView import androidx.recyclerview.widget.RecyclerView +import com.mogo.eagle.core.utilcode.kotlin.onClick import com.mogo.och.unmanned.taxi.R import com.mogo.och.unmanned.taxi.bean.PointError +import me.jessyan.autosize.AutoSizeCompat /** * Created by yangyakun on 06/06/17. @@ -42,12 +46,16 @@ class ErrorPointItemAdapter( override fun onBindViewHolder(holder: TextVH, position: Int) { val errorInfo = dataList[holder.bindingAdapterPosition] - holder.cbErrorInfo.text = errorInfo.name - holder.cbErrorInfo.isChecked = errorInfo.isCheck - holder.cbErrorInfo.setOnCheckedChangeListener { buttonView, isChecked -> - if(buttonView==holder.cbErrorInfo){ - errorInfo.isCheck = isChecked - } + AutoSizeCompat.autoConvertDensityOfGlobal(holder.itemView.resources) + if (errorInfo.isCheck) { + holder.cbErrorInfo.setImageResource(R.drawable.taxi_routing_check) + }else{ + holder.cbErrorInfo.setImageResource(R.drawable.taxi_routing_uncheck) + } + holder.cbErrorResong.text = errorInfo.name + holder.itemView.onClick { + errorInfo.isCheck = !errorInfo.isCheck + notifyItemChanged(holder.bindingAdapterPosition) } } @@ -56,9 +64,7 @@ class ErrorPointItemAdapter( } inner class TextVH(itemView: View) : RecyclerView.ViewHolder(itemView) { - var cbErrorInfo: CheckBox - init { - cbErrorInfo = itemView.findViewById(R.id.cb_error_info) - } + var cbErrorInfo: AppCompatImageView = itemView.findViewById(R.id.aciv_show_check_status) + var cbErrorResong: AppCompatTextView = itemView.findViewById(R.id.actv_error_resong) } } \ No newline at end of file diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/errorpoint/ReportErrorPointView.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/errorpoint/ReportErrorPointView.kt index bdf995e721..bdbbb74ab2 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/errorpoint/ReportErrorPointView.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/errorpoint/ReportErrorPointView.kt @@ -4,6 +4,7 @@ import android.content.Context import android.util.AttributeSet import android.view.LayoutInflater import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.GridLayoutManager import com.google.android.flexbox.AlignItems import com.google.android.flexbox.FlexDirection import com.google.android.flexbox.FlexWrap @@ -14,9 +15,11 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.eagle.core.utilcode.util.TimeUtils import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.och.common.module.wigets.WindowRelativeLayout +import com.mogo.och.common.module.wigets.dialog.CommonFeedbackDialog import com.mogo.och.unmanned.taxi.R import com.mogo.och.unmanned.taxi.bean.PointError import com.mogo.och.unmanned.taxi.ui.routing.TaxiRoutingLoadingDialog +import kotlinx.android.synthetic.main.taxt_report_error_point_panel.view.lvs_loding import kotlinx.android.synthetic.main.taxt_report_error_point_panel.view.rvErrorPointReason import kotlinx.android.synthetic.main.taxt_report_error_point_panel.view.tv_report_error_point_reason import kotlinx.android.synthetic.main.taxt_report_error_point_panel.view.tv_report_error_point_reason_cancel @@ -58,12 +61,6 @@ class ReportErrorPointView : WindowRelativeLayout, private var occurrenceTime:Long = System.currentTimeMillis() - private val mLoadingDialog: TaxiRoutingLoadingDialog by lazy { - TaxiRoutingLoadingDialog( - context - ) - } - private fun initView() { d(SceneConstant.M_TAXI_P + TAG, "initView") LayoutInflater.from(context).inflate(R.layout.taxt_report_error_point_panel, this, true) @@ -73,7 +70,7 @@ class ReportErrorPointView : WindowRelativeLayout, flexboxLayoutManager.alignItems = AlignItems.CENTER flexboxLayoutManager.flexWrap = FlexWrap.WRAP - rvErrorPointReason?.layoutManager = flexboxLayoutManager + rvErrorPointReason?.layoutManager = GridLayoutManager(context, 2) rvErrorPointReason?.setHasFixedSize(true) errorPointItemAdapter = ErrorPointItemAdapter( context, mutableListOf( @@ -91,7 +88,8 @@ class ReportErrorPointView : WindowRelativeLayout, ToastUtils.showShort("请选择问题类型") return@onClick } - mLoadingDialog.showLoading() + tv_report_error_point_reason_cancel.isEnabled = false + lvs_loding.visibility = VISIBLE this.viewModel?.submitErrorPointReasons(checkDataList,occurrenceTime) } } @@ -101,9 +99,8 @@ class ReportErrorPointView : WindowRelativeLayout, d(SceneConstant.M_TAXI_P + TAG, "展示---:${isVisible}") if (isVisible) { occurrenceTime = System.currentTimeMillis() - tv_work_order_time.text = "时间:${TimeUtils.millis2String(occurrenceTime, TimeUtils.getHourMinSecondFormat())}" + tv_work_order_time.text = TimeUtils.millis2String(occurrenceTime, TimeUtils.getHourMinSecondFormat()) viewModel?.getPointErrorReasons() - mLoadingDialog.showLoading() } else { } @@ -130,7 +127,6 @@ class ReportErrorPointView : WindowRelativeLayout, } override fun addViewData(it: MutableList) { - mLoadingDialog.hideLoading() errorPointItemAdapter.setDataList(it) } @@ -138,12 +134,23 @@ class ReportErrorPointView : WindowRelativeLayout, msg?.let { ToastUtils.showLong(msg) } - mLoadingDialog.hideLoading() + lvs_loding.visibility = GONE + CommonFeedbackDialog + .Builder() + .title("请重试") + .status(CommonFeedbackDialog.Status.success) + .build(context).show() } override fun submitErrorReasons() { - mLoadingDialog.hideLoading() - this.closeCallback?.close() + tv_report_error_point_reason_cancel.isEnabled = true + lvs_loding.visibility = GONE + closeCallback?.close() + CommonFeedbackDialog + .Builder() + .title("打点成功") + .status(CommonFeedbackDialog.Status.success) + .build(context).show() } fun setDismiss(listener: CloseCallback) { diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/routingselect/RoutingItemAdapter.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/routingselect/RoutingItemAdapter.kt index 7624eafd9e..a00ac183ae 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/routingselect/RoutingItemAdapter.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/routingselect/RoutingItemAdapter.kt @@ -10,6 +10,7 @@ import androidx.recyclerview.widget.DiffUtil.Callback import androidx.recyclerview.widget.RecyclerView import com.mogo.och.unmanned.taxi.R import com.mogo.och.unmanned.taxi.bean.GrayLineBean +import me.jessyan.autosize.AutoSizeCompat /** * 路线列表adapter @@ -49,6 +50,7 @@ class RoutingItemAdapter( override fun onBindViewHolder(holder: RoutingItemViewHolder, position: Int) { val currentPosition = holder.bindingAdapterPosition val routing = mData[currentPosition] + AutoSizeCompat.autoConvertDensityOfGlobal(holder.itemView.resources) holder.routingName.text = routing.lineName holder.todayVerifyNum.text = "今日验证:${routing.carVerificationCount}次" diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable-nodpi/taxi_routing_check.png b/OCH/taxi/unmanned-driver/src/main/res/drawable-nodpi/taxi_routing_check.png new file mode 100644 index 0000000000..803e261954 Binary files /dev/null and b/OCH/taxi/unmanned-driver/src/main/res/drawable-nodpi/taxi_routing_check.png differ diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable-nodpi/taxi_routing_uncheck.png b/OCH/taxi/unmanned-driver/src/main/res/drawable-nodpi/taxi_routing_uncheck.png new file mode 100644 index 0000000000..e6fccf1a1b Binary files /dev/null and b/OCH/taxi/unmanned-driver/src/main/res/drawable-nodpi/taxi_routing_uncheck.png differ diff --git a/OCH/taxi/unmanned-driver/src/main/res/layout/taxt_report_error_point_item.xml b/OCH/taxi/unmanned-driver/src/main/res/layout/taxt_report_error_point_item.xml index 3eafa3b682..9f19d39c77 100644 --- a/OCH/taxi/unmanned-driver/src/main/res/layout/taxt_report_error_point_item.xml +++ b/OCH/taxi/unmanned-driver/src/main/res/layout/taxt_report_error_point_item.xml @@ -1,19 +1,31 @@ - - + + - \ No newline at end of file + \ No newline at end of file diff --git a/OCH/taxi/unmanned-driver/src/main/res/layout/taxt_report_error_point_panel.xml b/OCH/taxi/unmanned-driver/src/main/res/layout/taxt_report_error_point_panel.xml index 5b928cbc03..445d98f3a8 100644 --- a/OCH/taxi/unmanned-driver/src/main/res/layout/taxt_report_error_point_panel.xml +++ b/OCH/taxi/unmanned-driver/src/main/res/layout/taxt_report_error_point_panel.xml @@ -1,105 +1,92 @@ - - - + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="@dimen/dp_900" + android:layout_height="@dimen/dp_730" + android:background="@drawable/common_qr_dialog" + app:roundLayoutRadius="@dimen/dp_50"> + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toEndOf="parent" + android:layout_marginTop="@dimen/dp_51" + /> - - - - + app:layout_constraintTop_toTopOf="@+id/tv_report_title" + app:layout_constraintBottom_toBottomOf="@+id/tv_report_title" + app:layout_constraintEnd_toEndOf="parent" + /> + android:layout_height="@dimen/dp_0" + android:layout_marginStart="@dimen/dp_65" + android:layout_marginTop="@dimen/dp_56" + android:layout_marginEnd="@dimen/dp_65" + android:layout_marginBottom="@dimen/dp_10" + app:layout_constraintBottom_toTopOf="@+id/tv_report_error_point_reason" + app:layout_constraintTop_toBottomOf="@+id/tv_report_title" /> + app:layout_constraintStart_toStartOf="parent" + android:layout_marginStart="@dimen/dp_65" + /> + + + app:layout_constraintEnd_toEndOf="parent" + /> - \ No newline at end of file + \ No newline at end of file