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 deleted file mode 100644 index 33842efe9f..0000000000 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionDevicePresenter.kt +++ /dev/null @@ -1,21 +0,0 @@ -package com.mogo.och.bus.passenger.presenter - -import androidx.lifecycle.LifecycleOwner -import com.mogo.och.bus.passenger.ui.dialogfragment.fragment.M1DeviceFragment - -class BusPassengerFunctionDevicePresenter(view: M1DeviceFragment?) : - BusBasePassengerFunctionDevicePresenter(view) { - - companion object { - private const val TAG = "BusPassengerFunctionDevicePresenter" - } - - 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/presenter/OrderInfoPresenter.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/OrderInfoPresenter.kt index c2d823632f..e4de1557cd 100644 --- 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 @@ -1,11 +1,10 @@ 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 +import com.mogo.och.bus.passenger.ui.dialogfragment.fragment.OrderInfoFragment -class OrderInfoPresenter(view: OrderInfoDialogFragment?) : - BusBasePassengerFunctionDevicePresenter(view) { +class OrderInfoPresenter(view: OrderInfoFragment?) : + BusBasePassengerFunctionDevicePresenter(view) { companion object{ private const val TAG = "BusPassengerFunctionPresenter" } 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 d003dc57a6..67f675495e 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 @@ -12,19 +12,15 @@ import com.mogo.commons.mvp.MvpFragment 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.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.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.common.module.voice.VoiceManager import com.mogo.och.bus.passenger.presenter.BusPassengerPresenter 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 @@ -36,7 +32,6 @@ class MainFragment : MvpFragment() { private var bpFunctionGroupDialogFragment: WeakReference? = null - private var orderInfoDialogFragment: WeakReference? = null private var m1CarUserNoOrderFragment: WeakReference? = null val endStation = @@ -66,11 +61,18 @@ class MainFragment : }) - bb_boorombar.setSettingClickListener(object :OnClickListener{ - override fun onClick(v: View?) { - openOrderInfoPage() - } - }) + bb_boorombar.setSettingClickListener{ + openSettingPage(M1ContainFragment.SETTINGSOFTTAB) + } + bb_boorombar.setOrderInfoClickListener{ + openSettingPage(M1ContainFragment.ORDERINFO) + } + bb_boorombar.setLineClickListener{ + openSettingPage(M1ContainFragment.SELECTLINE) + } + aciv_enter_video.setOnClickListener{ + openSettingPage(M1ContainFragment.VIDEOTAB) + } } private fun openSettingPage(tab: String) { @@ -112,45 +114,6 @@ 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/dialogfragment/M1ContainFragment.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/M1ContainFragment.kt index 3464eaf513..45ec64fefd 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 @@ -4,7 +4,6 @@ import android.os.Bundle import android.util.Log import android.view.View import android.view.WindowManager -import android.widget.CompoundButton import androidx.fragment.app.DialogFragment import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentManager @@ -16,11 +15,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 com.mogo.och.bus.passenger.ui.dialogfragment.fragment.OrderInfoFragment +import com.mogo.och.bus.passenger.ui.view.bottom.BottomBar import kotlinx.android.synthetic.main.m1_contain_fragment.* /** @@ -33,9 +32,9 @@ class M1ContainFragment : var tab: String = VIDEOTAB var fragmentTag: String = M1VideoFragment.TAG var fragment: Fragment? = null - var isEarlyClose:Boolean = false override fun onCreate(savedInstanceState: Bundle?) { + CallerLogger.d(M_BUS_P+ TAG, "onCreate") super.onCreate(savedInstanceState) arguments?.let { tab = it.getString(SELECTTAB, VIDEOTAB) @@ -43,44 +42,31 @@ class M1ContainFragment : savedInstanceState?.let { tab = it.getString(SELECTTAB, tab) } - isEarlyClose = tab== SETTINGENDORDERTAB setStyle(STYLE_NO_TITLE, R.style.DialogFullScreen) //dialog全屏 } - private fun initFragment() { + private fun setCheckView() { + CallerLogger.d(M_BUS_P+ TAG, "setCheckView") when (tab) { VIDEOTAB -> { - fragment = - childFragmentManager.findFragmentByTag(M1VideoFragment.TAG) - ?: M1VideoFragment.newInstance() - } - SETTINGDEVICETAB -> { - fragment = - childFragmentManager.findFragmentByTag(M1DeviceFragment.TAG) - ?: M1DeviceFragment.newInstance() + fragment = childFragmentManager.findFragmentByTag(M1VideoFragment.TAG) + ?: M1VideoFragment.newInstance() + bb_bottom_bar.setCheckIndex(BottomBar.SelectView.VIDEO) } SETTINGSOFTTAB -> { - fragment = - childFragmentManager.findFragmentByTag(M1SoftFragment.TAG) - ?: M1SoftFragment.newInstance() + fragment = childFragmentManager.findFragmentByTag(M1SoftFragment.TAG) + ?: M1SoftFragment.newInstance() + bb_bottom_bar.setCheckIndex(BottomBar.SelectView.SETTING) } - SETTINGORDERTAB -> { - fragment = - childFragmentManager.findFragmentByTag(M1OrderLineFragment.TAG) - ?: M1OrderLineFragment.newInstance(object : ChangeCheck { - override fun changeChange() { - cb_bp_setting_device.isChecked = true - } - }) + ORDERINFO -> { + fragment = childFragmentManager.findFragmentByTag(OrderInfoFragment.TAG) + ?: OrderInfoFragment.newInstance() + bb_bottom_bar.setCheckIndex(BottomBar.SelectView.ORDERINFO) } - SETTINGENDORDERTAB -> { - fragment = - childFragmentManager.findFragmentByTag(M1EarlyEndOrderFragment.TAG) - ?: M1EarlyEndOrderFragment.newInstance(object : ContainDismiss { - override fun closeDialog() { - dismissAllowingStateLoss() - } - }) + SELECTLINE ->{ + fragment = childFragmentManager.findFragmentByTag(M1OrderLineFragment.TAG) + ?: M1OrderLineFragment.newInstance() + bb_bottom_bar.setCheckIndex(BottomBar.SelectView.LINE) } else -> {} } @@ -89,9 +75,7 @@ class M1ContainFragment : .replace(R.id.fl_function_group, it, fragmentTag) .commitNow() } - cl_container.setOnClickListener { - dismissAllowingStateLoss() - } + } override fun getLayoutId(): Int = R.layout.m1_contain_fragment @@ -101,11 +85,44 @@ class M1ContainFragment : override fun initViews() { //dialog?.setCancelable(false) + CallerLogger.d(M_BUS_P+ TAG, "initViews") + setCheckView() + cl_container.setOnClickListener { + dismissAllowingStateLoss() + } + bb_bottom_bar.setSettingClickListener{ + CallerLogger.d(M_BUS_P+ TAG, "initViews---$tab") + if(tab==SETTINGSOFTTAB) { + dismissAllowingStateLoss() + }else{ + tab = SETTINGSOFTTAB + setCheckView() + } + } + bb_bottom_bar.setLineClickListener{ + CallerLogger.d(M_BUS_P+ TAG, "initViews---$tab") + if(tab==SELECTLINE) { + dismissAllowingStateLoss() + }else{ + tab = SELECTLINE + setCheckView() + } + } + bb_bottom_bar.setOrderInfoClickListener{ + CallerLogger.d(M_BUS_P+ TAG, "initViews---$tab") + if(tab==ORDERINFO) { + dismissAllowingStateLoss() + }else{ + tab = ORDERINFO + setCheckView() + } + } } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) + CallerLogger.d(M_BUS_P+ TAG, "onViewCreated") dialog?.window?.let { BarUtils.hideStatusBarAndSticky(it) it.addFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE) @@ -116,87 +133,9 @@ class M1ContainFragment : } } - private val videoListener = CompoundButton.OnCheckedChangeListener { _, isChecked -> - CallerLogger.d(M_BUS_P+ TAG, "videoListener$isChecked") - if (isChecked) { - tab = VIDEOTAB - fragmentTag = M1VideoFragment.TAG - cb_bp_setting_soft.isChecked = false - cb_bp_setting_device.isChecked = false - cb_bp_setting_order.isChecked = false - initFragment() - }else{ - if(!cb_bp_video_player.isChecked&& - !cb_bp_setting_soft.isChecked&& - !cb_bp_setting_device.isChecked&& - !cb_bp_setting_order.isChecked){ - dismiss() - } - } - } - - private val settingDevices = CompoundButton.OnCheckedChangeListener { _, isChecked -> - CallerLogger.d(M_BUS_P+ TAG, "settingDevices$isChecked") - if (isChecked) { - tab = SETTINGDEVICETAB - fragmentTag = M1DeviceFragment.TAG - cb_bp_setting_soft.isChecked = false - cb_bp_video_player.isChecked = false - cb_bp_setting_order.isChecked = false - initFragment() - }else{ - if(!cb_bp_video_player.isChecked&& - !cb_bp_setting_soft.isChecked&& - !cb_bp_setting_device.isChecked&& - !cb_bp_setting_order.isChecked){ - dismiss() - } - } - } - - private val settingSoft = CompoundButton.OnCheckedChangeListener { _, isChecked -> - CallerLogger.d(M_BUS_P+ TAG, "settingSoft$isChecked") - if (isChecked) { - tab = SETTINGSOFTTAB - fragmentTag = M1SoftFragment.TAG - cb_bp_video_player.isChecked = false - cb_bp_setting_device.isChecked = false - cb_bp_setting_order.isChecked = false - initFragment() - }else{ - if(!cb_bp_video_player.isChecked&& - !cb_bp_setting_soft.isChecked&& - !cb_bp_setting_device.isChecked&& - !cb_bp_setting_order.isChecked){ - dismiss() - } - } - } - private val settingOrder = CompoundButton.OnCheckedChangeListener { _, isChecked -> - CallerLogger.d(M_BUS_P+ TAG, "settingOrder$isChecked") - if (isChecked) { - if(isEarlyClose){ - tab = SETTINGENDORDERTAB - }else{ - tab = SETTINGORDERTAB - } - fragmentTag = M1OrderLineFragment.TAG - cb_bp_video_player.isChecked = false - cb_bp_setting_device.isChecked = false - cb_bp_setting_soft.isChecked = false - initFragment() - }else{ - if(!cb_bp_video_player.isChecked&& - !cb_bp_setting_soft.isChecked&& - !cb_bp_setting_device.isChecked&& - !cb_bp_setting_order.isChecked){ - dismiss() - } - } - } - override fun onSaveInstanceState(outState: Bundle) { super.onSaveInstanceState(outState) + CallerLogger.d(M_BUS_P+ TAG, "onSaveInstanceState") context?.let { SharedPrefs.getInstance(it).putString(SELECTTAB, tab) } @@ -240,25 +179,13 @@ class M1ContainFragment : override fun onViewStateRestored(savedInstanceState: Bundle?) { 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) - cb_bp_setting_order.setOnCheckedChangeListener(null) - cb_bp_video_player.isChecked = false - cb_bp_setting_soft.isChecked = false - cb_bp_setting_device.isChecked = false - cb_bp_setting_order.isChecked = false - cb_bp_video_player.setOnCheckedChangeListener(videoListener) - cb_bp_setting_soft.setOnCheckedChangeListener(settingSoft) - cb_bp_setting_device.setOnCheckedChangeListener(settingDevices) - cb_bp_setting_order.setOnCheckedChangeListener(settingOrder) - when (tab) { - VIDEOTAB -> cb_bp_video_player.isChecked = true - SETTINGDEVICETAB -> cb_bp_setting_device.isChecked = true - SETTINGSOFTTAB -> cb_bp_setting_soft.isChecked = true - SETTINGORDERTAB -> cb_bp_setting_order.isChecked = true - SETTINGENDORDERTAB -> cb_bp_setting_order.isChecked = true + VIDEOTAB -> { + + } + SETTINGSOFTTAB -> {} + ORDERINFO -> {} + SELECTLINE -> {} else -> {} } super.onViewStateRestored(savedInstanceState) @@ -267,11 +194,27 @@ class M1ContainFragment : companion object { const val TAG = "BusPassengerFunctionFragment" + /** + * 娱乐视频 + */ const val VIDEOTAB = "VideoTab" + + /** + * 空调、暖风、灯和剩余设置 + */ const val SETTINGSOFTTAB = "SettingSoftTab" - const val SETTINGDEVICETAB = "SettingDeviceTab" - const val SETTINGORDERTAB = "SettingOrderTab" - const val SETTINGENDORDERTAB = "SettingEndOrderTab" + + /** + * 订单信息 + */ + const val ORDERINFO = "OrderInfo" + + /** + * 选择线路 + */ + const val SELECTLINE = "SelectLine" + + const val SELECTTAB = "SELECTTAB" 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 deleted file mode 100644 index d1aab2a238..0000000000 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/OrderInfoDialogFragment.kt +++ /dev/null @@ -1,130 +0,0 @@ -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/dialogfragment/fragment/M1OrderLineFragment.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/fragment/M1OrderLineFragment.kt index 2d86c1bcd2..75a3d60a39 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/fragment/M1OrderLineFragment.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/fragment/M1OrderLineFragment.kt @@ -246,11 +246,10 @@ class M1OrderLineFragment : const val TAG = "BusPassengerFunctionOrderFragment" @JvmStatic - fun newInstance(changeCheck: M1ContainFragment.ChangeCheck): M1OrderLineFragment { + fun newInstance(): M1OrderLineFragment { val args = Bundle() 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/dialogfragment/fragment/M1DeviceFragment.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/fragment/OrderInfoFragment.kt similarity index 56% rename from OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/fragment/M1DeviceFragment.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/fragment/OrderInfoFragment.kt index f2414de654..f9e7e4bc6e 100644 --- a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/fragment/M1DeviceFragment.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/fragment/OrderInfoFragment.kt @@ -3,14 +3,14 @@ package com.mogo.och.bus.passenger.ui.dialogfragment.fragment import android.os.Bundle import com.mogo.commons.mvp.MvpFragment import com.mogo.och.bus.passenger.R -import com.mogo.och.bus.passenger.presenter.BusPassengerFunctionDevicePresenter +import com.mogo.och.bus.passenger.presenter.OrderInfoPresenter /** * @author: yangyakun * @date: 2023/1/28 */ -class M1DeviceFragment : - MvpFragment() { +class OrderInfoFragment : + MvpFragment() { override fun getLayoutId(): Int = R.layout.m1_devices_fragment @@ -24,15 +24,15 @@ class M1DeviceFragment : } - override fun createPresenter(): BusPassengerFunctionDevicePresenter = - BusPassengerFunctionDevicePresenter(this) + override fun createPresenter(): OrderInfoPresenter = + OrderInfoPresenter(this) companion object { - const val TAG = "BusPassengerFunctionDeviceFragment" + const val TAG = "OrderInfoFragment" @JvmStatic - fun newInstance(): M1DeviceFragment { + fun newInstance(): OrderInfoFragment { val args = Bundle() - val fragment = M1DeviceFragment() + val fragment = OrderInfoFragment() fragment.arguments = args return fragment } 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 index 44b756d728..dfd83a5fa3 100644 --- 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 @@ -18,12 +18,50 @@ class BottomBar @JvmOverloads constructor( setBackgroundResource(R.drawable.charter_p_bottom_bar_bg) } + private var checkIndex = SelectView.VIDEO + override fun onAttachedToWindow() { super.onAttachedToWindow() } - + fun setOrderInfoClickListener(click:OnClickListener){ + cl_order_time.setOnClickListener(click) + } fun setSettingClickListener(click:OnClickListener){ actv_setting.setOnClickListener(click) } + fun setLineClickListener(click:OnClickListener){ + actv_line.setOnClickListener(click) + } + + fun setCheckIndex(index:SelectView){ + if(checkIndex==index){ + return + } + checkIndex = index + if(checkIndex == SelectView.ORDERINFO){ + cl_order_time_press.visibility = VISIBLE + actv_order_end_time.setTextColor(context.getColor(android.R.color.white)) + actv_order_end_time_title.setTextColor(context.getColor(android.R.color.white)) + }else{ + cl_order_time_press.visibility = GONE + actv_order_end_time.setTextColor(context.getColor(R.color.bus_p_m1_0050E1)) + actv_order_end_time_title.setTextColor(context.getColor(R.color.bus_p_m1_090f28)) + } + if(checkIndex == SelectView.SETTING){ + actv_setting.setCheckItem(true) + }else{ + actv_setting.setCheckItem(false) + } + if(checkIndex == SelectView.LINE){ + actv_line.setCheckItem(true) + }else{ + actv_line.setCheckItem(false) + } + + } + + enum class SelectView{ + ORDERINFO,SETTING,LINE,VIDEO + } } \ 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 index 17a15a3f58..df63c2baab 100644 --- 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 @@ -35,13 +35,15 @@ open class BottomClickView @JvmOverloads constructor( private var backageView: View? = null private var showBackageView = true + private var isCheck = false 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)?:"" + bottomTitle = typedArray.getString(R.styleable.BottomSelectView_bottomTitle) ?: "" + showBackageView = typedArray.getBoolean(R.styleable.BottomSelectView_bottomClick, true) selectedDrawable = typedArray.getResourceId(R.styleable.BottomSelectView_selectedDrawable, -1) normalDrawable = @@ -59,59 +61,60 @@ open class BottomClickView @JvmOverloads constructor( 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) { + if (showBackageView) { + 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)) 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) { + 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)) 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) { + 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)) backageView?.visibility = View.GONE } } + else -> {} } - else -> {} + return false } - return false - } - }) + }) + } } - fun setCheckItem(isCheck:Boolean){ - if(isCheck!=showBackageView){ - showBackageView = isCheck + fun setCheckItem(isCheck: Boolean) { + showBackageView = false + if (isCheck != this.isCheck) { + this.isCheck = isCheck notifiBackageView() } } private fun notifiBackageView() { - if(showBackageView){ + if (isCheck) { backageView?.visibility = View.VISIBLE - }else{ + aciv_center_image.setImageResource(selectedDrawable) + actv_title.setTextColor(context.getColor(android.R.color.white)) + } else { backageView?.visibility = View.GONE + aciv_center_image.setImageResource(normalDrawable) + actv_title.setTextColor(context.getColor(R.color.bus_p_m1_090f28)) } } @@ -124,5 +127,8 @@ open class BottomClickView @JvmOverloads constructor( } } } + if (isCheck) { + backageView?.visibility = View.VISIBLE + } } } \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_video.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_video.png new file mode 100644 index 0000000000..2cd4c46e7f Binary files /dev/null and b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_video.png differ diff --git a/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_contain_fragment.xml b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_contain_fragment.xml index 72b87a24f1..2e1e87ca59 100644 --- a/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_contain_fragment.xml +++ b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_contain_fragment.xml @@ -8,52 +8,19 @@ - - - - - - - + android:layout_width="match_parent" + android:layout_height="@dimen/dp_107"/> \ 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 916be03fc5..b5f707fcbd 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 @@ -6,77 +6,142 @@ android:layout_height="match_parent"> + android:clickable="true" + android:layout_marginBottom="@dimen/dp_140" + android:layout_marginStart="@dimen/dp_26" + android:layout_width="@dimen/dp_327" + android:layout_height="@dimen/dp_270"> - - - - - + android:layout_height="wrap_content"/> - + android:layout_marginTop="@dimen/dp_31" + app:layout_constraintTop_toBottomOf="@+id/actv_order_phone" + android:text="09:00-18:00" + android:textSize="@dimen/dp_36" + android:textColor="@color/bus_p_m1_0050E1" + android:layout_width="wrap_content" + android:layout_height="wrap_content"/> + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_main_fragment.xml b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_main_fragment.xml index c9f9f4f6c0..d1cb6e2f66 100644 --- a/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_main_fragment.xml +++ b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_main_fragment.xml @@ -214,6 +214,14 @@ app:layout_constraintTop_toTopOf="parent" app:layout_constraintEnd_toEndOf="parent"/> + + + + \ No newline at end of file