diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerCarUseAndNoOrderPresenter.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerCarUseAndNoOrderPresenter.kt index 4061a63b90..66e05e80b9 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerCarUseAndNoOrderPresenter.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerCarUseAndNoOrderPresenter.kt @@ -1,13 +1,6 @@ package com.mogo.och.bus.passenger.presenter -import androidx.lifecycle.LifecycleOwner -import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager -import com.mogo.eagle.core.utilcode.util.ToastUtils -import com.mogo.och.bus.passenger.model.CharterPassengerModel -import com.mogo.och.bus.passenger.ui.M1CarUserNoOrderFragment -import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorCallback -import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorStatusManager -import io.reactivex.disposables.Disposable +import com.mogo.och.bus.passenger.ui.dialogfragment.M1CarUserNoOrderFragment class BusPassengerCarUseAndNoOrderPresenter(view: M1CarUserNoOrderFragment?) : BusBasePassengerFunctionDevicePresenter(view){ diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionDevicePresenter.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionDevicePresenter.kt index 86dbf5b2f5..33842efe9f 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionDevicePresenter.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionDevicePresenter.kt @@ -1,15 +1,7 @@ package com.mogo.och.bus.passenger.presenter import androidx.lifecycle.LifecycleOwner -import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener -import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager -import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager -import com.mogo.eagle.core.utilcode.util.ToastUtils -import com.mogo.och.bus.passenger.model.CharterPassengerModel -import com.mogo.och.bus.passenger.ui.M1DeviceFragment -import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorCallback -import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorStatusManager -import io.reactivex.disposables.Disposable +import com.mogo.och.bus.passenger.ui.dialogfragment.fragment.M1DeviceFragment class BusPassengerFunctionDevicePresenter(view: M1DeviceFragment?) : BusBasePassengerFunctionDevicePresenter(view) { diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionOrderPresenter.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionOrderPresenter.kt index 63282202ed..49abda3a8d 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionOrderPresenter.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionOrderPresenter.kt @@ -21,7 +21,7 @@ import com.mogo.och.bus.passenger.model.IOrderStatusChangeListener import com.mogo.och.bus.passenger.model.OrderStatusEnum import com.mogo.och.bus.passenger.net.BusPassengerModelLoopManager import com.mogo.och.bus.passenger.net.BusPassengerServiceManager -import com.mogo.och.bus.passenger.ui.M1OrderFragment +import com.mogo.och.bus.passenger.ui.dialogfragment.fragment.M1OrderLineFragment import com.mogo.och.common.module.bean.dpmsg.ChangeDestMsg import com.mogo.och.common.module.bean.dpmsg.DPMsgType import com.mogo.och.common.module.biz.constant.OchCommonConst @@ -30,8 +30,8 @@ import com.mogo.och.common.module.manager.OCHPlanningStopSideStatusManager import com.mogo.och.common.module.utils.RxUtils import io.reactivex.disposables.Disposable -class BusPassengerFunctionOrderPresenter(view: M1OrderFragment?) : - BusBasePassengerFunctionDevicePresenter(view), IOrderStatusChangeListener { +class BusPassengerFunctionOrderPresenter(view: M1OrderLineFragment?) : + BusBasePassengerFunctionDevicePresenter(view), IOrderStatusChangeListener { companion object{ diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionPresenter.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionPresenter.kt index 641a48e3cd..099d83d721 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionPresenter.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionPresenter.kt @@ -1,13 +1,7 @@ package com.mogo.och.bus.passenger.presenter import androidx.lifecycle.LifecycleOwner -import com.mogo.commons.voice.AIAssist -import com.mogo.eagle.core.utilcode.util.ToastUtils -import com.mogo.eagle.core.utilcode.util.UiThreadHandler -import com.mogo.och.bus.passenger.R -import com.mogo.och.bus.passenger.ui.M1ContainFragment -import com.mogo.och.common.module.manager.OCHPlanningStopSideStatusManager -import com.mogo.och.common.module.voice.VoiceNotice +import com.mogo.och.bus.passenger.ui.dialogfragment.M1ContainFragment class BusPassengerFunctionPresenter(view: M1ContainFragment?) : BusBasePassengerFunctionDevicePresenter(view) { diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionSoftPresenter.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionSoftPresenter.kt index 44fbc001b9..f04d7e5362 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionSoftPresenter.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionSoftPresenter.kt @@ -6,7 +6,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.eagle.core.utilcode.util.UiThreadHandler -import com.mogo.och.bus.passenger.ui.M1SoftFragment +import com.mogo.och.bus.passenger.ui.dialogfragment.fragment.M1SoftFragment import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorCallback import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorStatusManager import com.mogo.och.common.module.manager.devicemanage.data.AirconditionStatus diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionVideoPresenter.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionVideoPresenter.kt index 16fccdb1d8..cdc59f1886 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionVideoPresenter.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionVideoPresenter.kt @@ -1,6 +1,6 @@ package com.mogo.och.bus.passenger.presenter -import com.mogo.och.bus.passenger.ui.M1VideoFragment +import com.mogo.och.bus.passenger.ui.dialogfragment.fragment.M1VideoFragment class BusPassengerFunctionVideoPresenter(view: M1VideoFragment?) : BusBasePassengerFunctionDevicePresenter(view) \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/OrderInfoPresenter.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/OrderInfoPresenter.kt new file mode 100644 index 0000000000..c2d823632f --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/OrderInfoPresenter.kt @@ -0,0 +1,19 @@ +package com.mogo.och.bus.passenger.presenter + +import androidx.lifecycle.LifecycleOwner +import com.mogo.och.bus.passenger.ui.dialogfragment.M1ContainFragment +import com.mogo.och.bus.passenger.ui.dialogfragment.OrderInfoDialogFragment + +class OrderInfoPresenter(view: OrderInfoDialogFragment?) : + BusBasePassengerFunctionDevicePresenter(view) { + companion object{ + private const val TAG = "BusPassengerFunctionPresenter" + } + override fun onCreate(owner: LifecycleOwner) { + super.onCreate(owner) + } + + override fun onDestroy(owner: LifecycleOwner) { + super.onDestroy(owner) + } +} \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/M1EarlyEndOrderFragment.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/M1EarlyEndOrderFragment.kt index 7c46d0c176..49df5673f7 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/M1EarlyEndOrderFragment.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/M1EarlyEndOrderFragment.kt @@ -5,6 +5,7 @@ import com.mogo.commons.mvp.MvpFragment import com.mogo.eagle.core.utilcode.kotlin.onClick import com.mogo.och.bus.passenger.R import com.mogo.och.bus.passenger.presenter.BusPassengerFunctionEarlyEndOrderPresenter +import com.mogo.och.bus.passenger.ui.dialogfragment.M1ContainFragment import kotlinx.android.synthetic.main.m1_order_early_end.* /** diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/MainFragment.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/MainFragment.kt index 855586148d..d003dc57a6 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/MainFragment.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/MainFragment.kt @@ -1,20 +1,17 @@ package com.mogo.och.bus.passenger.ui import android.graphics.BitmapFactory -import android.os.Build import android.os.Bundle import android.view.View +import android.view.View.OnClickListener import androidx.fragment.app.DialogFragment import androidx.fragment.app.Fragment import com.amap.api.maps.model.LatLng import com.mogo.commons.AbsMogoApplication -import com.mogo.commons.debug.DebugConfig import com.mogo.commons.mvp.MvpFragment -import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.config.HdMapBuildConfig import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager import com.mogo.eagle.core.function.hmi.ui.msgbox.MMsgBoxButtonView -import com.mogo.eagle.core.function.hmi.ui.setting.ToggleDebugView 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.scene.SceneConstant @@ -22,10 +19,11 @@ import com.mogo.eagle.core.utilcode.util.AppStateManager import com.mogo.eagle.core.utilcode.util.ClickUtils import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.och.bus.passenger.R -import com.mogo.och.bus.passenger.model.CharterPassengerModel import com.mogo.och.common.module.voice.VoiceManager import com.mogo.och.bus.passenger.presenter.BusPassengerPresenter -import com.mogo.och.bus.passenger.utils.VoiceFocusManager +import com.mogo.och.bus.passenger.ui.dialogfragment.M1CarUserNoOrderFragment +import com.mogo.och.bus.passenger.ui.dialogfragment.M1ContainFragment +import com.mogo.och.bus.passenger.ui.dialogfragment.OrderInfoDialogFragment import com.mogo.och.common.module.biz.constant.LoginStatusManager import kotlinx.android.synthetic.main.m1_main_fragment.* import java.lang.ref.WeakReference @@ -38,6 +36,7 @@ class MainFragment : MvpFragment() { private var bpFunctionGroupDialogFragment: WeakReference? = null + private var orderInfoDialogFragment: WeakReference? = null private var m1CarUserNoOrderFragment: WeakReference? = null val endStation = @@ -52,34 +51,6 @@ class MainFragment : } override fun initViews() { - cb_bp_video_player.onClick { - openSettingPage(M1ContainFragment.VIDEOTAB) - } - cb_bp_setting_soft.onClick { - openSettingPage(M1ContainFragment.SETTINGSOFTTAB) - } - cb_bp_setting_device.onClick { - openSettingPage(M1ContainFragment.SETTINGDEVICETAB) - } - cb_bp_setting_order.onClick { - if (LoginStatusManager.isLogin()) { - openSettingPage(M1ContainFragment.SETTINGORDERTAB) - }else{ - ToastUtils.showShort(AbsMogoApplication.getApp().getString(R.string.m1_please_login_driver)) - } - } - iv_end_order.onClick { - if (LoginStatusManager.isLogin()) { - if(mPresenter?.haveOrder()==true){ - openSettingPage(M1ContainFragment.SETTINGENDORDERTAB) - }else{ - ToastUtils.showShort("没有订单无法结束订单") - } - }else{ - ToastUtils.showShort(AbsMogoApplication.getApp().getString(R.string.m1_please_login_driver)) - } - } - viewBusPM1MsgBoxButton.setClickListener(object : MMsgBoxButtonView.ClickListener { override fun showMsgBoxList(show: Boolean) { if (show) { @@ -94,6 +65,12 @@ class MainFragment : } }) + + bb_boorombar.setSettingClickListener(object :OnClickListener{ + override fun onClick(v: View?) { + openOrderInfoPage() + } + }) } private fun openSettingPage(tab: String) { @@ -135,6 +112,45 @@ class MainFragment : } } + private fun openOrderInfoPage() { + val fragmentByTag: Fragment? = childFragmentManager.findFragmentByTag( + OrderInfoDialogFragment.TAG) + if (fragmentByTag is DialogFragment) { + if (fragmentByTag.dialog != null && fragmentByTag.dialog!!.isShowing) { + CallerLogger.d(SceneConstant.M_BUS_P + TAG, "正在展示") + return + } + if (fragmentByTag.dialog != null && fragmentByTag.isAdded) { + if (AppStateManager.currentActivity() == null) { // 没有在当前应用内 在启动页面关闭应用 + CallerLogger.d(SceneConstant.M_BUS_P + TAG, "权限验证") + return + } + } + } + + if (orderInfoDialogFragment?.get() == null) { + orderInfoDialogFragment = WeakReference(OrderInfoDialogFragment.newInstance()) + } + val bpFunctionGroup = orderInfoDialogFragment?.get() + if (bpFunctionGroup != null) { + if (bpFunctionGroup.dialog != null && bpFunctionGroup.dialog!!.isShowing) { + return + } + if (bpFunctionGroup.isAdded) { //解决方法就是添加这行代码,如果已经添加了,就移除掉然后再show,就不会出现Fragment already added的错误了。 + parentFragmentManager.beginTransaction().remove(bpFunctionGroup) + .commitAllowingStateLoss() + } + if (ClickUtils.isFastClick()) { + bpFunctionGroup.show(parentFragmentManager, TAG) + CallerLogger.d(SceneConstant.M_BUS_P + TAG, "展示") + } else { + CallerLogger.d( + SceneConstant.M_BUS_P + TAG, "dialog 1s内执行一次" + ) + } + } + } + fun setSpeed(speed: String) { tv_speed.text = speed diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/M1CarUserNoOrderFragment.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/M1CarUserNoOrderFragment.kt similarity index 97% rename from OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/M1CarUserNoOrderFragment.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/M1CarUserNoOrderFragment.kt index e01f63d718..8ef0fa2773 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/M1CarUserNoOrderFragment.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/M1CarUserNoOrderFragment.kt @@ -1,4 +1,4 @@ -package com.mogo.och.bus.passenger.ui +package com.mogo.och.bus.passenger.ui.dialogfragment import android.os.Bundle import android.util.Log @@ -102,7 +102,7 @@ class M1CarUserNoOrderFragment : } override fun onViewStateRestored(savedInstanceState: Bundle?) { - CallerLogger.d(M_BUS_P+TAG, "onViewStateRestored") + CallerLogger.d(M_BUS_P+ TAG, "onViewStateRestored") super.onViewStateRestored(savedInstanceState) } diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/M1ContainFragment.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/M1ContainFragment.kt similarity index 91% rename from OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/M1ContainFragment.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/M1ContainFragment.kt index 1810e6ae86..3464eaf513 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/M1ContainFragment.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/M1ContainFragment.kt @@ -1,4 +1,4 @@ -package com.mogo.och.bus.passenger.ui +package com.mogo.och.bus.passenger.ui.dialogfragment import android.os.Bundle import android.util.Log @@ -16,6 +16,11 @@ import com.mogo.eagle.core.utilcode.util.BarUtils import com.mogo.eagle.core.utilcode.util.SharedPrefs import com.mogo.och.bus.passenger.R import com.mogo.och.bus.passenger.presenter.BusPassengerFunctionPresenter +import com.mogo.och.bus.passenger.ui.* +import com.mogo.och.bus.passenger.ui.dialogfragment.fragment.M1DeviceFragment +import com.mogo.och.bus.passenger.ui.dialogfragment.fragment.M1OrderLineFragment +import com.mogo.och.bus.passenger.ui.dialogfragment.fragment.M1SoftFragment +import com.mogo.och.bus.passenger.ui.dialogfragment.fragment.M1VideoFragment import kotlinx.android.synthetic.main.m1_contain_fragment.* /** @@ -38,7 +43,7 @@ class M1ContainFragment : savedInstanceState?.let { tab = it.getString(SELECTTAB, tab) } - isEarlyClose = tab==SETTINGENDORDERTAB + isEarlyClose = tab== SETTINGENDORDERTAB setStyle(STYLE_NO_TITLE, R.style.DialogFullScreen) //dialog全屏 } @@ -61,8 +66,8 @@ class M1ContainFragment : } SETTINGORDERTAB -> { fragment = - childFragmentManager.findFragmentByTag(M1OrderFragment.TAG) - ?: M1OrderFragment.newInstance(object :ChangeCheck{ + childFragmentManager.findFragmentByTag(M1OrderLineFragment.TAG) + ?: M1OrderLineFragment.newInstance(object : ChangeCheck { override fun changeChange() { cb_bp_setting_device.isChecked = true } @@ -71,7 +76,7 @@ class M1ContainFragment : SETTINGENDORDERTAB -> { fragment = childFragmentManager.findFragmentByTag(M1EarlyEndOrderFragment.TAG) - ?: M1EarlyEndOrderFragment.newInstance(object :ContainDismiss{ + ?: M1EarlyEndOrderFragment.newInstance(object : ContainDismiss { override fun closeDialog() { dismissAllowingStateLoss() } @@ -112,7 +117,7 @@ class M1ContainFragment : } private val videoListener = CompoundButton.OnCheckedChangeListener { _, isChecked -> - CallerLogger.d(M_BUS_P+TAG, "videoListener$isChecked") + CallerLogger.d(M_BUS_P+ TAG, "videoListener$isChecked") if (isChecked) { tab = VIDEOTAB fragmentTag = M1VideoFragment.TAG @@ -131,7 +136,7 @@ class M1ContainFragment : } private val settingDevices = CompoundButton.OnCheckedChangeListener { _, isChecked -> - CallerLogger.d(M_BUS_P+TAG, "settingDevices$isChecked") + CallerLogger.d(M_BUS_P+ TAG, "settingDevices$isChecked") if (isChecked) { tab = SETTINGDEVICETAB fragmentTag = M1DeviceFragment.TAG @@ -150,7 +155,7 @@ class M1ContainFragment : } private val settingSoft = CompoundButton.OnCheckedChangeListener { _, isChecked -> - CallerLogger.d(M_BUS_P+TAG, "settingSoft$isChecked") + CallerLogger.d(M_BUS_P+ TAG, "settingSoft$isChecked") if (isChecked) { tab = SETTINGSOFTTAB fragmentTag = M1SoftFragment.TAG @@ -168,14 +173,14 @@ class M1ContainFragment : } } private val settingOrder = CompoundButton.OnCheckedChangeListener { _, isChecked -> - CallerLogger.d(M_BUS_P+TAG, "settingOrder$isChecked") + CallerLogger.d(M_BUS_P+ TAG, "settingOrder$isChecked") if (isChecked) { if(isEarlyClose){ tab = SETTINGENDORDERTAB }else{ tab = SETTINGORDERTAB } - fragmentTag = M1OrderFragment.TAG + fragmentTag = M1OrderLineFragment.TAG cb_bp_video_player.isChecked = false cb_bp_setting_device.isChecked = false cb_bp_setting_soft.isChecked = false @@ -234,7 +239,7 @@ class M1ContainFragment : } override fun onViewStateRestored(savedInstanceState: Bundle?) { - CallerLogger.d(M_BUS_P+TAG, "onViewStateRestored") + CallerLogger.d(M_BUS_P+ TAG, "onViewStateRestored") cb_bp_video_player.setOnCheckedChangeListener(null) cb_bp_setting_soft.setOnCheckedChangeListener(null) cb_bp_setting_device.setOnCheckedChangeListener(null) diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/OrderInfoDialogFragment.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/OrderInfoDialogFragment.kt new file mode 100644 index 0000000000..d1aab2a238 --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/OrderInfoDialogFragment.kt @@ -0,0 +1,130 @@ +package com.mogo.och.bus.passenger.ui.dialogfragment + +import android.os.Bundle +import android.util.DisplayMetrics +import android.util.Log +import android.view.View +import android.view.WindowManager +import androidx.fragment.app.DialogFragment +import androidx.fragment.app.Fragment +import androidx.fragment.app.FragmentManager +import androidx.fragment.app.FragmentTransaction +import com.mogo.commons.mvp.MvpDialogFragment +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger +import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS_P +import com.mogo.eagle.core.utilcode.util.BarUtils +import com.mogo.och.bus.passenger.R +import com.mogo.och.bus.passenger.presenter.OrderInfoPresenter +import com.mogo.och.bus.passenger.ui.* +import kotlinx.android.synthetic.main.m1_contain_fragment.* +import kotlinx.android.synthetic.main.orderinfo_fragment.* +import me.jessyan.autosize.AutoSizeCompat +import me.jessyan.autosize.utils.AutoSizeUtils +import me.jessyan.autosize.utils.ScreenUtils + +/** + * @author: yangyakun + * @date: 2023/1/28 + */ +class OrderInfoDialogFragment : + MvpDialogFragment() { + + var fragment: Fragment? = null + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + arguments?.let { + + } + savedInstanceState?.let { + + } + setStyle(STYLE_NO_TITLE, R.style.DialogFullScreen) //dialog全屏 + } + + + override fun getLayoutId(): Int = R.layout.orderinfo_fragment + + override fun getTagName(): String = TAG + + override fun initViews() { + dialog?.setCancelable(true) + cl_container_order_info.setOnClickListener { + dismissAllowingStateLoss() + } + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + dialog?.window?.let { + BarUtils.hideStatusBarAndSticky(it) + it.addFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE) + dialog?.setOnShowListener { _ -> + it.clearFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE) + BarUtils.hideStatusBarAndSticky(it) + } + } + } + + override fun onSaveInstanceState(outState: Bundle) { + super.onSaveInstanceState(outState) + context?.let { + + } + } + + override fun createPresenter(): OrderInfoPresenter = + OrderInfoPresenter(this) + + /** + * 重写父类show()方法 + * 避免出现java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState + */ + override fun show(manager: FragmentManager, tag: String?) { + try { + var cls = this.javaClass.superclass ?: return + while (true) { + if (cls.name == "java.lang.Object") { + break + } + cls = cls.superclass!! + if (cls == DialogFragment::class.java) { + break + } + } + val mDismissed = cls.getDeclaredField("mDismissed") + val mShownByMe = cls.getDeclaredField("mShownByMe") + mDismissed.isAccessible = true + mShownByMe.isAccessible = true + mDismissed.setBoolean(this, false) + mShownByMe.setBoolean(this, true) + if (isAdded) { //解决方法就是添加这行代码,如果已经添加了,就移除掉然后再show,就不会出现Fragment already added的错误了。 + return + } + val ft: FragmentTransaction = manager.beginTransaction() + ft.add(this, tag) + ft.commitAllowingStateLoss() + } catch (e: Exception) { + Log.e("DialogFragment", "show", e.fillInStackTrace()) + } + } + + override fun onViewStateRestored(savedInstanceState: Bundle?) { + CallerLogger.d(M_BUS_P+ TAG, "onViewStateRestored") + + super.onViewStateRestored(savedInstanceState) + } + + companion object { + const val TAG = "BusPassengerFunctionFragment" + + @JvmStatic + fun newInstance(): OrderInfoDialogFragment { + val args = Bundle() + val fragment = OrderInfoDialogFragment() + fragment.arguments = args + return fragment + } + } + +} \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/M1DeviceFragment.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/fragment/M1DeviceFragment.kt similarity index 82% rename from OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/M1DeviceFragment.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/fragment/M1DeviceFragment.kt index 4d3944bcac..f2414de654 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/M1DeviceFragment.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/fragment/M1DeviceFragment.kt @@ -1,12 +1,9 @@ -package com.mogo.och.bus.passenger.ui +package com.mogo.och.bus.passenger.ui.dialogfragment.fragment import android.os.Bundle import com.mogo.commons.mvp.MvpFragment -import com.mogo.eagle.core.utilcode.kotlin.onClick import com.mogo.och.bus.passenger.R import com.mogo.och.bus.passenger.presenter.BusPassengerFunctionDevicePresenter -import com.mogo.och.common.module.utils.SoundPoolHelper -import kotlinx.android.synthetic.main.m1_devices_fragment.* /** * @author: yangyakun diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/M1OrderFragment.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/fragment/M1OrderLineFragment.kt similarity index 96% rename from OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/M1OrderFragment.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/fragment/M1OrderLineFragment.kt index 2483279c9a..2d86c1bcd2 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/M1OrderFragment.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/fragment/M1OrderLineFragment.kt @@ -1,4 +1,4 @@ -package com.mogo.och.bus.passenger.ui +package com.mogo.och.bus.passenger.ui.dialogfragment.fragment import android.animation.ObjectAnimator import android.os.Bundle @@ -19,6 +19,7 @@ import com.mogo.och.bus.passenger.model.OrderStatusEnum import com.mogo.och.bus.passenger.presenter.BusPassengerFunctionOrderPresenter import com.mogo.och.bus.passenger.ui.adapter.OrderLineItemAdapter import com.mogo.och.bus.passenger.ui.adapter.OrderSiteItemAdapter +import com.mogo.och.bus.passenger.ui.dialogfragment.M1ContainFragment import com.mogo.och.bus.passenger.view.BottomDecoration import kotlinx.android.synthetic.main.m1_order_fragment.* import me.jessyan.autosize.utils.AutoSizeUtils @@ -27,8 +28,8 @@ import me.jessyan.autosize.utils.AutoSizeUtils * @author: yangyakun * @date: 2023/1/28 */ -class M1OrderFragment : - MvpFragment() { +class M1OrderLineFragment : + MvpFragment() { private var changeCheck: M1ContainFragment.ChangeCheck? = null @@ -245,9 +246,9 @@ class M1OrderFragment : const val TAG = "BusPassengerFunctionOrderFragment" @JvmStatic - fun newInstance(changeCheck: M1ContainFragment.ChangeCheck): M1OrderFragment { + fun newInstance(changeCheck: M1ContainFragment.ChangeCheck): M1OrderLineFragment { val args = Bundle() - val fragment = M1OrderFragment() + val fragment = M1OrderLineFragment() fragment.arguments = args fragment.changeCheck = changeCheck return fragment diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/M1SoftFragment.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/fragment/M1SoftFragment.kt similarity index 99% rename from OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/M1SoftFragment.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/fragment/M1SoftFragment.kt index 7697bf38f0..529be8f177 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/M1SoftFragment.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/fragment/M1SoftFragment.kt @@ -1,4 +1,4 @@ -package com.mogo.och.bus.passenger.ui +package com.mogo.och.bus.passenger.ui.dialogfragment.fragment import android.animation.ObjectAnimator import android.animation.ValueAnimator diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/M1VideoFragment.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/fragment/M1VideoFragment.kt similarity index 99% rename from OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/M1VideoFragment.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/fragment/M1VideoFragment.kt index 8def79dab3..d6e85ea5d4 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/M1VideoFragment.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/fragment/M1VideoFragment.kt @@ -1,4 +1,4 @@ -package com.mogo.och.bus.passenger.ui +package com.mogo.och.bus.passenger.ui.dialogfragment.fragment import android.os.Bundle import android.view.View diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/bottom/BottomBar.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/bottom/BottomBar.kt new file mode 100644 index 0000000000..44b756d728 --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/bottom/BottomBar.kt @@ -0,0 +1,29 @@ +package com.mogo.och.bus.passenger.ui.view.bottom + +import android.content.Context +import android.util.AttributeSet +import android.view.LayoutInflater +import androidx.constraintlayout.widget.ConstraintLayout +import com.mogo.och.bus.passenger.R +import kotlinx.android.synthetic.main.m1_bottom_bar.view.* + +class BottomBar @JvmOverloads constructor( + context: Context, + attrs: AttributeSet? = null, + defStyleAttr: Int = 0 +) : ConstraintLayout(context, attrs, defStyleAttr) { + init { + isClickable = true + LayoutInflater.from(context).inflate(R.layout.m1_bottom_bar, this, true) + setBackgroundResource(R.drawable.charter_p_bottom_bar_bg) + } + + override fun onAttachedToWindow() { + super.onAttachedToWindow() + } + + fun setSettingClickListener(click:OnClickListener){ + actv_setting.setOnClickListener(click) + } + +} \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/bottom/BottomClickView.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/bottom/BottomClickView.kt new file mode 100644 index 0000000000..17a15a3f58 --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/bottom/BottomClickView.kt @@ -0,0 +1,128 @@ +package com.mogo.och.bus.passenger.ui.view.bottom + +import android.annotation.SuppressLint +import android.content.Context +import android.util.AttributeSet +import android.view.LayoutInflater +import android.view.MotionEvent +import android.view.View +import androidx.constraintlayout.widget.ConstraintLayout +import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener +import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager +import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger +import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant +import com.mogo.eagle.core.utilcode.util.ActivityUtils +import com.mogo.eagle.core.utilcode.util.ToastUtils +import com.mogo.och.bus.passenger.R +import com.mogo.och.common.module.utils.SoundPoolHelper +import kotlinx.android.synthetic.main.m1_bottom_stop_site.view.* + +open class BottomClickView @JvmOverloads constructor( + context: Context, + attrs: AttributeSet? = null, + defStyleAttr: Int = 0 +) : ConstraintLayout(context, attrs, defStyleAttr) { + + companion object { + private const val TAG = "StopSiteView" + } + + private var backageViewId: Int = -1 + private var bottomTitle: String = "" + private var selectedDrawable: Int = -1 + private var normalDrawable: Int = -1 + private var backageView: View? = null + + private var showBackageView = true + + init { + LayoutInflater.from(context).inflate(R.layout.m1_bottom_stop_site, this, true) + try { + val typedArray = context.obtainStyledAttributes(attrs, R.styleable.BottomSelectView) + backageViewId = typedArray.getResourceId(R.styleable.BottomSelectView_backageViewId, -1) + bottomTitle = typedArray.getString(R.styleable.BottomSelectView_bottomTitle)?:"" + selectedDrawable = + typedArray.getResourceId(R.styleable.BottomSelectView_selectedDrawable, -1) + normalDrawable = + typedArray.getResourceId(R.styleable.BottomSelectView_normalDrawable, -1) + typedArray.recycle() + initView(context) + } catch (e: Exception) { + e.printStackTrace() + } + + } + + private fun initView(context: Context) { + if (selectedDrawable > 0) { + aciv_center_image.setImageResource(normalDrawable) + } + actv_title.text = bottomTitle + setOnTouchListener(object : OnTouchListener { + @SuppressLint("ClickableViewAccessibility") + override fun onTouch(v: View?, event: MotionEvent?): Boolean { + when (event?.action) { + MotionEvent.ACTION_DOWN -> { + CallerLogger.d(SceneConstant.M_BUS_P + TAG, "ACTION_DOWN") + if (selectedDrawable > 0) { + aciv_center_image.setImageResource(selectedDrawable) + actv_title.setTextColor(context.getColor(android.R.color.white)) + if(showBackageView) { + backageView?.visibility = View.VISIBLE + } + } + } + MotionEvent.ACTION_UP -> { + CallerLogger.d(SceneConstant.M_BUS_P + TAG, "ACTION_UP") + if (selectedDrawable > 0) { + aciv_center_image.setImageResource(normalDrawable) + actv_title.setTextColor(context.getColor(R.color.bus_p_m1_090f28)) + if(showBackageView) { + backageView?.visibility = View.GONE + } + } + } + MotionEvent.ACTION_CANCEL -> { + CallerLogger.d(SceneConstant.M_BUS_P + TAG, "ACTION_CANCEL") + if (selectedDrawable > 0) { + aciv_center_image.setImageResource(normalDrawable) + actv_title.setTextColor(context.getColor(R.color.bus_p_m1_090f28)) + if(showBackageView) { + backageView?.visibility = View.GONE + } + } + } + else -> {} + } + return false + } + }) + } + + fun setCheckItem(isCheck:Boolean){ + if(isCheck!=showBackageView){ + showBackageView = isCheck + notifiBackageView() + } + } + + private fun notifiBackageView() { + if(showBackageView){ + backageView?.visibility = View.VISIBLE + }else{ + backageView?.visibility = View.GONE + } + } + + override fun onAttachedToWindow() { + super.onAttachedToWindow() + parent?.let { + if (parent is ConstraintLayout) { + if (backageViewId > 0) { + backageView = (parent as ConstraintLayout).findViewById(backageViewId) + } + } + } + } +} \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/door/CloseDoorView.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/bottom/impl/CloseDoorView.kt similarity index 78% rename from OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/door/CloseDoorView.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/bottom/impl/CloseDoorView.kt index 2a40c14a48..50ceb315e7 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/door/CloseDoorView.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/bottom/impl/CloseDoorView.kt @@ -1,12 +1,14 @@ -package com.mogo.och.bus.passenger.ui.view.door +package com.mogo.och.bus.passenger.ui.view.bottom.impl import android.content.Context import android.util.AttributeSet import androidx.appcompat.widget.AppCompatTextView import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager +import com.mogo.eagle.core.utilcode.util.ActivityUtils import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.och.bus.passenger.R +import com.mogo.och.bus.passenger.ui.view.bottom.BottomClickView import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorManager import com.mogo.och.common.module.utils.RxUtils import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorStatusManager @@ -17,7 +19,7 @@ class CloseDoorView @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0 -) : AppCompatTextView(context, attrs, defStyleAttr) { +) : BottomClickView(context, attrs, defStyleAttr) { init { setOnClickListener { @@ -27,6 +29,6 @@ class CloseDoorView @JvmOverloads constructor( private fun go2OpenDoor(){ LightAirconditionDoorManager.go2OpenDoor(false) - SoundPoolHelper.getSoundPoolHelper().playSoundWithRedId(context, R.raw.bus_di) + SoundPoolHelper.getSoundPoolHelper().playSoundWithRedId(ActivityUtils.getActivityByContext(context), R.raw.bus_di) } } \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/stopsite/GoView.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/bottom/impl/GoView.kt similarity index 53% rename from OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/stopsite/GoView.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/bottom/impl/GoView.kt index 00c447662d..b1da5c9a38 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/stopsite/GoView.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/bottom/impl/GoView.kt @@ -1,15 +1,22 @@ -package com.mogo.och.bus.passenger.ui.view.stopsite +package com.mogo.och.bus.passenger.ui.view.bottom.impl +import android.annotation.SuppressLint import android.content.Context import android.util.AttributeSet +import android.view.MotionEvent +import android.view.View import androidx.appcompat.widget.AppCompatTextView import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger +import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS_P +import com.mogo.eagle.core.utilcode.util.ActivityUtils import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.och.bus.passenger.R import com.mogo.och.bus.passenger.model.CharterPassengerModel import com.mogo.och.common.module.utils.SoundPoolHelper +import kotlinx.android.synthetic.main.m1_bottom_bar.view.* class GoView @JvmOverloads constructor( context: Context, @@ -17,10 +24,34 @@ class GoView @JvmOverloads constructor( defStyleAttr: Int = 0 ) : AppCompatTextView(context, attrs, defStyleAttr) { + companion object{ + private const val TAG = "GoView" + } + init { - setOnClickListener { - startGo() - } + setBackgroundResource(R.drawable.charter_p_bottom_center_normal) + setOnTouchListener(object :OnTouchListener{ + @SuppressLint("ClickableViewAccessibility") + override fun onTouch(v: View?, event: MotionEvent?): Boolean { + when (event?.action) { + MotionEvent.ACTION_DOWN -> { + CallerLogger.d(M_BUS_P + TAG, "ACTION_DOWN") + setBackgroundResource(R.drawable.charter_p_bottom_center_press) + } + MotionEvent.ACTION_UP -> { + CallerLogger.d(M_BUS_P + TAG, "ACTION_UP") + setBackgroundResource(R.drawable.charter_p_bottom_center_normal) + } + MotionEvent.ACTION_CANCEL -> { + CallerLogger.d(M_BUS_P + TAG, "ACTION_CANCEL") + setBackgroundResource(R.drawable.charter_p_bottom_center_normal) + } + else -> {} + } + return false + } + }) + setOnClickListener { startGo() } } private fun startGo(){ @@ -45,6 +76,6 @@ class GoView @JvmOverloads constructor( } else -> {} } - SoundPoolHelper.getSoundPoolHelper().playSoundWithRedId(context, R.raw.bus_di) + SoundPoolHelper.getSoundPoolHelper().playSoundWithRedId(ActivityUtils.getActivityByContext(context), R.raw.bus_di) } } \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/door/OpenDoorView.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/bottom/impl/OpenDoorView.kt similarity index 69% rename from OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/door/OpenDoorView.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/bottom/impl/OpenDoorView.kt index a9207bc376..503de66a56 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/door/OpenDoorView.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/bottom/impl/OpenDoorView.kt @@ -1,9 +1,11 @@ -package com.mogo.och.bus.passenger.ui.view.door +package com.mogo.och.bus.passenger.ui.view.bottom.impl import android.content.Context import android.util.AttributeSet import androidx.appcompat.widget.AppCompatTextView +import com.mogo.eagle.core.utilcode.util.ActivityUtils import com.mogo.och.bus.passenger.R +import com.mogo.och.bus.passenger.ui.view.bottom.BottomClickView import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorManager import com.mogo.och.common.module.utils.SoundPoolHelper @@ -11,7 +13,7 @@ class OpenDoorView @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0 -) : AppCompatTextView(context, attrs, defStyleAttr) { +) : BottomClickView(context, attrs, defStyleAttr) { init { setOnClickListener { @@ -21,7 +23,7 @@ class OpenDoorView @JvmOverloads constructor( private fun go2OpenDoor(){ LightAirconditionDoorManager.go2OpenDoor(true) - SoundPoolHelper.getSoundPoolHelper().playSoundWithRedId(context, R.raw.bus_di) + SoundPoolHelper.getSoundPoolHelper().playSoundWithRedId(ActivityUtils.getActivityByContext(context), R.raw.bus_di) } } \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/stopsite/StopSiteView.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/bottom/impl/StopSiteView.kt similarity index 70% rename from OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/stopsite/StopSiteView.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/bottom/impl/StopSiteView.kt index 7dec48188f..9ebe553648 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/stopsite/StopSiteView.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/bottom/impl/StopSiteView.kt @@ -1,20 +1,32 @@ -package com.mogo.och.bus.passenger.ui.view.stopsite +package com.mogo.och.bus.passenger.ui.view.bottom.impl +import android.annotation.SuppressLint import android.content.Context import android.util.AttributeSet -import androidx.appcompat.widget.AppCompatTextView +import android.view.LayoutInflater +import android.view.MotionEvent +import android.view.View +import androidx.constraintlayout.widget.ConstraintLayout import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger +import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant +import com.mogo.eagle.core.utilcode.util.ActivityUtils import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.och.bus.passenger.R +import com.mogo.och.bus.passenger.ui.view.bottom.BottomClickView import com.mogo.och.common.module.utils.SoundPoolHelper class StopSiteView @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0 -) : AppCompatTextView(context, attrs, defStyleAttr) { +) : BottomClickView(context, attrs, defStyleAttr) { + + companion object{ + private const val TAG = "StopSiteView" + } init { setOnClickListener { @@ -39,6 +51,6 @@ class StopSiteView @JvmOverloads constructor( } else -> {} } - SoundPoolHelper.getSoundPoolHelper().playSoundWithRedId(context, R.raw.bus_di) + SoundPoolHelper.getSoundPoolHelper().playSoundWithRedId(ActivityUtils.getActivityByContext(context), R.raw.bus_di) } } \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_bottom_bar_select_bg.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_bottom_bar_select_bg.png new file mode 100644 index 0000000000..d033e0a51c Binary files /dev/null and b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_bottom_bar_select_bg.png differ diff --git a/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_bottom_bar_bg.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_bottom_bar_bg.png new file mode 100644 index 0000000000..d920288fb8 Binary files /dev/null and b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_bottom_bar_bg.png differ diff --git a/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_bottom_center_normal.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_bottom_center_normal.png new file mode 100644 index 0000000000..ee0e88287f Binary files /dev/null and b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_bottom_center_normal.png differ diff --git a/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_bottom_center_press.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_bottom_center_press.png new file mode 100644 index 0000000000..1e0a96b046 Binary files /dev/null and b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_bottom_center_press.png differ diff --git a/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_bottom_closedoor_normal.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_bottom_closedoor_normal.png new file mode 100644 index 0000000000..00772a6d26 Binary files /dev/null and b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_bottom_closedoor_normal.png differ diff --git a/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_bottom_closedoor_press.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_bottom_closedoor_press.png new file mode 100644 index 0000000000..1392831ac3 Binary files /dev/null and b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_bottom_closedoor_press.png differ diff --git a/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_bottom_line_normal.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_bottom_line_normal.png new file mode 100644 index 0000000000..8151b5b365 Binary files /dev/null and b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_bottom_line_normal.png differ diff --git a/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_bottom_line_press.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_bottom_line_press.png new file mode 100644 index 0000000000..8151b5b365 Binary files /dev/null and b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_bottom_line_press.png differ diff --git a/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_bottom_opendoor_normal_nor_src.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_bottom_opendoor_normal_nor_src.png new file mode 100644 index 0000000000..30bbd4c1f4 Binary files /dev/null and b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_bottom_opendoor_normal_nor_src.png differ diff --git a/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_bottom_opendoor_normal_press_src.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_bottom_opendoor_normal_press_src.png new file mode 100644 index 0000000000..b04c3e1fc6 Binary files /dev/null and b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_bottom_opendoor_normal_press_src.png differ diff --git a/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_bottom_softsettiing_normal.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_bottom_softsettiing_normal.png new file mode 100644 index 0000000000..8d3c31d0d4 Binary files /dev/null and b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_bottom_softsettiing_normal.png differ diff --git a/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_bottom_softsettiing_press.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_bottom_softsettiing_press.png new file mode 100644 index 0000000000..07ab27a462 Binary files /dev/null and b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_bottom_softsettiing_press.png differ diff --git a/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_bottom_stopsite_normal.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_bottom_stopsite_normal.png new file mode 100644 index 0000000000..88c6249a7f Binary files /dev/null and b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_bottom_stopsite_normal.png differ diff --git a/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_bottom_stopsite_press.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_bottom_stopsite_press.png new file mode 100644 index 0000000000..4fbcdffb9c Binary files /dev/null and b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_bottom_stopsite_press.png differ diff --git a/OCH/mogo-och-charter-passenger/src/main/res/drawable/charter_p_bottom_go_selector.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/charter_p_bottom_go_selector.xml new file mode 100644 index 0000000000..9f5ff15f84 --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/res/drawable/charter_p_bottom_go_selector.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/main/res/drawable/charter_p_bottom_opendoor_normal.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/charter_p_bottom_opendoor_normal.xml new file mode 100644 index 0000000000..aa69138bcc --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/res/drawable/charter_p_bottom_opendoor_normal.xml @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/main/res/drawable/charter_p_bottom_opendoor_press.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/charter_p_bottom_opendoor_press.xml new file mode 100644 index 0000000000..6510c0cfa4 --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/res/drawable/charter_p_bottom_opendoor_press.xml @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/main/res/drawable/charter_p_bottom_opendoor_selector.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/charter_p_bottom_opendoor_selector.xml new file mode 100644 index 0000000000..5c053a0f30 --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/res/drawable/charter_p_bottom_opendoor_selector.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/main/res/drawable/charter_p_shape_end_order.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/charter_p_shape_end_order.xml new file mode 100644 index 0000000000..1cc7325f05 --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/res/drawable/charter_p_shape_end_order.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/main/res/drawable/charter_p_shape_end_order_left.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/charter_p_shape_end_order_left.xml new file mode 100644 index 0000000000..18e583918f --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/res/drawable/charter_p_shape_end_order_left.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/main/res/drawable/charter_p_shape_order_info.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/charter_p_shape_order_info.xml new file mode 100644 index 0000000000..c786db4c18 --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/res/drawable/charter_p_shape_order_info.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_bottom_bar.xml b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_bottom_bar.xml new file mode 100644 index 0000000000..429fba2d43 --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_bottom_bar.xml @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_bottom_stop_site.xml b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_bottom_stop_site.xml new file mode 100644 index 0000000000..dc897cb176 --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_bottom_stop_site.xml @@ -0,0 +1,29 @@ + + + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_devices_fragment.xml b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_devices_fragment.xml index 8a66824115..916be03fc5 100644 --- a/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_devices_fragment.xml +++ b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_devices_fragment.xml @@ -16,7 +16,7 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintWidth_percent="0.4589"> - - - - - + - + - - - - - - - - + android:layout_width="match_parent" + android:layout_height="@dimen/dp_107"/> diff --git a/OCH/mogo-och-charter-passenger/src/main/res/layout/orderinfo_fragment.xml b/OCH/mogo-och-charter-passenger/src/main/res/layout/orderinfo_fragment.xml new file mode 100644 index 0000000000..3b845a6638 --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/res/layout/orderinfo_fragment.xml @@ -0,0 +1,154 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/main/res/values/attrs.xml b/OCH/mogo-och-charter-passenger/src/main/res/values/attrs.xml index 321bbf2246..e7f0700bd4 100644 --- a/OCH/mogo-och-charter-passenger/src/main/res/values/attrs.xml +++ b/OCH/mogo-och-charter-passenger/src/main/res/values/attrs.xml @@ -5,4 +5,14 @@ + + + + + + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/main/res/values/color.xml b/OCH/mogo-och-charter-passenger/src/main/res/values/color.xml index 26fd58da09..ba01ce7ec1 100644 --- a/OCH/mogo-och-charter-passenger/src/main/res/values/color.xml +++ b/OCH/mogo-och-charter-passenger/src/main/res/values/color.xml @@ -18,12 +18,18 @@ #4A5375 #0F1E57 #225EFF + #0050E1 + #1466FB + #43CEFE #3B4056 #23293B #485173 #292C39 #2C2D31 #222222 + #090F28 + #5F7096 + #9AABD2 #662C2D31 #332C2D31 @@ -34,4 +40,5 @@ #91EFF6FF #CCFFFFFF #80FFFFFF + #F0E0EFFF \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/main/res/values/strings.xml b/OCH/mogo-och-charter-passenger/src/main/res/values/strings.xml index 723d800b4f..e5630dd4b1 100644 --- a/OCH/mogo-och-charter-passenger/src/main/res/values/strings.xml +++ b/OCH/mogo-och-charter-passenger/src/main/res/values/strings.xml @@ -34,6 +34,8 @@ 剩余(分) 到达 + 靠边停车 + diff --git a/core/mogo-core-res/src/main/res/values/dimens.xml b/core/mogo-core-res/src/main/res/values/dimens.xml index e957709e6e..84b201c229 100644 --- a/core/mogo-core-res/src/main/res/values/dimens.xml +++ b/core/mogo-core-res/src/main/res/values/dimens.xml @@ -30,6 +30,7 @@ 7.5dp 8dp 9dp + 9.5dp 10dp 11dp 12dp