From 47ad82d946197f5910ed72d18bb5578a10109e32 Mon Sep 17 00:00:00 2001 From: aibingbing Date: Mon, 8 May 2023 16:31:56 +0800 Subject: [PATCH 1/5] =?UTF-8?q?fix:=20=E5=8E=BB=E9=99=A4=E6=AF=8F=E6=AC=A1?= =?UTF-8?q?=E9=A6=96=E9=A1=B5=E5=90=AF=E5=8A=A8=E6=97=B6=E7=9A=84=20?= =?UTF-8?q?=E6=98=AF=E5=90=A6=E4=B8=BB=E5=B1=8F=E5=B9=95=20=E5=BA=94?= =?UTF-8?q?=E7=94=A8=E7=9A=84=E6=A3=80=E6=9F=A5=EF=BC=9B=20refactor:=20?= =?UTF-8?q?=E5=BC=80=E6=9C=BA=E5=B9=BF=E6=92=AD=20manifest=20xml=E4=B8=AD?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E4=BF=AE=E6=94=B9=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/AndroidManifest.xml | 12 ++++++++-- .../hmi/receiver/BootCompleteReceiver.kt | 22 +++++++++++++++++++ .../function/main/MainLauncherActivity.java | 17 ++++++++++++-- 3 files changed, 47 insertions(+), 4 deletions(-) create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/receiver/BootCompleteReceiver.kt diff --git a/core/function-impl/mogo-core-function-hmi/src/main/AndroidManifest.xml b/core/function-impl/mogo-core-function-hmi/src/main/AndroidManifest.xml index 05975cc293..2642df0efb 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/AndroidManifest.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/AndroidManifest.xml @@ -32,6 +32,7 @@ + @@ -69,8 +70,6 @@ - - + + + + + + + \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/receiver/BootCompleteReceiver.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/receiver/BootCompleteReceiver.kt new file mode 100644 index 0000000000..700064685e --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/receiver/BootCompleteReceiver.kt @@ -0,0 +1,22 @@ +package com.mogo.eagle.core.function.hmi.receiver + +import android.content.BroadcastReceiver +import android.content.Context +import android.content.Intent +import android.util.Log +import com.mogo.eagle.core.utilcode.util.AppUtils + +/** + * 开机启动广播 + */ +class BootCompleteReceiver : BroadcastReceiver() { + val TAG = "BootCompleteReceiver" + + override fun onReceive(context: Context, intent: Intent) { + if (Intent.ACTION_BOOT_COMPLETED == intent.action) { + Log.d(TAG, "ACTION_BOOT_COMPLETED") + val packageName = AppUtils.getAppPackageName() + AppUtils.launchApp(packageName) + } + } +} diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java index 4574346905..584304db06 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java @@ -27,8 +27,8 @@ import com.mogo.eagle.core.function.call.setting.CallerSkinModeListenerManager; import com.mogo.eagle.core.function.hmi.R; import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; +import com.mogo.eagle.core.utilcode.util.ToastUtils; import com.mogo.eagle.core.utilcode.util.ActivityUtils; -import com.mogo.eagle.core.utilcode.util.MultiDisplayUtils; import com.rousetime.android_startup.model.CostTimesModel; import com.zhjt.service.chain.ChainLog; import com.zhjt.service.chain.TracingConstants; @@ -49,6 +49,8 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis private final static Handler handlerV2XEvent = new Handler(); private static Runnable runnableV2XEvent; + private static long lastKeyDownTimeMillis; + @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -59,7 +61,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis @Override protected void onResume() { super.onResume(); - ActivityUtils.setDefaultL(this); + //ActivityUtils.setDefaultL(this); } @Override @@ -185,6 +187,17 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis @Override public boolean onKeyDown(int keyCode, KeyEvent event) { + long currentTimeMillis = System.currentTimeMillis(); + if (keyCode == KeyEvent.KEYCODE_BACK) { + if (currentTimeMillis - lastKeyDownTimeMillis < 2000) { + finish(); + System.exit(0); + } else { + ToastUtils.showLong(R.string.hint_exit_app_again); + lastKeyDownTimeMillis = System.currentTimeMillis(); + } + return true; + } return super.onKeyDown(keyCode, event); } From e56f106a90e3efe875fdbcf501dddff22f1cc3c2 Mon Sep 17 00:00:00 2001 From: aibingbing Date: Sat, 6 May 2023 12:40:08 +0800 Subject: [PATCH 2/5] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=20=E8=BF=9E?= =?UTF-8?q?=E7=BB=AD=E7=82=B9=E5=87=BB=20=E8=BF=94=E5=9B=9E=E9=94=AE=20?= =?UTF-8?q?=E6=89=8D=E8=83=BD=E6=8E=A8=E5=87=BA=E5=BA=94=E7=94=A8=EF=BC=8C?= =?UTF-8?q?=E9=81=BF=E5=85=8D=E8=AF=AF=E6=93=8D=E4=BD=9C=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/eagle/core/function/main/MainLauncherActivity.java | 1 - .../mogo-core-function-hmi/src/main/res/values/strings.xml | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java index 584304db06..5ccbc85fef 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java @@ -28,7 +28,6 @@ import com.mogo.eagle.core.function.hmi.R; import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.util.ToastUtils; -import com.mogo.eagle.core.utilcode.util.ActivityUtils; import com.rousetime.android_startup.model.CostTimesModel; import com.zhjt.service.chain.ChainLog; import com.zhjt.service.chain.TracingConstants; diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/values/strings.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/values/strings.xml index 641f54f982..f6e332d7ce 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/values/strings.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/values/strings.xml @@ -79,4 +79,5 @@ 请检查定位是否正常 确定 重试 + 再按一次退出应用 From 26285c77c6f627edd655ef9f1e9466662333e5f8 Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Tue, 9 May 2023 15:22:14 +0800 Subject: [PATCH 3/5] =?UTF-8?q?[dev=5Fminibus-d=5F230425=5F3.2.0]fix?= =?UTF-8?q?=E4=BA=91=E8=B0=83=E5=BA=A6=E7=A9=BA=E6=8C=87=E9=92=88=E5=BC=82?= =?UTF-8?q?=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../biz/dispatch/DispatchAutoPilotManager.kt | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/dispatch/DispatchAutoPilotManager.kt b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/dispatch/DispatchAutoPilotManager.kt index 2a8ff7b932..f19a08dcea 100644 --- a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/dispatch/DispatchAutoPilotManager.kt +++ b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/dispatch/DispatchAutoPilotManager.kt @@ -185,6 +185,50 @@ class DispatchAutoPilotManager private constructor() : ) } } + if(it.trajUrl == null){ + ToastUtils.showShort("trajUrl数据为空") + return + } + if(it.trajMd5 == null){ + ToastUtils.showShort("trajMd5数据为空") + return + } + if(it.stopUrl == null){ + ToastUtils.showShort("stopUrl数据为空") + return + } + if(it.stopMd5 == null){ + ToastUtils.showShort("stopMd5数据为空") + return + } + if(it.vehicleModel == null){ + ToastUtils.showShort("vehicleModel数据为空") + return + } + if(it.trajUrl_dpqp == null){ + ToastUtils.showShort("trajUrl_dpqp数据为空") + return + } + if(it.trajMd5_dpqp == null){ + ToastUtils.showShort("trajMd5_dpqp数据为空") + return + } + if(it.stopUrl_dpqp == null){ + ToastUtils.showShort("stopUrl_dpqp数据为空") + return + } + if(it.lineName == null){ + ToastUtils.showShort("lineName数据为空") + return + } + if(it.startLocAddress == null){ + ToastUtils.showShort("startLocAddress数据为空") + return + } + if(it.endLocAddress == null){ + ToastUtils.showShort("endLocAddress数据为空") + return + } val currentAutoPilotLine = AutopilotControlParameters.AutoPilotLine(it.lineId.toLong(),it.trajUrl,it.trajMd5, it.stopUrl,it.stopMd5,it.timestamp,it.vehicleModel,it.trajUrl_dpqp,it.trajMd5_dpqp,it.stopUrl_dpqp, it.stopMd5_dpqp,it.timestamp_dpqp) From 0d6ec2859907d6438168c5f1505e3a7045325ff3 Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Tue, 9 May 2023 16:19:44 +0800 Subject: [PATCH 4/5] =?UTF-8?q?[dev=5Fminibus-d=5F230425=5F3.2.0]M1?= =?UTF-8?q?=E4=B9=98=E5=AE=A2=E5=B1=8F=E6=A0=B8=E9=94=80=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=B6=88=E6=81=AF=E5=8E=86=E5=8F=B2=E7=BC=93?= =?UTF-8?q?=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hmi/ui/msgbox/MMsgBoxBubbleView.kt | 3 +++ .../hmi/ui/msgbox/MMsgBoxButtonView.kt | 3 +++ .../function/hmi/ui/msgbox/MMsgBoxListView.kt | 19 ++++++++++++++++++- .../core/function/api/order/IOrderListener.kt | 9 +++++++-- .../call/order/CallerOrderListenerManager.kt | 8 ++++++++ 5 files changed, 39 insertions(+), 3 deletions(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/MMsgBoxBubbleView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/MMsgBoxBubbleView.kt index 67526ebbdb..b360e4d5fa 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/MMsgBoxBubbleView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/MMsgBoxBubbleView.kt @@ -16,6 +16,9 @@ import com.mogo.eagle.core.function.msgbox.MsgBoxConfig import com.mogo.eagle.core.utilcode.util.UiThreadHandler import kotlinx.android.synthetic.main.layout_m_msg_box_bubble.view.* +/** + * M1消息盒子气泡态 + */ class MMsgBoxBubbleView @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/MMsgBoxButtonView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/MMsgBoxButtonView.kt index 0509cdba13..e3c29a00c8 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/MMsgBoxButtonView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/MMsgBoxButtonView.kt @@ -11,6 +11,9 @@ import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxEventListenerManager import com.mogo.eagle.core.function.hmi.R import kotlinx.android.synthetic.main.view_m1_msg_box_button.view.* +/** + * M1消息盒子切换按钮 + */ class MMsgBoxButtonView @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/MMsgBoxListView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/MMsgBoxListView.kt index 69f68eb5eb..9109c47a41 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/MMsgBoxListView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/MMsgBoxListView.kt @@ -13,20 +13,26 @@ import com.mogo.eagle.core.data.msgbox.MsgCategory import com.mogo.eagle.core.data.msgbox.OperationMsg import com.mogo.eagle.core.function.api.datacenter.msgbox.IMsgBoxEventListener import com.mogo.eagle.core.function.api.datacenter.msgbox.IMsgBoxListener +import com.mogo.eagle.core.function.api.order.IOrderListener import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxEventListenerManager import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxListenerManager import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager +import com.mogo.eagle.core.function.call.order.CallerOrderListenerManager import com.mogo.eagle.core.function.hmi.R import com.mogo.eagle.core.function.hmi.ui.msgbox.adapter.MMsgBoxListAdapter import com.mogo.eagle.core.utilcode.util.ResourceUtils.getDrawable import com.mogo.eagle.core.utilcode.util.UiThreadHandler import kotlinx.android.synthetic.main.layout_m_msg_box_list.view.* +/** + * M1消息盒子列表 + */ class MMsgBoxListView @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0 -) : ConstraintLayout(context, attrs, defStyleAttr), IMsgBoxListener, IMsgBoxEventListener { +) : ConstraintLayout(context, attrs, defStyleAttr), IMsgBoxListener, IMsgBoxEventListener, + IOrderListener { private val TAG = "MMsgBoxListView" var mMsgBoxListAdapter: MMsgBoxListAdapter?= null @@ -73,12 +79,14 @@ class MMsgBoxListView @JvmOverloads constructor( super.onAttachedToWindow() CallerMsgBoxListenerManager.addListener(TAG,this) CallerMsgBoxEventListenerManager.addListener(TAG,this) + CallerOrderListenerManager.addListener(TAG,this) } override fun onDetachedFromWindow() { super.onDetachedFromWindow() CallerMsgBoxListenerManager.removeListener(TAG) CallerMsgBoxEventListenerManager.removeListener(TAG) + CallerOrderListenerManager.removeListener(TAG) } override fun onSummaryClickEvent() { @@ -103,4 +111,13 @@ class MMsgBoxListView @JvmOverloads constructor( } + override fun onOrderRemoval() { + //清除历史消息,并刷新列表 + CallerMsgBoxManager.delMsgTable(context) + noticeList?.let { + it.clear() + mMsgBoxListAdapter?.setData(it) + } + } + } \ No newline at end of file diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/order/IOrderListener.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/order/IOrderListener.kt index 8ad2d1e052..db1d882fa6 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/order/IOrderListener.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/order/IOrderListener.kt @@ -1,4 +1,4 @@ -package com.mogo.eagle.core.function.api.order + package com.mogo.eagle.core.function.api.order /** * @author XuXinChao @@ -11,5 +11,10 @@ interface IOrderListener { * 通知订单状态 * @param inOrder true:开始订单;false:订单结束 */ - fun onUpdateOrderStatus(inOrder: Boolean) + fun onUpdateOrderStatus(inOrder: Boolean){} + + /** + * 订单核销 + */ + fun onOrderRemoval(){} } \ No newline at end of file diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/order/CallerOrderListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/order/CallerOrderListenerManager.kt index 7b1e5ea234..1116e74942 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/order/CallerOrderListenerManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/order/CallerOrderListenerManager.kt @@ -18,4 +18,12 @@ object CallerOrderListenerManager: CallerBase() { } } + fun invokeOrderRemoval(){ + M_LISTENERS.forEach{ + val tag = it.key + val listener = it.value + listener.onOrderRemoval() + } + } + } \ No newline at end of file From 630f2b76e4ee4dbebdf290d7c352076132050d77 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Wed, 10 May 2023 11:29:18 +0800 Subject: [PATCH 5/5] [charter] [3.2.0] [debugview] --- .../mogo/och/bus/passenger/ui/MainFragment.kt | 87 ++++--------------- .../DebugViewWatchDogFragment.kt | 72 +++++++++++++-- .../M1CarUserNoOrderFragment.kt | 44 ++++++++++ .../ui/dialogfragment/M1ContainFragment.kt | 44 +++++++++- .../drawable/charter_p_debugview_cancle.xml | 6 ++ .../drawable/charter_p_debugview_edit_bg.xml | 6 ++ .../drawable/charter_p_debugview_submit.xml | 6 ++ .../src/main/res/layout/m1_debugview_pass.xml | 41 +++++++++ .../src/main/res/values/color.xml | 2 + .../hmi/ui/setting/ToggleDebugView.kt | 6 +- 10 files changed, 230 insertions(+), 84 deletions(-) create mode 100644 OCH/mogo-och-charter-passenger/src/main/res/drawable/charter_p_debugview_cancle.xml create mode 100644 OCH/mogo-och-charter-passenger/src/main/res/drawable/charter_p_debugview_edit_bg.xml create mode 100644 OCH/mogo-och-charter-passenger/src/main/res/drawable/charter_p_debugview_submit.xml 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 144db0684d..e13b594b66 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 @@ -5,8 +5,6 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -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.mvp.MvpFragment @@ -17,10 +15,7 @@ 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.function.view.SiteMarkerBean 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.mogo.logger.scene.SceneConstant.Companion.M_BUS_P -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.eagle.core.utilcode.util.UiThreadHandler import com.mogo.map.uicontroller.VisualAngleMode @@ -29,17 +24,16 @@ import com.mogo.och.bus.passenger.bean.event.DebugView import com.mogo.och.bus.passenger.bean.event.EventLineSites import com.mogo.och.bus.passenger.model.CharterPassengerModel import com.mogo.och.bus.passenger.presenter.BusPassengerPresenter +import com.mogo.och.bus.passenger.ui.dialogfragment.DebugViewWatchDogFragment import com.mogo.och.bus.passenger.ui.dialogfragment.M1CarUserNoOrderFragment import com.mogo.och.bus.passenger.ui.dialogfragment.M1ContainFragment import com.mogo.och.bus.passenger.view.statusbar.StatusBarView import com.mogo.och.common.module.biz.constant.LoginStatusManager -import com.mogo.och.common.module.voice.VoiceManager import kotlinx.android.synthetic.main.m1_main_fragment.* import org.greenrobot.eventbus.EventBus import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.ThreadMode import java.lang.ref.WeakReference -import java.util.* /** * @author: wangmingjun @@ -49,6 +43,7 @@ class MainFragment : MvpFragment() { private var bpFunctionGroupDialogFragment: WeakReference? = null + private var debugViewWatchDogFragment: WeakReference? = null private var m1CarUserNoOrderFragment: WeakReference? = null private val endStation = @@ -134,42 +129,19 @@ class MainFragment : } private fun openSettingPage(tab: String) { - val fragmentByTag: Fragment? = childFragmentManager.findFragmentByTag(M1ContainFragment.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 (bpFunctionGroupDialogFragment?.get() == null) { bpFunctionGroupDialogFragment = WeakReference(M1ContainFragment.newInstance()) } val bpFunctionGroup = bpFunctionGroupDialogFragment?.get() - bpFunctionGroup?.arguments?.putString(M1ContainFragment.SELECTTAB, tab) - 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, "展示$tab") - } else { - CallerLogger.d( - SceneConstant.M_BUS_P + TAG, "dialog 1s内执行一次" - ) - } + M1ContainFragment.openSettingPage(childFragmentManager,parentFragmentManager,bpFunctionGroup,tab) + } + + private fun showDebugView() { + if (debugViewWatchDogFragment?.get() == null) { + debugViewWatchDogFragment = WeakReference(DebugViewWatchDogFragment.newInstance()) } + val debugViewFragment = debugViewWatchDogFragment?.get() + DebugViewWatchDogFragment.showDebugView(childFragmentManager,parentFragmentManager,debugViewFragment) } @@ -245,42 +217,11 @@ class MainFragment : fun showOpenAndCloseDoor() { val bpFunctionGroup = bpFunctionGroupDialogFragment?.get() bpFunctionGroup?.dismissAllowingStateLoss() - val fragmentByTag: Fragment? = childFragmentManager.findFragmentByTag(M1ContainFragment.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 (m1CarUserNoOrderFragment?.get() == null) { m1CarUserNoOrderFragment = WeakReference(M1CarUserNoOrderFragment.newInstance()) } val m1CarUserNoOrderFragment = m1CarUserNoOrderFragment?.get() - if (m1CarUserNoOrderFragment != null) { - if (m1CarUserNoOrderFragment.dialog != null && m1CarUserNoOrderFragment.dialog!!.isShowing) { - return - } - if (m1CarUserNoOrderFragment.isAdded) { //解决方法就是添加这行代码,如果已经添加了,就移除掉然后再show,就不会出现Fragment already added的错误了。 - parentFragmentManager.beginTransaction().remove(m1CarUserNoOrderFragment) - .commitAllowingStateLoss() - } - if (ClickUtils.isFastClick()) { - m1CarUserNoOrderFragment.show(parentFragmentManager, TAG) - VoiceManager.endOrder() - CallerLogger.d(SceneConstant.M_BUS_P + TAG, "展示开关门") - } else { - CallerLogger.d( - SceneConstant.M_BUS_P + TAG, "dialog 1s内执行一次" - ) - } - } + M1CarUserNoOrderFragment.showOpenAndCloseDoor(childFragmentManager,parentFragmentManager,m1CarUserNoOrderFragment) } fun closeOpenAndCloseDoor(){ val bpFunctionGroup = m1CarUserNoOrderFragment?.get() @@ -324,7 +265,11 @@ class MainFragment : } } else -> { - ToggleDebugView.toggleDebugView.toggle(requireContext()) + if (ToggleDebugView.toggleDebugView.isShowIng()) { + ToggleDebugView.toggleDebugView.dismiss() + }else { + showDebugView() + } } } diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/DebugViewWatchDogFragment.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/DebugViewWatchDogFragment.kt index 2ee066f5bb..c891e5b98c 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/DebugViewWatchDogFragment.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/DebugViewWatchDogFragment.kt @@ -1,22 +1,26 @@ package com.mogo.och.bus.passenger.ui.dialogfragment +import android.content.DialogInterface import android.os.Bundle 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.kotlin.onClick +import com.mogo.eagle.core.function.hmi.ui.setting.ToggleDebugView 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.AppStateManager import com.mogo.eagle.core.utilcode.util.BarUtils +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.presenter.BusPassengerCarUseAndNoOrderPresenter import com.mogo.och.bus.passenger.presenter.DebugWatchDogPresenter -import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorManager -import kotlinx.android.synthetic.main.m1_order_end.* +import com.mogo.och.bus.passenger.ui.MainFragment +import kotlinx.android.synthetic.main.m1_debugview_pass.* /** * @author: yangyakun @@ -31,19 +35,34 @@ class DebugViewWatchDogFragment : setStyle(STYLE_NO_TITLE, R.style.DialogFullScreen) //dialog全屏 } - private fun initFragment() { - - } - override fun getLayoutId(): Int = R.layout.m1_debugview_pass override fun getTagName(): String = TAG override fun initViews() { dialog?.setCancelable(false) - + actv_password_submit.setOnClickListener { + val text = acet_close.text + if(text==null||text.isEmpty()){ + ToastUtils.showShort("请输入密码") + }else{ + if(text.toString() == "123987"){ + dismissAllowingStateLoss() + ToggleDebugView.toggleDebugView.toggle(requireContext()) + }else{ + ToastUtils.showShort("请输入正确密码") + } + } + } + actv_cancle.setOnClickListener { + dismissAllowingStateLoss() + } } + override fun onDismiss(dialog: DialogInterface) { + super.onDismiss(dialog) + acet_close.text?.clear() + } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) @@ -111,6 +130,41 @@ class DebugViewWatchDogFragment : fragment.arguments = args return fragment } + fun showDebugView( + childFragmentManager: FragmentManager, + parentFragmentManager: FragmentManager, + debugViewWatchDogFragment: DebugViewWatchDogFragment? + ) { + + val fragmentByTag: Fragment? = childFragmentManager.findFragmentByTag(M1ContainFragment.TAG) + if (fragmentByTag is DialogFragment) { + if (fragmentByTag.dialog != null && fragmentByTag.dialog!!.isShowing) { + CallerLogger.d(M_BUS_P + MainFragment.TAG, "正在展示") + return + } + if (fragmentByTag.dialog != null && fragmentByTag.isAdded) { + if (AppStateManager.currentActivity() == null) { // 没有在当前应用内 在启动页面关闭应用 + CallerLogger.d(M_BUS_P + MainFragment.TAG, "权限验证") + return + } + } + } + if (debugViewWatchDogFragment != null) { + if (debugViewWatchDogFragment.dialog != null && debugViewWatchDogFragment.dialog!!.isShowing) { + return + } + if (debugViewWatchDogFragment.isAdded) { //解决方法就是添加这行代码,如果已经添加了,就移除掉然后再show,就不会出现Fragment already added的错误了。 + parentFragmentManager.beginTransaction().remove(debugViewWatchDogFragment) + .commitAllowingStateLoss() + } + if (ClickUtils.isFastClick()) { + debugViewWatchDogFragment.show(parentFragmentManager, MainFragment.TAG) + CallerLogger.d(M_BUS_P + MainFragment.TAG, "展示开关门") + } else { + CallerLogger.d(M_BUS_P + MainFragment.TAG, "dialog 1s内执行一次") + } + } + } } } \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/M1CarUserNoOrderFragment.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/M1CarUserNoOrderFragment.kt index 8ef0fa2773..f4b2272f61 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/M1CarUserNoOrderFragment.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/M1CarUserNoOrderFragment.kt @@ -5,16 +5,22 @@ 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.kotlin.onClick 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.mogo.logger.scene.SceneConstant.Companion.M_BUS_P +import com.mogo.eagle.core.utilcode.util.AppStateManager import com.mogo.eagle.core.utilcode.util.BarUtils +import com.mogo.eagle.core.utilcode.util.ClickUtils import com.mogo.och.bus.passenger.R import com.mogo.och.bus.passenger.presenter.BusPassengerCarUseAndNoOrderPresenter +import com.mogo.och.bus.passenger.ui.MainFragment import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorManager +import com.mogo.och.common.module.voice.VoiceManager import kotlinx.android.synthetic.main.m1_order_end.* /** @@ -115,6 +121,44 @@ class M1CarUserNoOrderFragment : fragment.arguments = args return fragment } + + + fun showOpenAndCloseDoor( + childFragmentManager: FragmentManager, + parentFragmentManager: FragmentManager, + m1CarUserNoOrderFragment: M1CarUserNoOrderFragment? + ) { + + val fragmentByTag: Fragment? = childFragmentManager.findFragmentByTag(M1ContainFragment.TAG) + if (fragmentByTag is DialogFragment) { + if (fragmentByTag.dialog != null && fragmentByTag.dialog!!.isShowing) { + CallerLogger.d(SceneConstant.M_BUS_P + MainFragment.TAG, "正在展示") + return + } + if (fragmentByTag.dialog != null && fragmentByTag.isAdded) { + if (AppStateManager.currentActivity() == null) { // 没有在当前应用内 在启动页面关闭应用 + CallerLogger.d(SceneConstant.M_BUS_P + MainFragment.TAG, "权限验证") + return + } + } + } + if (m1CarUserNoOrderFragment != null) { + if (m1CarUserNoOrderFragment.dialog != null && m1CarUserNoOrderFragment.dialog!!.isShowing) { + return + } + if (m1CarUserNoOrderFragment.isAdded) { //解决方法就是添加这行代码,如果已经添加了,就移除掉然后再show,就不会出现Fragment already added的错误了。 + parentFragmentManager.beginTransaction().remove(m1CarUserNoOrderFragment) + .commitAllowingStateLoss() + } + if (ClickUtils.isFastClick()) { + m1CarUserNoOrderFragment.show(parentFragmentManager, MainFragment.TAG) + VoiceManager.endOrder() + CallerLogger.d(M_BUS_P + MainFragment.TAG, "展示开关门") + } else { + CallerLogger.d(M_BUS_P + MainFragment.TAG, "dialog 1s内执行一次") + } + } + } } } \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/M1ContainFragment.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/M1ContainFragment.kt index 97e7cf572a..77ba9c2bc9 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/M1ContainFragment.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/M1ContainFragment.kt @@ -12,12 +12,11 @@ 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.eagle.core.utilcode.util.SharedPrefs -import com.mogo.eagle.core.utilcode.util.ToastUtils +import com.mogo.eagle.core.utilcode.util.* import com.mogo.och.bus.passenger.R import com.mogo.och.bus.passenger.bean.event.EventLineSites import com.mogo.och.bus.passenger.presenter.BusPassengerFunctionPresenter +import com.mogo.och.bus.passenger.ui.MainFragment 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 @@ -257,6 +256,45 @@ class M1ContainFragment : fragment.arguments = args return fragment } + + + fun openSettingPage( + childFragmentManager: FragmentManager, + parentFragmentManager: FragmentManager, + bpFunctionGroup: M1ContainFragment?, + tab: String + ) { + val fragmentByTag: Fragment? = childFragmentManager.findFragmentByTag(M1ContainFragment.TAG) + if (fragmentByTag is DialogFragment) { + if (fragmentByTag.dialog != null && fragmentByTag.dialog!!.isShowing) { + CallerLogger.d(M_BUS_P + MainFragment.TAG, "正在展示") + return + } + if (fragmentByTag.dialog != null && fragmentByTag.isAdded) { + if (AppStateManager.currentActivity() == null) { // 没有在当前应用内 在启动页面关闭应用 + CallerLogger.d(M_BUS_P + MainFragment.TAG, "权限验证") + return + } + } + } + bpFunctionGroup?.arguments?.putString(SELECTTAB, tab) + 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, MainFragment.TAG) + CallerLogger.d(M_BUS_P + MainFragment.TAG, "展示$tab") + } else { + CallerLogger.d(M_BUS_P + MainFragment.TAG, "dialog 1s内执行一次") + } + } + } } interface ContainDismiss{ diff --git a/OCH/mogo-och-charter-passenger/src/main/res/drawable/charter_p_debugview_cancle.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/charter_p_debugview_cancle.xml new file mode 100644 index 0000000000..c061ab1fa0 --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/res/drawable/charter_p_debugview_cancle.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_debugview_edit_bg.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/charter_p_debugview_edit_bg.xml new file mode 100644 index 0000000000..204ecfe5e2 --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/res/drawable/charter_p_debugview_edit_bg.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_debugview_submit.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/charter_p_debugview_submit.xml new file mode 100644 index 0000000000..cd71d5703f --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/res/drawable/charter_p_debugview_submit.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_debugview_pass.xml b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_debugview_pass.xml index c0e8644d8d..2f00612482 100644 --- a/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_debugview_pass.xml +++ b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_debugview_pass.xml @@ -27,5 +27,46 @@ android:clickable="true"> + + + + + + + \ 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 3e99713585..4c93542ac6 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 @@ -31,6 +31,8 @@ #090F28 #5F7096 #9AABD2 + #B8C2D7 + #B8C2D8 #D7E5F5 #E0EFFF #662C2D31 diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/ToggleDebugView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/ToggleDebugView.kt index f5dba8b8d7..de3b7964aa 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/ToggleDebugView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/ToggleDebugView.kt @@ -28,6 +28,10 @@ class ToggleDebugView private constructor() : IMoGoAutopilotStatusListener { private var mDebugSettingViewFloat: WarningFloat.Builder? = null private var mDebugSettingView: DebugSettingView? = null + fun isShowIng():Boolean{ + return mDebugSettingViewFloat != null + } + /** * 开关DebugView */ @@ -85,7 +89,7 @@ class ToggleDebugView private constructor() : IMoGoAutopilotStatusListener { } } - private fun dismiss() { + fun dismiss() { mDebugSettingViewFloat?.let { WarningFloat.dismiss(it.config.floatTag, false) mDebugSettingViewFloat = null