diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/MogoOCHBusPassenger.java b/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/MogoOCHBusPassenger.java index 3439541985..e056aa6215 100644 --- a/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/MogoOCHBusPassenger.java +++ b/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/MogoOCHBusPassenger.java @@ -45,10 +45,6 @@ public class MogoOCHBusPassenger implements IMogoOCH { this.mActivity = activity; this.mContainerId = containerId; showFragment(); - - if (AppIdentityModeUtils.isJL(FunctionBuildConfig.appIdentityMode)) { - MultiDisplayUtils.INSTANCE.startActWithSecond(activity, VideoPlayerActivity.class); - } return null; } diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/adapter/BusPassengerLineStationsAdapter.java b/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/adapter/BusPassengerLineStationsAdapter.java index 565372b4a9..d092b4fb48 100644 --- a/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/adapter/BusPassengerLineStationsAdapter.java +++ b/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/adapter/BusPassengerLineStationsAdapter.java @@ -1,5 +1,9 @@ package com.mogo.och.bus.passenger.adapter; +import static com.mogo.och.bus.passenger.constant.BusPassengerConst.STATION_STATUS_ARRIVING; +import static com.mogo.och.bus.passenger.constant.BusPassengerConst.STATION_STATUS_LEAVING; +import static com.mogo.och.bus.passenger.constant.BusPassengerConst.STATION_STATUS_STOPPED; + import android.content.Context; import android.text.TextUtils; import android.view.LayoutInflater; @@ -19,10 +23,6 @@ import com.mogo.och.common.module.wigets.MarqueeTextView; import java.util.List; -import static com.mogo.och.bus.passenger.constant.BusPassengerConst.STATION_STATUS_ARRIVING; -import static com.mogo.och.bus.passenger.constant.BusPassengerConst.STATION_STATUS_LEAVING; -import static com.mogo.och.bus.passenger.constant.BusPassengerConst.STATION_STATUS_STOPPED; - /** * @author: wangmingjun * @date: 2022/4/6 @@ -58,7 +58,7 @@ public class BusPassengerLineStationsAdapter extends RecyclerView.Adapter mView.updatePlateNum(plateNumber)); +// runOnUIThread(() -> mView.updatePlateNum(plateNumber)); } @Override @@ -131,7 +132,7 @@ public class BaseBusPassengerPresenter extends Presenter stations,int currentStationIndex,boolean isArrived) { + public void updateStationsInfo(List stations, int currentStationIndex, boolean isArrived) { runOnUIThread(() -> mView.updateStationsInfo(stations,currentStationIndex, isArrived)); } @@ -159,6 +160,6 @@ public class BaseBusPassengerPresenter extends Presenter mView.setProgressBarMax()); +// runOnUIThread(() -> mView.setProgressBarMax()); } } diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPBlueToothView.kt b/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPBlueToothView.kt new file mode 100644 index 0000000000..2254892bfd --- /dev/null +++ b/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPBlueToothView.kt @@ -0,0 +1,37 @@ +package com.mogo.och.bus.passenger.ui + +import android.content.Context +import android.util.AttributeSet +import android.view.LayoutInflater +import com.mogo.eagle.core.function.api.devatools.IMoGoDevaToolsListener +import com.mogo.eagle.core.function.hmi.ui.widget.BlueToothView +import com.mogo.eagle.core.utilcode.util.ThreadUtils +import com.mogo.och.bus.passenger.R +import kotlinx.android.synthetic.jinlvvan.p_bus_view_blue_tooth.view.* + +/** + * 魔戒蓝牙控件 + * 放置于StatusBar右侧位置 + * todo arrow + */ +class BusPBlueToothView @JvmOverloads constructor( + context: Context, + attrs: AttributeSet? = null, + defStyleAttr: Int = 0 +) : BlueToothView(context, attrs, defStyleAttr),IMoGoDevaToolsListener { + + init { + LayoutInflater.from(context).inflate(R.layout.p_bus_view_blue_tooth, this, true) + } + + override fun mofangStatus(status: Boolean) { + ThreadUtils.runOnUiThread { + if (status) { + blueView.setImageResource(R.drawable.bus_p_blue_tooth_close) + } else { + blueView.setImageResource(R.drawable.bus_p_blue_tooth_open) + } + } + } + +} \ No newline at end of file diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPStatusBarView.kt b/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPStatusBarView.kt new file mode 100644 index 0000000000..3cbe38d985 --- /dev/null +++ b/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPStatusBarView.kt @@ -0,0 +1,71 @@ +package com.mogo.och.bus.passenger.ui + +import android.annotation.* +import android.content.Context +import android.graphics.Color +import android.util.AttributeSet +import android.view.LayoutInflater +import android.view.ViewGroup +import androidx.constraintlayout.widget.ConstraintLayout +import chassis.ChassisStatesOuterClass +import com.mogo.eagle.core.function.api.autopilot.IMoGoBatteryManagementSystemListener +import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener +import com.mogo.eagle.core.function.api.setting.IMoGoSkinModeChangeListener +import com.mogo.eagle.core.function.call.autopilot.CallerBatteryManagementSystemListenerManager +import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager +import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager +import com.mogo.eagle.core.function.call.setting.CallerSkinModeListenerManager +import com.mogo.eagle.core.utilcode.kotlin.* +import com.mogo.eagle.core.utilcode.util.ClickUtils +import com.mogo.och.bus.passenger.R +import kotlinx.coroutines.* +import me.jessyan.autosize.utils.AutoSizeUtils + +/** + * @author: wangmingjun + * @date: 2023/2/14 + */ +class BusPStatusBarView @JvmOverloads constructor( + context: Context, attrs: AttributeSet? = null +) : ConstraintLayout(context, attrs), IViewControlListener, IMoGoSkinModeChangeListener{ + + companion object { + const val TAG = "BusPStatusBarView" + } + + init { + LayoutInflater.from(context).inflate(R.layout.p_bus_view_status_bar, this, true) + setBackgroundColor(Color.parseColor("#80FFFFFF")) + isClickable = true + isFocusable = true + } + + + @SuppressLint("ClickableViewAccessibility") + override fun onAttachedToWindow() { + super.onAttachedToWindow() + post { + val params: ViewGroup.LayoutParams = getLayoutParams() + params.height = AutoSizeUtils.dp2px(context,40f) + layoutParams = params + } + //添加view控制 + CallerHmiViewControlListenerManager.addListener(TAG,this) + // 添加换肤监听 + CallerSkinModeListenerManager.addListener(TAG, this) + } + + override fun onSkinModeChange(skinMode: Int) { + when (skinMode) { + 0 -> setStatusBarDarkOrLight(false) + 1 -> setStatusBarDarkOrLight(true) + } + } + + override fun onDetachedFromWindow() { + super.onDetachedFromWindow() + CallerHmiViewControlListenerManager.removeListener(TAG) + CallerSkinModeListenerManager.removeListener(TAG) + CallerDevaToolsManager.hideStatusBar() + } +} \ No newline at end of file diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPassengerBaseFragment.java b/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPassengerBaseFragment.java index fa686d846f..703d4af07e 100644 --- a/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPassengerBaseFragment.java +++ b/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPassengerBaseFragment.java @@ -1,27 +1,17 @@ package com.mogo.och.bus.passenger.ui; import android.os.Bundle; -import android.text.Html; import android.view.LayoutInflater; -import android.view.View; import android.widget.FrameLayout; -import android.widget.ImageView; -import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.core.widget.ContentLoadingProgressBar; +import androidx.appcompat.widget.AppCompatImageView; import com.mogo.commons.mvp.IView; import com.mogo.commons.mvp.MvpFragment; - import com.mogo.commons.mvp.Presenter; -import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener; import com.mogo.eagle.core.function.view.MapBizView; -import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr; -import com.mogo.eagle.core.utilcode.util.UiThreadHandler; import com.mogo.och.bus.passenger.R; -import com.mogo.och.bus.passenger.constant.BusPassengerConst; -import com.mogo.och.common.module.utils.NumberFormatUtil; /** * Created on 2022/3/31 @@ -32,19 +22,9 @@ public abstract class BusPassengerBaseFragment 0){ - if (meters / 1000 < 1){ - disUnit = "米"; - dis = String.valueOf(Math.round(meters)); - }else { - disUnit = "公里"; - dis = NumberFormatUtil.formatLong((double)meters / 1000); - } - } - String strHtml2 = "距离 " + "" + dis + "" + " "+disUnit+"" - + "   剩余 " + "" + (int)Math.ceil((double)timeInSecond/ 60f) + "" + " 分钟"; - mCurrentArriveTip.setText(Html.fromHtml(strHtml2)); - } - - private void updateProgressBar(long meters) { - int haveDriven = new Long(meters).intValue(); - int progressInt = SharedPrefsMgr.getInstance(getContext()) - .getInt(BusPassengerConst.BUS_SP_KEY_ORDER_SUM_DIS,0) - haveDriven; - mProgressBar.setProgress(progressInt); - } - - public void setProgressBarMax(){ - int max = SharedPrefsMgr.getInstance(getContext()) - .getInt(BusPassengerConst.BUS_SP_KEY_ORDER_SUM_DIS,0); - mProgressBar.setMax(max); - } - - public void onAutopilotStatusChanged(int status) { - getActivity().runOnUiThread(() -> { - // 3. 其他过程直接更新 - if (mPrevAPStatus != status){ - AutopilotStatusChanged(status); - } - mPrevAPStatus = status; - }); - } - - public void AutopilotStatusChanged(int status) { - if (IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING == status) { - mAutopilotIv.setImageResource(R.drawable.bus_p_auto_nor); - } else if (IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE == status){ - mAutopilotIv.setImageResource(R.drawable.bus_p_un_auto_nor); - } else { - mAutopilotIv.setImageResource(R.drawable.bus_p_un_auto_nor); - } - - } - - public void showOverviewFragment() { - UiThreadHandler.postDelayed(new Runnable() { - @Override - public void run() { - } - },5000L); - } } diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPassengerMapDirectionView.java b/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPassengerMapDirectionView.java index dcc64d082e..193f6e6ced 100644 --- a/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPassengerMapDirectionView.java +++ b/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPassengerMapDirectionView.java @@ -66,7 +66,7 @@ public class BusPassengerMapDirectionView private List mLineMarkers = new ArrayList<>(); - private IBusPassengerMapViewCallback mIBusPassengerMapViewCallback; +// private IBusPassengerMapViewCallback mIBusPassengerMapViewCallback; private BitmapDescriptor mArrivedRes; private BitmapDescriptor mUnArrivedRes; @@ -87,9 +87,9 @@ public class BusPassengerMapDirectionView } } - public void setTaxiPassengerMapViewCallback(IBusPassengerMapViewCallback iBusPassengerMapViewCallback) { - this.mIBusPassengerMapViewCallback = iBusPassengerMapViewCallback; - } +// public void setTaxiPassengerMapViewCallback(IBusPassengerMapViewCallback iBusPassengerMapViewCallback) { +// this.mIBusPassengerMapViewCallback = iBusPassengerMapViewCallback; +// } private void initView(Context context) { CallerLogger.INSTANCE.d(M_BUS_P + TAG, "initView"); @@ -336,7 +336,7 @@ public class BusPassengerMapDirectionView @Override public void onCameraChange(CameraPosition cameraPosition) { - mIBusPassengerMapViewCallback.onCameraChange(cameraPosition.bearing); +// mIBusPassengerMapViewCallback.onCameraChange(cameraPosition.bearing); } @Override diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPassengerRouteFragment.java b/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPassengerRouteFragment.java index d141f4bef7..a1e6fcb047 100644 --- a/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPassengerRouteFragment.java +++ b/OCH/mogo-och-bus-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPassengerRouteFragment.java @@ -1,33 +1,34 @@ package com.mogo.och.bus.passenger.ui; -import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_BUS_P; - +import android.graphics.drawable.AnimationDrawable; import android.os.Bundle; +import android.text.Html; import android.view.View; -import android.view.animation.Animation; -import android.view.animation.RotateAnimation; -import android.widget.ImageView; import android.widget.TextView; import androidx.annotation.NonNull; +import androidx.appcompat.widget.AppCompatImageView; +import androidx.appcompat.widget.AppCompatTextView; import androidx.constraintlayout.widget.ConstraintLayout; +import androidx.constraintlayout.widget.Group; import androidx.recyclerview.widget.RecyclerView; import com.amap.api.maps.model.LatLng; import com.elegant.utils.UiThreadHandler; import com.mogo.commons.debug.DebugConfig; import com.mogo.eagle.core.data.map.MogoLocation; -import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; +import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener; import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr; import com.mogo.och.bus.passenger.R; import com.mogo.och.bus.passenger.adapter.BusPassengerLineStationsAdapter; import com.mogo.och.bus.passenger.bean.BusPassengerStation; -import com.mogo.och.bus.passenger.callback.IBusPassengerMapViewCallback; import com.mogo.och.bus.passenger.constant.BusPassengerConst; import com.mogo.och.bus.passenger.presenter.BaseBusPassengerPresenter; import com.mogo.och.bus.passenger.ui.layoutmanager.CenterLayoutManager; import com.mogo.och.bus.passenger.utils.BPRouteDataTestUtils; +import com.mogo.och.common.module.utils.NumberFormatUtil; import com.mogo.och.common.module.wigets.MarqueeTextView; +import com.mogo.och.common.module.wigets.OCHGradientTextView; import java.util.ArrayList; import java.util.List; @@ -37,26 +38,35 @@ import java.util.List; * @date: 2022/4/12 */ public class BusPassengerRouteFragment extends - BusPassengerBaseFragment - implements IBusPassengerMapViewCallback { + BusPassengerBaseFragment { public static final String TAG = "BusPassengerRouteFragment"; private final List mStationsList = new ArrayList<>(); - private TextView mSpeedTv; + private OCHGradientTextView mSpeedTv; private ConstraintLayout mNoLineInfoView; - private TextView mCarPlateNum; private MarqueeTextView mLineName; - private TextView mOperationTime; - private ConstraintLayout mRouteInfoView; + private Group mRouteInfoView; private RecyclerView mStationsListRv; private BusPassengerMapDirectionView mMapDirectionView; - private ImageView mMapArrowIcon; - private RotateAnimation rotateAnimation; - private float lastBearing = 0; +// private ImageView mMapArrowIcon; +// private RotateAnimation rotateAnimation; +// private float lastBearing = 0; private BusPassengerLineStationsAdapter mAdapter; private TextView emptyTv; + private AppCompatImageView mAutopilotIv; + private AppCompatTextView mCurrentArriveStation; + private AppCompatTextView mCurrentArriveStationTitle; + private AppCompatTextView mCurrentArriveTip; + private AppCompatImageView mSpeakArrivedIv; + + /** + * 改变自动驾驶状态 + * + * @param status 2 - running 1 - enable 2 - disable + */ + private int mPrevAPStatus = -1; @Override public int getStationPanelViewId() { @@ -74,13 +84,22 @@ public class BusPassengerRouteFragment extends super.initViews(); mSpeedTv = findViewById(R.id.bus_p_speed_tv); + mSpeedTv.setVertrial(true); + mSpeedTv.setmColorList(new int[]{getResources().getColor(R.color.bus_p_speed_color_start), + getResources().getColor(R.color.bus_p_speed_color_end)}); mNoLineInfoView =findViewById(R.id.bus_p_no_order_data_view); emptyTv = findViewById(R.id.no_order_data_tv); - mCarPlateNum = findViewById(R.id.bus_p_driver_num_plate_tv); +// mCarPlateNum = findViewById(R.id.bus_p_driver_num_plate_tv); mLineName = findViewById(R.id.bus_p_line_name_tv); - mOperationTime = findViewById(R.id.line_operation_time_tv); + mAutopilotIv = findViewById(R.id.auto_status_iv); + mCurrentArriveStation = findViewById(R.id.bus_p_cur_station_name); + mCurrentArriveStationTitle = findViewById(R.id.bus_p_cur_station_title); + mCurrentArriveTip = findViewById(R.id.bus_p_cur_station_tip); + mSpeakArrivedIv = findViewById(R.id.speak_arrived_iv); + +// mOperationTime = findViewById(R.id.line_operation_time_tv); mRouteInfoView = findViewById(R.id.bus_p_line_cl); mStationsListRv = findViewById(R.id.bus_p_line_stations_rl); @@ -90,7 +109,14 @@ public class BusPassengerRouteFragment extends mAdapter = new BusPassengerLineStationsAdapter(getContext(), mStationsList); mStationsListRv.setAdapter(mAdapter); - mMapArrowIcon = findViewById(R.id.bus_p_arrow_nor); +// mMapArrowIcon = findViewById(R.id.bus_p_arrow_nor); + + videoSwitch.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + // TODO: 2023/5/4 漫游视频打开/关闭 + } + }); //测试 if (DebugConfig.isDebug()){ @@ -109,7 +135,6 @@ public class BusPassengerRouteFragment extends super.initViews(savedInstanceState); mMapDirectionView = findViewById(R.id.bus_p_line_map_view); mMapDirectionView.onCreateView(savedInstanceState); - mMapDirectionView.setTaxiPassengerMapViewCallback(this); } @Override @@ -193,6 +218,7 @@ public class BusPassengerRouteFragment extends emptyTv.setText(getString(R.string.bus_p_no_out)); mNoLineInfoView.setVisibility(View.VISIBLE); mRouteInfoView.setVisibility(View.GONE); + mLineName.setText(getContext().getString(R.string.bus_p_no_line)); updateArrivedStation(null,0,true); clearMapView(); clearMapMarkers(); @@ -203,6 +229,7 @@ public class BusPassengerRouteFragment extends if (mNoLineInfoView.getVisibility() == View.GONE){ mNoLineInfoView.setVisibility(View.VISIBLE); mRouteInfoView.setVisibility(View.GONE); + mLineName.setText(getContext().getString(R.string.bus_p_no_line)); updateArrivedStation(null,0,true); clearMapView(); clearMapMarkers(); @@ -217,17 +244,17 @@ public class BusPassengerRouteFragment extends } } - public void updatePlateNum(String plateNum){ - if ("".equals(plateNum) || null == plateNum) { - mCarPlateNum.setText("-- --"); - }else { - mCarPlateNum.setText((plateNum)); - } - } +// public void updatePlateNum(String plateNum){ +// if ("".equals(plateNum) || null == plateNum) { +// mCarPlateNum.setText("-- --"); +// }else { +// mCarPlateNum.setText((plateNum)); +// } +// } public void updateLineInfo(String lineName, String lineDurTime) { mLineName.setText(lineName); - mOperationTime.setText(lineDurTime); +// mOperationTime.setText(lineDurTime); } /** @@ -236,7 +263,7 @@ public class BusPassengerRouteFragment extends * @param currentStationIndex * @param isArrived 是否到站并离开,true 到达当前站 currentStationIndex 未离开, false 正在前往此站 currentStationIndex */ - public void updateStationsInfo(List stations, int currentStationIndex,boolean isArrived) { + public void updateStationsInfo(List stations, int currentStationIndex, boolean isArrived) { updateArrivedStation(stations.get(currentStationIndex).getName(),currentStationIndex,isArrived); mStationsList.clear(); mStationsList.addAll(stations); @@ -260,8 +287,6 @@ public class BusPassengerRouteFragment extends private void updateWayPointList(List stations,int currentStationIndex) { List mLineStationsList = new ArrayList<>(); for (int i = 0; i< stations.size(); i++) {//站点集合 -// LatLng latLng = CoordinateCalculateRouteUtil.coordinateConverterWgsToGcj(getContext() -// ,stations.get(i).getLon(),stations.get(i).getLat());// lat,lon LatLng latLng = new LatLng(stations.get(i).getGcjLat(),stations.get(i).getGcjLon());// lat,lon mLineStationsList.add(latLng); } @@ -276,26 +301,26 @@ public class BusPassengerRouteFragment extends } } - @Override - public void onCameraChange(float bearing) { - startIvCompass(bearing); - } +// @Override +// public void onCameraChange(float bearing) { +//// startIvCompass(bearing); +// } - /** - * 设置指南针旋转 - * - * @param bearing - */ - private void startIvCompass(float bearing) { - bearing = 360 - bearing; - CallerLogger.INSTANCE.d(M_BUS_P + TAG, "startIvCompass: " + bearing); - rotateAnimation = new RotateAnimation(lastBearing, bearing, Animation.RELATIVE_TO_SELF - , 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); - rotateAnimation.setFillAfter(true); - - mMapArrowIcon.startAnimation(rotateAnimation); - lastBearing = bearing; - } +// /** +// * 设置指南针旋转 +// * +// * @param bearing +// */ +// private void startIvCompass(float bearing) { +// bearing = 360 - bearing; +// CallerLogger.INSTANCE.d(M_BUS_P + TAG, "startIvCompass: " + bearing); +// rotateAnimation = new RotateAnimation(lastBearing, bearing, Animation.RELATIVE_TO_SELF +// , 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); +// rotateAnimation.setFillAfter(true); +// +// mMapArrowIcon.startAnimation(rotateAnimation); +// lastBearing = bearing; +// } public void onCarLocationChanged(MogoLocation location) { updateSpeedView((float) location.getGnssSpeed()); @@ -311,4 +336,84 @@ public class BusPassengerRouteFragment extends mStationsListRv.smoothScrollToPosition(position); } } + + public void updateArrivedStation(String station,int currentIndex,boolean isArrived){ + if (null == station){ + mCurrentArriveStation.setText("----"); + mCurrentArriveStationTitle.setText(getResources().getString(R.string.bus_p_cur_station_title_init)); + mCurrentArriveTip.setText(getResources().getString(R.string.bus_p_cur_station_arrived_tip)); + mCurrentArriveTip.setBackgroundResource(R.drawable.cur_station_arrived_bg); + handleArrivingSpeakIconDrawable(); + }else { + mCurrentArriveStation.setText(station); + if (currentIndex == 0){ + mCurrentArriveStationTitle.setText(getResources().getString(R.string.bus_p_cur_station_title_init)); + mCurrentArriveTip.setText(getResources().getString(R.string.bus_p_cur_station_arrived_tip_init)); + mCurrentArriveTip.setBackgroundResource(R.drawable.cur_station_arrived_bg); + handleArrivingSpeakIconDrawable(); + return; + } + if (isArrived){ + mCurrentArriveStationTitle.setText(getResources().getString(R.string.bus_p_cur_station_title)); + mCurrentArriveTip.setText(getResources().getString(R.string.bus_p_cur_station_arrived_tip)); + mCurrentArriveTip.setBackgroundResource(R.drawable.cur_station_arrived_bg); + handleArrivedSpeakIconDrawable(); + }else { + mCurrentArriveStationTitle.setText(getResources().getString(R.string.bus_p_cur_next_station_title)); + mCurrentArriveTip.setBackgroundResource(R.drawable.cur_station_un_arrived_bg); + handleArrivingSpeakIconDrawable(); + } + } + + } + + private void handleArrivedSpeakIconDrawable(){ + AnimationDrawable animationDrawable = (AnimationDrawable) mSpeakArrivedIv.getDrawable(); + animationDrawable.start(); + mSpeakArrivedIv.setVisibility(View.VISIBLE); + } + + private void handleArrivingSpeakIconDrawable(){ + AnimationDrawable animationDrawable = (AnimationDrawable) mSpeakArrivedIv.getDrawable(); + animationDrawable.stop(); + mSpeakArrivedIv.setVisibility(View.GONE); + } + + public void updateRoutePlanningToNextStation(long meters, long timeInSecond){ + //更新进度条 + String dis = "0"; + String disUnit = "公里"; + if (meters > 0){ + if (meters / 1000 < 1){ + disUnit = "米"; + dis = String.valueOf(Math.round(meters)); + }else { + disUnit = "公里"; + dis = NumberFormatUtil.formatLong((double)meters / 1000); + } + } + String strHtml2 = "距离 " + "" + dis + "" + " "+disUnit+"" + + "   剩余 " + "" + (int)Math.ceil((double)timeInSecond/ 60f) + "" + " 分钟"; + mCurrentArriveTip.setText(Html.fromHtml(strHtml2)); + } + + public void onAutopilotStatusChanged(int status) { + getActivity().runOnUiThread(() -> { + // 3. 其他过程直接更新 + if (mPrevAPStatus != status){ + AutopilotStatusChanged(status); + } + mPrevAPStatus = status; + }); + } + + public void AutopilotStatusChanged(int status) { + if (IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING == status) { + mAutopilotIv.setImageResource(R.drawable.bus_p_auto_nor); + } else if (IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE == status){ + mAutopilotIv.setImageResource(R.drawable.bus_p_un_auto_nor); + } else { + mAutopilotIv.setImageResource(R.drawable.bus_p_un_auto_nor); + } + } } diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/auto_close.png b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/auto_close.png new file mode 100644 index 0000000000..bed91e16ee Binary files /dev/null and b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/auto_close.png differ diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/auto_open.png b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/auto_open.png new file mode 100644 index 0000000000..8ecc2ca1e9 Binary files /dev/null and b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/auto_open.png differ diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bg_bus_p_end_tag_bg.png b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bg_bus_p_end_tag_bg.png new file mode 100644 index 0000000000..a679341790 Binary files /dev/null and b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bg_bus_p_end_tag_bg.png differ diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bg_bus_p_start_tag_bg.png b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bg_bus_p_start_tag_bg.png new file mode 100644 index 0000000000..c0fcf5d0ea Binary files /dev/null and b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bg_bus_p_start_tag_bg.png differ diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bus_line_logo.png b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bus_line_logo.png new file mode 100644 index 0000000000..60064ae514 Binary files /dev/null and b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bus_line_logo.png differ diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_arrive_line_blue.png b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_arrive_line_blue.png new file mode 100644 index 0000000000..88247c204f Binary files /dev/null and b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_arrive_line_blue.png differ diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_arrive_line_green.png b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_arrive_line_green.png new file mode 100644 index 0000000000..0fd2398cfb Binary files /dev/null and b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_arrive_line_green.png differ diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_blue_tooth_close.png b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_blue_tooth_close.png new file mode 100644 index 0000000000..0c292d2cf3 Binary files /dev/null and b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_blue_tooth_close.png differ diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_blue_tooth_open.png b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_blue_tooth_open.png new file mode 100644 index 0000000000..cccf9e10fa Binary files /dev/null and b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_blue_tooth_open.png differ diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_map_arrow_arrived.png b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_map_arrow_arrived.png index 445906d280..fea5cfd033 100644 Binary files a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_map_arrow_arrived.png and b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_map_arrow_arrived.png differ diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_map_arrow_un_arrive.png b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_map_arrow_un_arrive.png index 99d8bd7b56..254662d297 100644 Binary files a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_map_arrow_un_arrive.png and b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_map_arrow_un_arrive.png differ diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_no_order_data.png b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_no_order_data.png index a1a5aed070..65625ca374 100755 Binary files a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_no_order_data.png and b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_no_order_data.png differ diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_point_blue.png b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_point_blue.png index bc88e93c1d..ef08c49f25 100755 Binary files a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_point_blue.png and b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_point_blue.png differ diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_point_gray.png b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_point_gray.png index ca325eb42e..deec63de9d 100755 Binary files a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_point_gray.png and b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_point_gray.png differ diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_route_bg.png b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_route_bg.png new file mode 100644 index 0000000000..5c4f302cc2 Binary files /dev/null and b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_route_bg.png differ diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_status_bar_logo.png b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_status_bar_logo.png new file mode 100644 index 0000000000..ffaacad3c6 Binary files /dev/null and b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_status_bar_logo.png differ diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/card_split_line_bg.png b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/card_split_line_bg.png new file mode 100644 index 0000000000..2f392c64b6 Binary files /dev/null and b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/card_split_line_bg.png differ diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/cur_station_arrived_bg.png b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/cur_station_arrived_bg.png new file mode 100644 index 0000000000..355af19afc Binary files /dev/null and b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/cur_station_arrived_bg.png differ diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/cur_station_un_arrived_bg.png b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/cur_station_un_arrived_bg.png new file mode 100644 index 0000000000..ea4214cf51 Binary files /dev/null and b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/cur_station_un_arrived_bg.png differ diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/icon_video_close.png b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/icon_video_close.png new file mode 100644 index 0000000000..8cf2c79113 Binary files /dev/null and b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/icon_video_close.png differ diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/icon_video_open.png b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/icon_video_open.png new file mode 100644 index 0000000000..db33b7ae2a Binary files /dev/null and b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/icon_video_open.png differ diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/m2_blue_tooth_open.png b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/m2_blue_tooth_open.png new file mode 100644 index 0000000000..cccf9e10fa Binary files /dev/null and b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/m2_blue_tooth_open.png differ diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/route_line_name_bg.png b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/route_line_name_bg.png new file mode 100644 index 0000000000..a680b6ea18 Binary files /dev/null and b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/route_line_name_bg.png differ diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/speak_arrived_icon_0.png b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/speak_arrived_icon_0.png new file mode 100644 index 0000000000..24a13e704e Binary files /dev/null and b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/speak_arrived_icon_0.png differ diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/speak_arrived_icon_1.png b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/speak_arrived_icon_1.png new file mode 100644 index 0000000000..c15a70a3ee Binary files /dev/null and b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/speak_arrived_icon_1.png differ diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/speak_arrived_icon_2.png b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/speak_arrived_icon_2.png new file mode 100644 index 0000000000..8c1c118673 Binary files /dev/null and b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable-nodpi/speak_arrived_icon_2.png differ diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable/bg_bus_p_end_tag_bg.xml b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable/bg_bus_p_end_tag_bg.xml deleted file mode 100644 index ca8ad81fe2..0000000000 --- a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable/bg_bus_p_end_tag_bg.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable/bg_bus_p_start_tag_bg.xml b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable/bg_bus_p_start_tag_bg.xml deleted file mode 100644 index 7a6d44a4c8..0000000000 --- a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable/bg_bus_p_start_tag_bg.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable/bg_p_speak_icon_arrived.xml b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable/bg_p_speak_icon_arrived.xml new file mode 100644 index 0000000000..a007c6d711 --- /dev/null +++ b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable/bg_p_speak_icon_arrived.xml @@ -0,0 +1,8 @@ + + + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable/bg_status_bar.xml b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable/bg_status_bar.xml new file mode 100644 index 0000000000..36611a9a99 --- /dev/null +++ b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable/bg_status_bar.xml @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable/bus_p_route_bg.xml b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable/bus_p_route_bg.xml deleted file mode 100644 index 94dd7c0007..0000000000 --- a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable/bus_p_route_bg.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable/video_btn_selector.xml b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable/video_btn_selector.xml new file mode 100755 index 0000000000..eaa4ae264e --- /dev/null +++ b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/drawable/video_btn_selector.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/layout/bus_p_base_fragment.xml b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/layout/bus_p_base_fragment.xml index 06f31d335e..b01c1ffe3d 100644 --- a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/layout/bus_p_base_fragment.xml +++ b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/layout/bus_p_base_fragment.xml @@ -6,12 +6,18 @@ + + - - - - - - - - - - - - - - - - - - - - - + app:layout_constraintTop_toTopOf="parent"/> - - + + + \ No newline at end of file diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/layout/bus_p_no_data_common_view.xml b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/layout/bus_p_no_data_common_view.xml index 2eefe569cf..83dad197cf 100644 --- a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/layout/bus_p_no_data_common_view.xml +++ b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/layout/bus_p_no_data_common_view.xml @@ -18,7 +18,7 @@ android:id="@+id/no_order_data_tv" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:textColor="@color/bus_p_no_data_color" + android:textColor="@color/bus_p_speed_txt_color" android:textSize="@dimen/bus_p_no_data_size" android:layout_marginTop="50dp" app:layout_constraintLeft_toLeftOf="parent" diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/layout/bus_p_route_fragment.xml b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/layout/bus_p_route_fragment.xml index 8567a7a783..ce540144cd 100644 --- a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/layout/bus_p_route_fragment.xml +++ b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/layout/bus_p_route_fragment.xml @@ -3,32 +3,62 @@ xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" + android:padding="@dimen/dp_40" android:background="@android:color/transparent"> - - - + + + + + + + + + + + + + + + - + + + + - + android:src="@drawable/auto_close" + app:layout_constraintLeft_toLeftOf="@+id/bus_p_speed_tv" + app:layout_constraintTop_toBottomOf="@+id/bus_p_speed_tv"/> + + app:layout_constraintRight_toRightOf="parent" + app:layout_constraintTop_toTopOf="@+id/bus_p_speed_tv" /> + + + + + + + + + + + + + + + + + + + app:layout_constraintTop_toBottomOf="@+id/split_line_iv" /> - + android:layout_marginTop="@dimen/dp_76" + android:paddingBottom="@dimen/dp_20" + android:paddingLeft="@dimen/dp_30" + android:paddingRight="@dimen/bus_p_route_info_margin_right" + android:requiresFadingEdge="vertical" + app:layout_constraintLeft_toLeftOf="@+id/bus_p_driver_num_plate_tv" + app:layout_constraintTop_toBottomOf="@+id/bus_p_cur_station_name" /> - - + - - - - - - - + - - - + + + + + + + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/layout/bus_p_stations_common_item.xml b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/layout/bus_p_stations_common_item.xml index 33dfb22485..79f3639f39 100644 --- a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/layout/bus_p_stations_common_item.xml +++ b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/layout/bus_p_stations_common_item.xml @@ -46,8 +46,7 @@ android:layout_width="@dimen/dp_12" android:layout_height="@dimen/dp_61" android:scaleType="fitXY" - android:layout_marginLeft="8dp" - android:src="@drawable/bus_p_line_blue" + android:background="@color/acc_default_txt_color" app:layout_constraintLeft_toLeftOf="@+id/bus_p_circle" app:layout_constraintRight_toRightOf="@+id/bus_p_circle" app:layout_constraintTop_toTopOf="parent"/> diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/layout/p_bus_view_blue_tooth.xml b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/layout/p_bus_view_blue_tooth.xml new file mode 100644 index 0000000000..69ae14c394 --- /dev/null +++ b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/layout/p_bus_view_blue_tooth.xml @@ -0,0 +1,15 @@ + + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/layout/p_bus_view_status_bar.xml b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/layout/p_bus_view_status_bar.xml new file mode 100644 index 0000000000..fef63bbd25 --- /dev/null +++ b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/layout/p_bus_view_status_bar.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/values/colors.xml b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/values/colors.xml index 8e63faf83d..f90349cbaf 100644 --- a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/values/colors.xml +++ b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/values/colors.xml @@ -1,10 +1,10 @@ - #2D3E5F + #5D7199 #CCE9EFFC #C7D2E1 #2D3E5F - #0043FF + #203555 #2D3E5F #596A8A #D8E5F8 @@ -27,4 +27,12 @@ #33394C63 #2D3E5F #33394C63 + + #43CEFE + #1466FB + + #17417B + #6617417B + #A9B6CA + #1F82FB \ No newline at end of file diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/values/dimens.xml b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/values/dimens.xml index e738022b0d..5d1346c20b 100644 --- a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/values/dimens.xml +++ b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/values/dimens.xml @@ -1,13 +1,13 @@ - 700dp + 750dp 40dp 40dp - 40dp + 48dp 40dp 110dp 224dp - 510dp + 422dp 3dp 158dp @@ -23,14 +23,14 @@ 224dp 50dp 50dp - 44dp + 34dp 130dp 38dp - 36dp + 38dp - 110dp - 42dp + 90dp + 27dp 4dp 10dp diff --git a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/values/strings.xml b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/values/strings.xml index f921f5e2f3..de49ef21bc 100644 --- a/OCH/mogo-och-bus-passenger/src/jinlvvan/res/values/strings.xml +++ b/OCH/mogo-och-bus-passenger/src/jinlvvan/res/values/strings.xml @@ -1,13 +1,14 @@ - + KM/H 您已收车 暂无班次 + 暂无线路 - 到达站: - 下一站: + 已到站: + 前方到站: 始发站: - 请携带好随身物品下车。 - 欢迎乘坐\'蘑菇车联\'自动驾驶车。 + 请按秩序下车 + 欢迎乘坐蘑菇车联自动驾驶车。 \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/build.gradle b/OCH/mogo-och-charter-passenger/build.gradle index 46037b8ca5..6567d5ad7e 100644 --- a/OCH/mogo-och-charter-passenger/build.gradle +++ b/OCH/mogo-och-charter-passenger/build.gradle @@ -44,14 +44,6 @@ android { } } - flavorDimensions "vehicle" - productFlavors { - // 车型:金旅m1 包车业务 - m1 { - dimension "vehicle" - buildConfigField 'int', 'NEW_TEST', '1' - } - } } dependencies { diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/bean/request/ArriveDestRequest.kt b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/bean/request/ArriveDestRequest.kt deleted file mode 100644 index 4e7b634870..0000000000 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/bean/request/ArriveDestRequest.kt +++ /dev/null @@ -1,3 +0,0 @@ -package com.mogo.och.bus.passenger.bean.request - -data class ArriveDestRequest(val sn:String, val lineId:Long) \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/model/OrderStatusEnum.kt b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/model/OrderStatusEnum.kt deleted file mode 100644 index 38dfbdc426..0000000000 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/model/OrderStatusEnum.kt +++ /dev/null @@ -1,33 +0,0 @@ -package com.mogo.och.bus.passenger.model - -/** - * Created on 2022/08/19 - * - * - * 0 初始状态, - * 10 已登录, - * 20 已登出, - */ -enum class OrderStatusEnum(val code: Int) { - Nothing(0), - NoOrderUnuse( 10 ), //无订单车闲置 m1_order_noorder.xml 无订单页面 - OrderNoLine( 20), //有订单无线路 m1_order_lineside 选择线路页面 - OrdersWithLine( 30), //有订单有线路 m1_order_lineside 选择线路页面隐藏掉确定取消 - NoOrderUse( 40),; //无订单车不闲置 m1_order_end.xml 开门关门页面 - - companion object { - @JvmStatic - fun valueOf(code: Int): OrderStatusEnum? { - for (value in values()) { - if (value.code == code) { - return value - } - } - return NoOrderUnuse - } - } -} - -interface IOrderStatusChangeListener { - fun onStatusChange(currentStatus:OrderStatusEnum) -} \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/presenter/BusPassengerCarUseAndNoOrderPresenter.kt b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/presenter/BusPassengerCarUseAndNoOrderPresenter.kt deleted file mode 100644 index fe2279cf13..0000000000 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/presenter/BusPassengerCarUseAndNoOrderPresenter.kt +++ /dev/null @@ -1,96 +0,0 @@ -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.OCHM1LightAirconditionDoorStatusManager -import io.reactivex.disposables.Disposable - -class BusPassengerCarUseAndNoOrderPresenter(view: M1CarUserNoOrderFragment?) : - BusBasePassengerFunctionDevicePresenter(view), - OCHM1LightAirconditionDoorStatusManager.OCHM1LightAirconditionDoorCallback { - companion object { - private const val TAG = "BusPassengerFunctionPresenter" - } - - private var subscribe: Disposable? = null - private var subscribeDoorStatus: Disposable? = null - private var gnssSpeed = 0.0 - - override fun onCreate(owner: LifecycleOwner) { - super.onCreate(owner) - OCHM1LightAirconditionDoorStatusManager.addListener(TAG, this) - CharterPassengerModel.setControllerStatusCallback(TAG) { location -> - location?.let { - gnssSpeed = it.gnssInfo.vehicleSpeed - } - } - } - - override fun onDestroy(owner: LifecycleOwner) { - super.onDestroy(owner) - OCHM1LightAirconditionDoorStatusManager.removeListener(TAG) - disposeSubscribe(subscribe) - disposeSubscribe(subscribeDoorStatus) - } - - override fun onDoorStatusCallback(isOpen: Boolean, isFirst: Boolean) { - if (!isFirst) { - if (isOpen) { - ToastUtils.showShort("已开启车门") - } else { - ToastUtils.showShort("已关门车门") - } - } - } - - - fun openDoor() { - val canOpenOrCloseDoor = canOpenOrCloseDoor() - if (!canOpenOrCloseDoor.isNullOrEmpty()) { - ToastUtils.showShort(canOpenOrCloseDoor) - return - } - disposeSubscribe(subscribe) - subscribe = createSubscribe(1000) { - CallerAutoPilotControlManager.sendRoboBusJinlvM1FrontDoorCmd(0) - } - CallerAutoPilotControlManager.sendRoboBusJinlvM1FrontDoorCmd(1) - disposeSubscribe(subscribeDoorStatus) - subscribeDoorStatus = createSubscribe { - if (!OCHM1LightAirconditionDoorStatusManager.doorStatus.isOpen) { - ToastUtils.showShort("车门无法开启,请使用车内物理按钮") - } - } - } - - fun closeDoor() { - val canOpenOrCloseDoor = canOpenOrCloseDoor() - if (!canOpenOrCloseDoor.isNullOrBlank()) { - ToastUtils.showShort(canOpenOrCloseDoor) - return - } - disposeSubscribe(subscribe) - subscribe = createSubscribe(1000) { - CallerAutoPilotControlManager.sendRoboBusJinlvM1FrontDoorCmd(0) - } - CallerAutoPilotControlManager.sendRoboBusJinlvM1FrontDoorCmd(2) - disposeSubscribe(subscribeDoorStatus) - subscribeDoorStatus = createSubscribe { - if (OCHM1LightAirconditionDoorStatusManager.doorStatus.isOpen) { - ToastUtils.showShort("车门无法关闭,请使用车内物理按钮") - } - } - } - - private fun canOpenOrCloseDoor(): String? { - if (gnssSpeed < 0.01) { - return null - } else { - return "车辆正在运行、请稍后再试" - } - } - -} \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionDevicePresenter.kt b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionDevicePresenter.kt deleted file mode 100644 index 98ea80709d..0000000000 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionDevicePresenter.kt +++ /dev/null @@ -1,142 +0,0 @@ -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.OCHM1LightAirconditionDoorStatusManager -import io.reactivex.disposables.Disposable - -class BusPassengerFunctionDevicePresenter(view: M1DeviceFragment?) : - BusBasePassengerFunctionDevicePresenter(view), - OCHM1LightAirconditionDoorStatusManager.OCHM1LightAirconditionDoorCallback { - - private var subscribe: Disposable? = null - private var subscribeDoorStatus: Disposable? = null - private var gnssSpeed =0.0 - - companion object { - private const val TAG = "BusPassengerFunctionDevicePresenter" - } - - override fun onCreate(owner: LifecycleOwner) { - super.onCreate(owner) - OCHM1LightAirconditionDoorStatusManager.addListener(TAG, this) - CharterPassengerModel.setControllerStatusCallback(TAG) { location -> - location?.let { - gnssSpeed = it.gnssInfo.vehicleSpeed - } - } - } - - override fun onDestroy(owner: LifecycleOwner) { - super.onDestroy(owner) - OCHM1LightAirconditionDoorStatusManager.removeListener(TAG) - disposeSubscribe(subscribe) - disposeSubscribe(subscribeDoorStatus) - } - - override fun onDoorStatusCallback(isOpen: Boolean,isFirst: Boolean) { - if(!isFirst) { - if (isOpen) { - ToastUtils.showShort("已开启车门") - } else { - ToastUtils.showShort("已关门车门") - } - } - } - - fun openDoor() { - val canOpenOrCloseDoor = canOpenOrCloseDoor() - if(!canOpenOrCloseDoor.isNullOrEmpty()){ - ToastUtils.showShort(canOpenOrCloseDoor) - return - } - disposeSubscribe(subscribe) - subscribe = createSubscribe(1000) { - CallerAutoPilotControlManager.sendRoboBusJinlvM1FrontDoorCmd(0) - } - CallerAutoPilotControlManager.sendRoboBusJinlvM1FrontDoorCmd(1) - disposeSubscribe(subscribeDoorStatus) - subscribeDoorStatus = createSubscribe(6000) { - if (!OCHM1LightAirconditionDoorStatusManager.doorStatus.isOpen) { - ToastUtils.showShort("车门无法开启,请使用车内物理按钮") - } - } - } - - fun closeDoor() { - val canOpenOrCloseDoor = canOpenOrCloseDoor() - if(!canOpenOrCloseDoor.isNullOrBlank()){ - ToastUtils.showShort(canOpenOrCloseDoor) - return - } - disposeSubscribe(subscribe) - subscribe = createSubscribe(1000) { - CallerAutoPilotControlManager.sendRoboBusJinlvM1FrontDoorCmd(0) - } - CallerAutoPilotControlManager.sendRoboBusJinlvM1FrontDoorCmd(2) - disposeSubscribe(subscribeDoorStatus) - subscribeDoorStatus = createSubscribe(6000) { - if (OCHM1LightAirconditionDoorStatusManager.doorStatus.isOpen) { - ToastUtils.showShort("车门无法关闭,请使用车内物理按钮") - } - } - } - - private fun canOpenOrCloseDoor():String?{ - if(gnssSpeed<0.01){ - return null - }else{ - return "车辆正在运行、请稍后再试" - } - } - - // 靠边停车 - fun startStopSide() { - when (CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfo().state) { - IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE -> {// 不可自动驾驶 - ToastUtils.showShort("设备未就绪请稍等,请稍后再试") - } - IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE -> {// - ToastUtils.showShort("因车辆正在人工驾驶中无法靠边停车,请稍后再试") - } - IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING -> { - // 靠边停车 - CallerAutoPilotControlManager.sendPlanningCmd(1) - } - IMoGoAutopilotStatusListener.STATUS_PARALLEL_DRIVING -> { - ToastUtils.showShort("因车辆正在平行驾驶中无法靠边停车,请稍后再试") - } - else -> {} - } - } - - fun startGo() { - when (CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfo().state) { - IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE -> {// 不可自动驾驶 - ToastUtils.showShort("设备未就绪请稍等") - } - IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE -> {// - ToastUtils.showShort("启动自动驾驶中") - CallerAutoPilotControlManager.sendPlanningCmd(2) - CharterPassengerModel.startAutopilot() - CharterPassengerModel.leaveStation() - CharterPassengerModel.sendTripInfo() - } - IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING -> { - // 重新起步 - CallerAutoPilotControlManager.sendPlanningCmd(2) - CharterPassengerModel.leaveStation() - } - IMoGoAutopilotStatusListener.STATUS_PARALLEL_DRIVING -> { - ToastUtils.showShort("因车辆正在平行驾驶中无法靠边停车,请稍后再试") - } - else -> {} - } - } - -} \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionEarlyEndOrderPresenter.kt b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionEarlyEndOrderPresenter.kt deleted file mode 100644 index 9c481095c5..0000000000 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionEarlyEndOrderPresenter.kt +++ /dev/null @@ -1,44 +0,0 @@ -package com.mogo.och.bus.passenger.presenter - -import androidx.lifecycle.LifecycleOwner -import com.mogo.eagle.core.data.BaseData -import com.mogo.eagle.core.utilcode.util.ToastUtils -import com.mogo.eagle.core.utilcode.util.UiThreadHandler -import com.mogo.och.bus.passenger.model.CharterPassengerModel -import com.mogo.och.bus.passenger.model.OrderStatusEnum -import com.mogo.och.bus.passenger.ui.M1EarlyEndOrderFragment -import com.mogo.och.common.module.biz.network.OchCommonServiceCallback - -class BusPassengerFunctionEarlyEndOrderPresenter(view: M1EarlyEndOrderFragment?) : - BusBasePassengerFunctionDevicePresenter(view) { - - override fun onCreate(owner: LifecycleOwner) { - super.onCreate(owner) - } - - override fun onResume(owner: LifecycleOwner) { - super.onResume(owner) - } - - override fun onDestroy(owner: LifecycleOwner) { - super.onDestroy(owner) - - } - - fun endOrder() { - CharterPassengerModel.endOrder(object : OchCommonServiceCallback { - override fun onSuccess(data: BaseData?) { - if (null != data && 0 == data.code) { - ToastUtils.showShort("结束成功") - CharterPassengerModel.setEndOrderStatus() - mView?.closeDialogContaion() - } - } - - override fun onFail(code: Int, msg: String) { - ToastUtils.showShort("$code:$msg") - } - }) - } - -} \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionOrderPresenter.kt b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionOrderPresenter.kt deleted file mode 100644 index cc9cc0739c..0000000000 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionOrderPresenter.kt +++ /dev/null @@ -1,34 +0,0 @@ -package com.mogo.och.bus.passenger.presenter - -import androidx.lifecycle.LifecycleOwner -import com.mogo.och.bus.passenger.model.CharterPassengerModel -import com.mogo.och.bus.passenger.model.IOrderStatusChangeListener -import com.mogo.och.bus.passenger.model.OrderStatusEnum -import com.mogo.och.bus.passenger.ui.M1OrderFragment - -class BusPassengerFunctionOrderPresenter(view: M1OrderFragment?) : - BusBasePassengerFunctionDevicePresenter(view), IOrderStatusChangeListener { - - companion object{ - const val TAG = "BusPassengerFunctionOrderPresenter" - } - - override fun onCreate(owner: LifecycleOwner) { - super.onCreate(owner) - CharterPassengerModel.setStatusChangeListener(TAG,this) - } - - override fun onResume(owner: LifecycleOwner) { - super.onResume(owner) - mView?.setViewByOrderStatus(CharterPassengerModel.getCurrentOrderStatus()) - } - - override fun onDestroy(owner: LifecycleOwner) { - super.onDestroy(owner) - CharterPassengerModel.setStatusChangeListener(TAG,null) - } - override fun onStatusChange(currentStatus: OrderStatusEnum) { - mView?.setViewByOrderStatus(currentStatus) - } - -} \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/M1ContainFragment.kt b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/M1ContainFragment.kt deleted file mode 100644 index 1284e5ac9d..0000000000 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/M1ContainFragment.kt +++ /dev/null @@ -1,288 +0,0 @@ -package com.mogo.och.bus.passenger.ui - -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 -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.och.bus.passenger.R -import com.mogo.och.bus.passenger.presenter.BusPassengerFunctionPresenter -import kotlinx.android.synthetic.m1.m1_contain_fragment.* - -/** - * @author: yangyakun - * @date: 2023/1/28 - */ -class M1ContainFragment : - MvpDialogFragment() { - - var tab: String = VIDEOTAB - var fragmentTag: String = M1VideoFragment.TAG - var fragment: Fragment? = null - var isEarlyClose:Boolean = false - - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - arguments?.let { - tab = it.getString(SELECTTAB, VIDEOTAB) - } - savedInstanceState?.let { - tab = it.getString(SELECTTAB, tab) - } - isEarlyClose = tab==SETTINGENDORDERTAB - setStyle(STYLE_NO_TITLE, R.style.DialogFullScreen) //dialog全屏 - } - - private fun initFragment() { - when (tab) { - VIDEOTAB -> { - fragment = - childFragmentManager.findFragmentByTag(M1VideoFragment.TAG) - ?: M1VideoFragment.newInstance() - } - SETTINGDEVICETAB -> { - fragment = - childFragmentManager.findFragmentByTag(M1DeviceFragment.TAG) - ?: M1DeviceFragment.newInstance() - } - SETTINGSOFTTAB -> { - fragment = - childFragmentManager.findFragmentByTag(M1SoftFragment.TAG) - ?: M1SoftFragment.newInstance() - } - SETTINGORDERTAB -> { - fragment = - childFragmentManager.findFragmentByTag(M1OrderFragment.TAG) - ?: M1OrderFragment.newInstance(object :ChangeCheck{ - override fun changeChange() { - cb_bp_setting_device.isChecked = true - } - }) - } - SETTINGENDORDERTAB -> { - fragment = - childFragmentManager.findFragmentByTag(M1EarlyEndOrderFragment.TAG) - ?: M1EarlyEndOrderFragment.newInstance(object :ContainDismiss{ - override fun closeDialog() { - dismissAllowingStateLoss() - } - }) - } - else -> {} - } - fragment?.let { - childFragmentManager.beginTransaction() - .replace(R.id.fl_function_group, it, fragmentTag) - .commitNow() - } - cl_container.setOnClickListener { - dismissAllowingStateLoss() - } - } - - override fun getLayoutId(): Int = R.layout.m1_contain_fragment - - override fun getTagName(): String = TAG - - override fun initViews() { - - //dialog?.setCancelable(false) - } - - - 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) - } - } - } - - 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 = M1OrderFragment.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) - context?.let { - SharedPrefs.getInstance(it).putString(SELECTTAB, tab) - } - } - - override fun createPresenter(): BusPassengerFunctionPresenter = - BusPassengerFunctionPresenter(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") - 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 - else -> {} - } - super.onViewStateRestored(savedInstanceState) - } - - 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 SELECTTAB = "SELECTTAB" - - @JvmStatic - fun newInstance(): M1ContainFragment { - val args = Bundle() - val fragment = M1ContainFragment() - fragment.arguments = args - return fragment - } - } - - interface ContainDismiss{ - fun closeDialog() - } - interface ChangeCheck{ - fun changeChange() - } -} \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/M1DeviceFragment.kt b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/M1DeviceFragment.kt deleted file mode 100644 index 297a1c14c3..0000000000 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/M1DeviceFragment.kt +++ /dev/null @@ -1,63 +0,0 @@ -package com.mogo.och.bus.passenger.ui - -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.m1.m1_devices_fragment.* - -/** - * @author: yangyakun - * @date: 2023/1/28 - */ -class M1DeviceFragment : - MvpFragment() { - - override fun getLayoutId(): Int = R.layout.m1_devices_fragment - - override fun getTagName(): String = TAG - - override fun initViews() { - initListener() - } - - private fun initListener() { - tv_car_setting_go.setOnClickListener { - //判断自动驾驶状态 - // 自动驾驶状态中: AdasManager.getInstance().sendPlanningCmd(2); - // 没有在自动驾驶中:启动自动驾驶 CallerAutoPilotControlManager.INSTANCE.startAutoPilot(parameters); - mPresenter?.startGo() - SoundPoolHelper.getSoundPoolHelper().playSoundWithRedId(context, R.raw.bus_di) - } - tv_car_setting_stopside.setOnClickListener { - // 执行靠边停车 AdasManager.getInstance().sendPlanningCmd(1); - mPresenter?.startStopSide() - SoundPoolHelper.getSoundPoolHelper().playSoundWithRedId(context, R.raw.bus_di) - } - tv_car_setting_opendoor.onClick { - // 开门 AdasManager.getInstance().sendRoboBusJinlvM1FrontDoorCmd(2); - mPresenter?.openDoor() - SoundPoolHelper.getSoundPoolHelper().playSoundWithRedId(context, R.raw.bus_di) - } - tv_car_setting_closedoor.onClick { - mPresenter?.closeDoor() - SoundPoolHelper.getSoundPoolHelper().playSoundWithRedId(context, R.raw.bus_di) - } - } - - override fun createPresenter(): BusPassengerFunctionDevicePresenter = - BusPassengerFunctionDevicePresenter(this) - - companion object { - const val TAG = "BusPassengerFunctionDeviceFragment" - @JvmStatic - fun newInstance(): M1DeviceFragment { - val args = Bundle() - val fragment = M1DeviceFragment() - fragment.arguments = args - return fragment - } - } -} \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/M1EarlyEndOrderFragment.kt b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/M1EarlyEndOrderFragment.kt deleted file mode 100644 index ff0c1d92e7..0000000000 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/M1EarlyEndOrderFragment.kt +++ /dev/null @@ -1,59 +0,0 @@ -package com.mogo.och.bus.passenger.ui - -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.BusPassengerFunctionEarlyEndOrderPresenter -import kotlinx.android.synthetic.m1.m1_order_early_end.* - -/** - * @author: yangyakun - * @date: 2023/1/28 - */ -class M1EarlyEndOrderFragment : - MvpFragment() { - - private var dismiss: M1ContainFragment.ContainDismiss?=null - - override fun getLayoutId(): Int { - return R.layout.m1_order_early_end - } - - override fun getTagName(): String { - return TAG - } - - override fun initViews() { - tv_early_end_cancle.onClick { - closeDialogContaion() - } - tv_early_end_submit.onClick { - mPresenter?.endOrder() - } - } - - fun closeDialogContaion(){ - this.dismiss?.closeDialog() - } - - override fun createPresenter(): BusPassengerFunctionEarlyEndOrderPresenter { - return BusPassengerFunctionEarlyEndOrderPresenter(this) - } - - - companion object { - const val TAG = "BusPassengerFunctionOrderFragment" - @JvmStatic - fun newInstance(dismiss: M1ContainFragment.ContainDismiss): M1EarlyEndOrderFragment { - val args = Bundle() - val fragment = M1EarlyEndOrderFragment() - fragment.arguments = args - fragment.setContainDismiss(dismiss) - return fragment - } - } - private fun setContainDismiss(dismiss: M1ContainFragment.ContainDismiss) { - this.dismiss = dismiss - } -} \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/M1OrderFragment.kt b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/M1OrderFragment.kt deleted file mode 100644 index 362da620f7..0000000000 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/M1OrderFragment.kt +++ /dev/null @@ -1,72 +0,0 @@ -package com.mogo.och.bus.passenger.ui - -import android.os.Bundle -import android.view.View -import com.mogo.commons.mvp.MvpFragment -import com.mogo.och.bus.passenger.R -import com.mogo.och.bus.passenger.bean.TaxiPassengerVideoPlay -import com.mogo.och.bus.passenger.model.OrderStatusEnum -import com.mogo.och.bus.passenger.presenter.BusPassengerFunctionOrderPresenter -import kotlinx.android.synthetic.m1.m1_order_fragment.* - -/** - * @author: yangyakun - * @date: 2023/1/28 - */ -class M1OrderFragment : - MvpFragment() { - - private var changeCheck: M1ContainFragment.ChangeCheck?=null - - override fun getLayoutId(): Int { - return R.layout.m1_order_fragment - } - - override fun getTagName(): String { - return TAG - } - - override fun initViews() { - lsv_line_site.setchangeCheck(this.changeCheck) - } - - fun setViewByOrderStatus(currentStatus: OrderStatusEnum){ - when (currentStatus) { - OrderStatusEnum.NoOrderUnuse -> { - // 无订单页面 - m1_order_noorder.visibility = View.VISIBLE - m1_order_early_end.visibility = View.GONE - lsv_line_site.visibility = View.GONE - } - OrderStatusEnum.OrderNoLine -> { - // 选择线路页面 - m1_order_noorder.visibility = View.GONE - m1_order_early_end.visibility = View.GONE - lsv_line_site.visibility = View.VISIBLE - } - OrderStatusEnum.OrdersWithLine -> { - // 选择线路页面 - m1_order_noorder.visibility = View.GONE - m1_order_early_end.visibility = View.GONE - lsv_line_site.visibility = View.VISIBLE - } - } - } - - override fun createPresenter(): BusPassengerFunctionOrderPresenter { - return BusPassengerFunctionOrderPresenter(this) - } - - - companion object { - const val TAG = "BusPassengerFunctionOrderFragment" - @JvmStatic - fun newInstance(changeCheck: M1ContainFragment.ChangeCheck): M1OrderFragment { - val args = Bundle() - val fragment = M1OrderFragment() - fragment.arguments = args - fragment.changeCheck = changeCheck - return fragment - } - } -} \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/view/LineSiteView.kt b/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/view/LineSiteView.kt deleted file mode 100644 index f1319e0a7d..0000000000 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/view/LineSiteView.kt +++ /dev/null @@ -1,564 +0,0 @@ -package com.mogo.och.bus.passenger.ui.view - -import android.animation.ObjectAnimator -import android.content.Context -import android.util.AttributeSet -import android.view.LayoutInflater -import android.view.View -import android.view.animation.LinearInterpolator -import androidx.constraintlayout.widget.ConstraintLayout -import androidx.recyclerview.widget.LinearLayoutManager -import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener -import com.mogo.eagle.core.function.api.telematic.IReceivedMsgListener -import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager -import com.mogo.eagle.core.function.call.telematic.CallerTelematicListenerManager -import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager -import com.mogo.eagle.core.utilcode.kotlin.onClick -import com.mogo.eagle.core.utilcode.util.GsonUtils -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.bean.LoopInfo -import com.mogo.och.bus.passenger.bean.response.LineInfoListResponse -import com.mogo.och.bus.passenger.bean.response.LineInfoResponse -import com.mogo.och.bus.passenger.bean.response.SiteInfoResponse -import com.mogo.och.bus.passenger.model.CharterPassengerModel -import com.mogo.och.bus.passenger.net.BusPassengerModelLoopManager -import com.mogo.och.bus.passenger.net.BusPassengerServiceManager -import com.mogo.och.bus.passenger.ui.M1ContainFragment -import com.mogo.och.bus.passenger.ui.adapter.OrderLineItemAdapter -import com.mogo.och.bus.passenger.ui.adapter.OrderSiteItemAdapter -import com.mogo.och.bus.passenger.utils.RxUtils -import com.mogo.och.bus.passenger.view.BottomDecoration -import com.mogo.och.common.module.bean.dpmsg.DPMsgType -import com.mogo.och.common.module.biz.constant.OchCommonConst -import com.mogo.och.common.module.biz.network.OchCommonServiceCallback -import com.mogo.och.common.module.manager.OCHPlanningStopSideStatusManager -import com.mogo.och.common.module.bean.dpmsg.ChangeDestMsg -import io.reactivex.disposables.Disposable -import kotlinx.android.synthetic.m1.m1_order_lineside.view.* -import me.jessyan.autosize.utils.AutoSizeUtils - -class LineSiteView @JvmOverloads constructor( - context: Context, - attrs: AttributeSet? = null, - defStyleAttr: Int = 0 -) : ConstraintLayout(context, attrs, defStyleAttr) { - - companion object { - const val TAG = "LineSiteView" - const val TAGLINELOOP = "LineSiteViewLineLoop" - } - - // 成功提交给后台得线路 - private var checkLine: LineInfoResponse.LineInfo? = null - - // 成功提交给后台得终点站点 - private var checkSite: SiteInfoResponse.SiteInfo? = null - - // 下一个站点 - private var currentSite: SiteInfoResponse.SiteInfo? = null - - // 向司机端端提交的临时线路 - private var tempCheckLine: LineInfoResponse.LineInfo? = null - - // 向司机端临时提交的终点站点 - private var tempCheckSite: SiteInfoResponse.SiteInfo? = null - - private var tempCheckLineIsSubmit = false - private var isChangeIngLineAndSite = false - - - private val lineList = mutableListOf() - private val siteList = mutableListOf() - - private var lineAdapter: OrderLineItemAdapter - private var siteAdapter: OrderSiteItemAdapter - - private var gnssSpeed = 0.0 - - private val loadingAni = - ObjectAnimator.ofFloat(iv_loading_wait_driver, "rotation", 0f, 90f, 180f, 270f, 360f) - .apply { - repeatCount = -1 - interpolator = LinearInterpolator() - duration = 1000 - } - private var changeCheck: M1ContainFragment.ChangeCheck?=null - private var subscribeSelectLine: Disposable? = null - private var subscribeSelectSite: Disposable? = null - - init { - LayoutInflater.from(context).inflate(R.layout.m1_order_lineside, this, true) - lineAdapter = OrderLineItemAdapter(context, lineList) - siteAdapter = OrderSiteItemAdapter(context, siteList) - loadingAni.target = iv_loading_wait_driver - } - - override fun onAttachedToWindow() { - super.onAttachedToWindow() - rlv_line_list.layoutManager = - LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false) - rlv_line_list.addItemDecoration(BottomDecoration(AutoSizeUtils.dp2px(context, 60f))) - rlv_line_list.adapter = lineAdapter - - rv_site_list.layoutManager = - LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false) - rv_site_list.addItemDecoration(BottomDecoration(AutoSizeUtils.dp2px(context, 60f))) - rv_site_list.adapter = siteAdapter - - val hasSetLineAndSite = CharterPassengerModel.hasSetLineAndSite() - if (hasSetLineAndSite != null) {// 已经设置了线路和站点 - checkLine = hasSetLineAndSite.first - checkSite = hasSetLineAndSite.second - lineList.clear() - resetData() - } else { - queryLineList() - setEnableLineStatus(true) - setEnableSiteStatus(false) - onlyChangeSite(false) - setSiteAdapterEnable(false) - setSwitchEnable(false) - isChangeIngLineAndSite = false - } - - initListener() - - } - - /** - * 重置数据 - */ - private fun resetData() { - if(checkLine==null){// 没有提交线路 - queryLineList() - setEnableLineStatus(true) - setEnableSiteStatus(false) - onlyChangeSite(false) - setSiteAdapterEnable(false) - }else{ - checkLine?.let { - setEnableLineStatus(false) - setEnableSiteStatus(false) - onlyChangeSite(false) - setSiteAdapterEnable(true) - isChangeIngLineAndSite = true - lineAdapter.submitLine(it) - checkLine?.let { - querySitesByLineId(it.lineId.toString(),false) - } - } - } - } - - /** - * 设置是否可用进行选择线路 - */ - private fun setEnableLineStatus(enable: Boolean) { - if (enable) { - g_line_submit_group.visibility = View.VISIBLE - lineAdapter.setEnable(true) - } else { - g_line_submit_group.visibility = View.GONE - lineAdapter.setEnable(false) - } - } - - /** - * 设置是否可用选择站点 - */ - private fun setEnableSiteStatus(cancleAndSubmit: Boolean) { - if (cancleAndSubmit) { - g_side_cancle_submit_group.visibility = View.VISIBLE - } else { - g_side_cancle_submit_group.visibility = View.GONE - } - } - - fun onlyChangeSite(submit:Boolean){ - if (submit) { - g_side_submit_group.visibility = View.VISIBLE - } else { - g_side_submit_group.visibility = View.GONE - } - } - - fun setSiteAdapterEnable(enable: Boolean){ - if(enable){ - siteAdapter.setEnable(true) - }else{ - siteAdapter.setEnable(false) - } - } - - private fun initListener() { - lineAdapter.checkChangeListener = object : OrderLineItemAdapter.CheckListener { - override fun onCheckListener(lineInfo: LineInfoResponse.LineInfo) { - tempCheckLine = lineInfo - querySitesByLineId(lineInfo.lineId.toString(),true) - siteAdapter.clearCheck() - } - } - siteAdapter.checkChangeListener = object : OrderSiteItemAdapter.CheckListener { - override fun onCheckListener(siteInfo: SiteInfoResponse.SiteInfo) { - // 设置临时选中的 - tempCheckSite = siteInfo - if(isChangeIngLineAndSite) { - checkSite?.let { - if (it.siteId == siteInfo.siteId) { - onlyChangeSite(false) - } else { - onlyChangeSite(true) - } - } - } - } - - } - tv_line_cancle.onClick { - resetData() - tempCheckLine = null - } - tv_site_cancle.onClick { - resetData() - tempCheckLine = null - tempCheckSite = null - } - tv_line_submit.onClick { - if (tempCheckLine == null) { - ToastUtils.showLong("请选择线路") - return@onClick - } - if (!CallerTelematicManager.getClientConnStatus()) { - ToastUtils.showLong("乘客屏无法连接司机屏请联系安全员") - return@onClick - } - tempCheckLine?.let { - val msg = ChangeDestMsg( - it.lineId!!.toInt(), - it.name!!, - 0, - "", - 0, - "", - false - ) - CallerTelematicManager.sendMsgToServer( - OchCommonConst.BUSINESS_STRING, - GsonUtils.toJson(msg).toByteArray() - ) - startAni() - // 启动查看和司机端链接 - BusPassengerModelLoopManager.setLoopFunction( - TAGLINELOOP, - LoopInfo(3, ::checkServerStatus) - ) - RxUtils.disposeSubscribe(subscribeSelectLine) - subscribeSelectLine= RxUtils.createSubscribe(120_000){ - ToastUtils.showShort("请联系安全员确认") - endAni() - } - } - } - tv_site_submit.onClick { - if (!tempCheckLineIsSubmit) { - ToastUtils.showLong("请选择站点") - return@onClick - } - if (!CallerTelematicManager.getClientConnStatus()) { - ToastUtils.showLong("乘客屏无法连接司机屏请联系安全员") - return@onClick - } - tempCheckSite?.let { lineInfo -> - tempCheckSite?.let { siteInfo -> - val msg = ChangeDestMsg( - lineInfo.lineId!!.toInt(), - lineInfo.lineName!!, - currentSite!!.siteId!!.toInt(), - currentSite!!.siteName!!, - siteInfo.siteId!!.toInt(), - siteInfo.siteName!!, - false - ) - CallerTelematicManager.sendMsgToServer( - OchCommonConst.BUSINESS_STRING, - GsonUtils.toJson(msg).toByteArray() - ) - } - startAni() - // 启动查看和司机端链接 - BusPassengerModelLoopManager.setLoopFunction( - TAGLINELOOP, - LoopInfo(3, ::checkServerStatus) - ) - RxUtils.disposeSubscribe(subscribeSelectSite) - subscribeSelectSite = RxUtils.createSubscribe(120_000){ - ToastUtils.showShort("请联系安全员确认") - endAni() - } - } - } - tv_site_only_submit.onClick { - // 线路不换只换站点 - if (!CallerTelematicManager.getClientConnStatus()) { - ToastUtils.showLong("乘客屏无法连接司机屏请联系安全员") - return@onClick - } - tempCheckSite?.let { siteInfo -> - val msg = ChangeDestMsg( - siteInfo.lineId!!.toInt(), - siteInfo.lineName!!, - currentSite!!.siteId!!.toInt(), - currentSite!!.siteName!!, - siteInfo.siteId!!.toInt(), - siteInfo.siteName!!, - false - ) - CallerTelematicManager.sendMsgToServer( - OchCommonConst.BUSINESS_STRING, - GsonUtils.toJson(msg).toByteArray() - ) - } - startAni() - // 启动查看和司机端链接 - BusPassengerModelLoopManager.setLoopFunction( - TAGLINELOOP, - LoopInfo(3, ::checkServerStatus) - ) - RxUtils.disposeSubscribe(subscribeSelectSite) - subscribeSelectSite = RxUtils.createSubscribe(120_000){ - ToastUtils.showShort("请联系安全员确认") - endAni() - } - } - tv_loading_wait_driver_title.onClick { - endAni() - } - - CallerTelematicListenerManager.addListener(TAG, msgReceived) - CharterPassengerModel.setControllerStatusCallback(TAG) { location -> - location?.let { - gnssSpeed = it.gnssInfo.vehicleSpeed - } - } - tv_switch_line.onClick { - if (gnssSpeed < 0.5) { - // TODO: 自驾中 需要 靠边停车中、到站 - // TODO: 没有自驾中 需要 靠边停车中、到站 - when (CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfo().state) { - IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE -> {// 不可自动驾驶 - // 可以切换路径 - isChangeIngLineAndSite = false - onlyChangeSite(false) - // 可以切换路径 - setEnableLineStatus(true) - setSiteAdapterEnable(false) - queryLineList() - } - IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE -> {// - isChangeIngLineAndSite = false - onlyChangeSite(false) - // 可以切换路径 - setEnableLineStatus(true) - setSiteAdapterEnable(false) - queryLineList() - } - IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING -> { - // 自动驾驶中 - when (OCHPlanningStopSideStatusManager.stopSiteStatus) { - OCHPlanningStopSideStatusManager.Status.EndingSuccess -> { - isChangeIngLineAndSite = false - onlyChangeSite(false) - // 可以切换路径 - setEnableLineStatus(true) - setSiteAdapterEnable(false) - queryLineList() - } - else ->{ - ToastUtils.showShort("自动驾驶中无法切换线路") - } - } - } - IMoGoAutopilotStatusListener.STATUS_PARALLEL_DRIVING -> { - ToastUtils.showShort("因车辆正在平行驾驶中无法切换线路") - } - else -> {} - } - } else { - ToastUtils.showShort("请停车后再修改目的地~") - } - } - } - private fun setSwitchEnable(enable: Boolean){ - tv_switch_line.isEnabled = enable - } - - /** - * 接收司机屏反馈信息 - */ - val msgReceived = object : IReceivedMsgListener { - override fun onReceivedMsg(type: Int, byteArray: ByteArray) { - UiThreadHandler.post { - if (type == OchCommonConst.BUSINESS_STRING) { - val msg = GsonUtils.fromJson( - String(byteArray), - ChangeDestMsg::class.java - ) as ChangeDestMsg - if (msg.type == DPMsgType.TYPE_CHANGE_DEST.type) { - if (msg.destSiteId == 0) { - if (msg.isConfirmed) { - ToastUtils.showShort("线路确定") - setEnableLineStatus(false) - setEnableSiteStatus(true) - onlyChangeSite(false) - setSiteAdapterEnable(true) - setSwitchEnable(false) - tempCheckLineIsSubmit = true - tempCheckLine?.let { - lineAdapter.submitLine(it) - } - } else { - tempCheckLineIsSubmit = false - ToastUtils.showShort("司机端拒绝请重新选择") - } - RxUtils.disposeSubscribe(subscribeSelectLine) - } else { - if (msg.isConfirmed) { - ToastUtils.showShort("站点确定") - setEnableLineStatus(false) - setEnableSiteStatus(true) - onlyChangeSite(false) - setSiteAdapterEnable(true) - setSwitchEnable(true) - checkLine = tempCheckLine - checkSite = tempCheckSite - tempCheckLine = null - tempCheckSite = null - tempCheckLineIsSubmit = false - checkLine?.let { - lineAdapter.submitLine(it) - } - go2StartCar() - CharterPassengerModel.queryOrder() - CharterPassengerModel.cleanbroadcastListInfo() - } else { - tempCheckLineIsSubmit = true - ToastUtils.showShort("司机端拒绝请重新选择") - } - RxUtils.disposeSubscribe(subscribeSelectSite) - } - BusPassengerModelLoopManager.removeLoopFunction(TAGLINELOOP) - endAni() - } - } - } - } - } - - private fun go2StartCar() { - changeCheck?.changeChange() - } - - fun setchangeCheck(changeCheck: M1ContainFragment.ChangeCheck?){ - this.changeCheck = changeCheck - } - - private fun startAni() { - g_lines_sites_data.visibility = View.GONE - g_loading_group.visibility = View.VISIBLE - if (!loadingAni.isRunning) { - loadingAni.start() - } - } - - private fun endAni() { - UiThreadHandler.post { - g_lines_sites_data.visibility = View.VISIBLE - g_loading_group.visibility = View.GONE - } - } - - override fun onDetachedFromWindow() { - super.onDetachedFromWindow() - loadingAni.cancel() - RxUtils.disposeSubscribe(subscribeSelectLine) - RxUtils.disposeSubscribe(subscribeSelectSite) - CallerTelematicListenerManager.removeListener(TAG) - BusPassengerModelLoopManager.removeLoopFunction(TAGLINELOOP) - CharterPassengerModel.setControllerStatusCallback(TAG, null) - - } - - private fun queryLineList() { - BusPassengerServiceManager.queryLineList(context, object : - OchCommonServiceCallback { - override fun onSuccess(data: LineInfoListResponse?) { - if (data?.data == null) return - lineAdapter.setDataList(data.data) - } - - override fun onFail(code: Int, msg: String) { - ToastUtils.showShort("查询线路失败") - } - }) - } - - private fun checkServerStatus() { - if (!CallerTelematicManager.getClientConnStatus()) { - ToastUtils.showShort("断开和司机端连接、请联系安全员") - BusPassengerModelLoopManager.removeLoopFunction(TAGLINELOOP) - endAni() - } - } - - private fun querySitesByLineId(lineId: String,isSelect:Boolean) { - BusPassengerServiceManager.queryLineSiteList( - context, - lineId, - object : OchCommonServiceCallback { - override fun onSuccess(data: SiteInfoResponse?) { - if (data?.data == null) return - siteAdapter.setDataList(data.data) - if (data.data.isNotEmpty()) { - // 计算当前站点是那个 - val calculateCurrentSite = - CharterPassengerModel.calculateCurrentSite(data.data) - val first = calculateCurrentSite.first// 可用站点 - if(first<0){ - // 所有站点不可用 - currentSite = data.data[data.data.size-1] - currentSite!!.isNear = calculateCurrentSite.second - siteAdapter.setEnableIndex(data.data.size-1) - }else{ - // - val index = if(first==0) { - 0 - }else if (first <= data.data.size-1) { - first-1 - } else { - data.data.size - 1 - } - currentSite = data.data[index] - currentSite!!.isNear = calculateCurrentSite.second - siteAdapter.setEnableIndex(index) - } - if(isSelect){ - data.data.last().isCheck = true - tempCheckSite = data.data.last() - }else{ - data.data.forEach { - if (it.siteId == checkSite?.siteId) { - it.isCheck = true - } - } - } - } - } - - override fun onFail(code: Int, msg: String?) { - ToastUtils.showShort("查询站点失败") - } - }) - } -} \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_order_closedoor_normal.png b/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_order_closedoor_normal.png deleted file mode 100644 index 6b4e7a5894..0000000000 Binary files a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_order_closedoor_normal.png and /dev/null differ diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_order_closedoor_press.png b/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_order_closedoor_press.png deleted file mode 100644 index 102f3632af..0000000000 Binary files a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_order_closedoor_press.png and /dev/null differ diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_order_opendoor_normal.png b/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_order_opendoor_normal.png deleted file mode 100644 index 7bdeb9ef5c..0000000000 Binary files a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_order_opendoor_normal.png and /dev/null differ diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/m1_order_end_closedoor_selecotr.xml b/OCH/mogo-och-charter-passenger/src/m1/res/drawable/m1_order_end_closedoor_selecotr.xml deleted file mode 100644 index 188d7b0179..0000000000 --- a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/m1_order_end_closedoor_selecotr.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/m1_order_line_checked_shape.xml b/OCH/mogo-och-charter-passenger/src/m1/res/drawable/m1_order_line_checked_shape.xml deleted file mode 100644 index 138da92fa0..0000000000 --- a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/m1_order_line_checked_shape.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/layout/m1_contain_fragment.xml b/OCH/mogo-och-charter-passenger/src/m1/res/layout/m1_contain_fragment.xml deleted file mode 100644 index 72b87a24f1..0000000000 --- a/OCH/mogo-och-charter-passenger/src/m1/res/layout/m1_contain_fragment.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/layout/m1_devices_fragment.xml b/OCH/mogo-och-charter-passenger/src/m1/res/layout/m1_devices_fragment.xml deleted file mode 100644 index 9712189711..0000000000 --- a/OCH/mogo-och-charter-passenger/src/m1/res/layout/m1_devices_fragment.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/layout/m1_order_fragment.xml b/OCH/mogo-och-charter-passenger/src/m1/res/layout/m1_order_fragment.xml deleted file mode 100644 index 4e300c8f82..0000000000 --- a/OCH/mogo-och-charter-passenger/src/m1/res/layout/m1_order_fragment.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/layout/m1_order_lineside.xml b/OCH/mogo-och-charter-passenger/src/m1/res/layout/m1_order_lineside.xml deleted file mode 100644 index 79dcb8acb4..0000000000 --- a/OCH/mogo-och-charter-passenger/src/m1/res/layout/m1_order_lineside.xml +++ /dev/null @@ -1,238 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/values/attrs.xml b/OCH/mogo-och-charter-passenger/src/m1/res/values/attrs.xml deleted file mode 100644 index 321bbf2246..0000000000 --- a/OCH/mogo-och-charter-passenger/src/m1/res/values/attrs.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/assets/m1_style.data b/OCH/mogo-och-charter-passenger/src/main/assets/m1_style.data similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/assets/m1_style.data rename to OCH/mogo-och-charter-passenger/src/main/assets/m1_style.data diff --git a/OCH/mogo-och-charter-passenger/src/m1/assets/m1_style_extra.data b/OCH/mogo-och-charter-passenger/src/main/assets/m1_style_extra.data similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/assets/m1_style_extra.data rename to OCH/mogo-och-charter-passenger/src/main/assets/m1_style_extra.data diff --git a/OCH/mogo-och-charter-passenger/src/main/assets/map_style.data b/OCH/mogo-och-charter-passenger/src/main/assets/map_style.data deleted file mode 100644 index ab077f9849..0000000000 Binary files a/OCH/mogo-och-charter-passenger/src/main/assets/map_style.data and /dev/null differ diff --git a/OCH/mogo-och-charter-passenger/src/main/assets/map_style_extra.data b/OCH/mogo-och-charter-passenger/src/main/assets/map_style_extra.data deleted file mode 100644 index 01f7f2116e..0000000000 Binary files a/OCH/mogo-och-charter-passenger/src/main/assets/map_style_extra.data and /dev/null differ diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/MogoOCHBusPassenger.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/MogoOCHBusPassenger.kt similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/MogoOCHBusPassenger.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/MogoOCHBusPassenger.kt diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/bean/LoopInfo.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/LoopInfo.kt similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/bean/LoopInfo.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/LoopInfo.kt diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/bean/TaxiPassengerVideoPlay.java b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/TaxiPassengerVideoPlay.java similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/bean/TaxiPassengerVideoPlay.java rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/TaxiPassengerVideoPlay.java diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/bean/Temperature.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/Temperature.kt similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/bean/Temperature.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/Temperature.kt diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/event/DebugView.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/event/DebugView.kt new file mode 100644 index 0000000000..b2a2aa2c15 --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/event/DebugView.kt @@ -0,0 +1,3 @@ +package com.mogo.och.bus.passenger.bean.event + +data class DebugView(val type: String) \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/event/EventLineSites.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/event/EventLineSites.kt new file mode 100644 index 0000000000..e1e1c2654d --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/event/EventLineSites.kt @@ -0,0 +1,6 @@ +package com.mogo.och.bus.passenger.bean.event + +import com.mogo.och.bus.passenger.bean.response.LineInfoResponse +import com.mogo.och.bus.passenger.bean.response.SiteInfoResponse + +data class EventLineSites(val lineInfo: LineInfoResponse.LineInfo, val sites: List) \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/request/ArriveDestRequest.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/request/ArriveDestRequest.kt new file mode 100644 index 0000000000..60f5e971ad --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/request/ArriveDestRequest.kt @@ -0,0 +1,3 @@ +package com.mogo.och.bus.passenger.bean.request + +data class ArriveDestRequest(val sn:String, val lineId:Long,val writeVersion:Long) \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/bean/request/BusPassengerQueryLineRequest.java b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/request/BusPassengerQueryLineRequest.java similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/bean/request/BusPassengerQueryLineRequest.java rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/request/BusPassengerQueryLineRequest.java diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/bean/request/EndOrderRequest.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/request/EndOrderRequest.kt similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/bean/request/EndOrderRequest.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/request/EndOrderRequest.kt diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/bean/response/BusinessStatusResponse.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/response/BusinessStatusResponse.kt similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/bean/response/BusinessStatusResponse.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/response/BusinessStatusResponse.kt diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/bean/response/BusinessTimeResponse.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/response/BusinessTimeResponse.kt similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/bean/response/BusinessTimeResponse.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/response/BusinessTimeResponse.kt diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/bean/response/LineInfoListResponse.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/response/LineInfoListResponse.kt similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/bean/response/LineInfoListResponse.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/response/LineInfoListResponse.kt diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/bean/response/LineInfoResponse.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/response/LineInfoResponse.kt similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/bean/response/LineInfoResponse.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/response/LineInfoResponse.kt diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/bean/response/LocusResponse.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/response/LocusResponse.kt similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/bean/response/LocusResponse.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/response/LocusResponse.kt diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/bean/response/M1DriverLoginStatusResponse.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/response/M1DriverLoginStatusResponse.kt similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/bean/response/M1DriverLoginStatusResponse.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/response/M1DriverLoginStatusResponse.kt diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/bean/response/OrderInfoResponse.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/response/OrderInfoResponse.kt similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/bean/response/OrderInfoResponse.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/response/OrderInfoResponse.kt diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/bean/response/SiteInfoResponse.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/response/SiteInfoResponse.kt similarity index 76% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/bean/response/SiteInfoResponse.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/response/SiteInfoResponse.kt index d7f0ffb488..3ba52d8156 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/bean/response/SiteInfoResponse.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/response/SiteInfoResponse.kt @@ -1,6 +1,7 @@ package com.mogo.och.bus.passenger.bean.response import com.mogo.eagle.core.data.BaseData +import com.mogo.och.common.module.bean.dpmsg.LineSite import java.util.* /** @@ -20,6 +21,10 @@ data class SiteInfoResponse(val data: List?) : BaseData(){ val type: Int?, var isNear:Boolean=false, var isCheck:Boolean=false, - ) + ){ + fun copy2Mas(): LineSite { + return LineSite(lineId,lineName,siteId,siteName,Wgs84Lon,Wgs84Lat,GcjLon,GcjLat,seq,type) + } + } } diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/response/TrajectoriesResponse.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/response/TrajectoriesResponse.kt new file mode 100644 index 0000000000..499ec9d66e --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/bean/response/TrajectoriesResponse.kt @@ -0,0 +1,21 @@ +package com.mogo.och.bus.passenger.bean.response + +import com.amap.api.maps.model.LatLng +import com.mogo.eagle.core.data.BaseData +import com.mogo.och.common.module.bean.dpmsg.LineSite +import java.util.* + +/** + * + */ +data class TrajectoriesResponse(val data: List?) : BaseData(){ + data class LatLng( + val latitude: Double?,//维度 + val longitude: Double?,//精度 + ){ + fun exchangeData(): com.amap.api.maps.model.LatLng{ + return com.amap.api.maps.model.LatLng(latitude!!,longitude!!) + } + } +} + diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/callback/IBusPassengerADASStatusCallback.java b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/callback/IBusPassengerADASStatusCallback.java similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/callback/IBusPassengerADASStatusCallback.java rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/callback/IBusPassengerADASStatusCallback.java diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/callback/IBusPassengerControllerStatusCallback.java b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/callback/IBusPassengerControllerStatusCallback.java similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/callback/IBusPassengerControllerStatusCallback.java rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/callback/IBusPassengerControllerStatusCallback.java diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/callback/IDistanceTimeCallback.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/callback/IDistanceCallback.kt similarity index 56% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/callback/IDistanceTimeCallback.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/callback/IDistanceCallback.kt index 8703a50e20..c0d1a574fb 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/callback/IDistanceTimeCallback.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/callback/IDistanceCallback.kt @@ -1,7 +1,5 @@ package com.mogo.och.bus.passenger.callback -interface IDistanceTimeCallback { +interface IDistanceCallback { fun setDistancecAndTime(meters:Long , timeInSecond:Long ) - - fun setOrderTimeCallBack(timeInSecond:Long) } \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/callback/IOrderChangeCallback.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/callback/IOrderChangeCallback.kt similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/callback/IOrderChangeCallback.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/callback/IOrderChangeCallback.kt diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/callback/ITimeCallback.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/callback/ITimeCallback.kt new file mode 100644 index 0000000000..a7283742a2 --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/callback/ITimeCallback.kt @@ -0,0 +1,5 @@ +package com.mogo.och.bus.passenger.callback + +interface ITimeCallback { + fun setOrderTimeCallBack(timeInSecond: Long) +} \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/model/CharterPassengerModel.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/model/CharterPassengerModel.kt similarity index 82% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/model/CharterPassengerModel.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/model/CharterPassengerModel.kt index 412c5e52ee..5b596e3a96 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/model/CharterPassengerModel.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/model/CharterPassengerModel.kt @@ -3,7 +3,6 @@ package com.mogo.och.bus.passenger.model import android.annotation.SuppressLint import android.content.Context import android.net.ConnectivityManager -import android.os.Build import com.mogo.commons.AbsMogoApplication import com.mogo.commons.module.intent.IMogoIntentListener import com.mogo.commons.module.intent.IntentManager @@ -19,6 +18,7 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationWGS84Liste import com.mogo.eagle.core.function.api.autopilot.IMoGoPlanningRottingListener import com.mogo.eagle.core.function.call.autopilot.* import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager.startAutoPilot +import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager import com.mogo.eagle.core.network.utils.GsonUtil import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant @@ -27,17 +27,16 @@ import com.mogo.eagle.core.utilcode.util.* import com.mogo.och.bus.passenger.R import com.mogo.och.bus.passenger.bean.LoopInfo import com.mogo.och.bus.passenger.bean.response.* -import com.mogo.och.bus.passenger.callback.IBusPassengerADASStatusCallback -import com.mogo.och.bus.passenger.callback.IBusPassengerControllerStatusCallback -import com.mogo.och.bus.passenger.callback.IDistanceTimeCallback -import com.mogo.och.bus.passenger.callback.IOrderChangeCallback +import com.mogo.och.bus.passenger.callback.* import com.mogo.och.bus.passenger.constant.CharterPassengerConst -import com.mogo.och.bus.passenger.constant.CharterPassengerConst.Companion.Charter_AVERAGE_SPEED import com.mogo.och.bus.passenger.net.BusPassengerModelLoopManager import com.mogo.och.bus.passenger.net.BusPassengerServiceManager import com.mogo.och.bus.passenger.utils.VoiceFocusManager +import com.mogo.och.common.module.bean.dpmsg.BaseDPMsg +import com.mogo.och.common.module.bean.dpmsg.ChangeDestMsg import com.mogo.och.common.module.biz.common.socketmessage.OCHSocketMessageManager import com.mogo.och.common.module.biz.constant.LoginStatusManager +import com.mogo.och.common.module.biz.constant.OchCommonConst import com.mogo.och.common.module.biz.constant.TaxiLoginStatusEnum import com.mogo.och.common.module.biz.network.OchCommonServiceCallback import com.mogo.och.common.module.manager.CharterSendTripInfoManager @@ -47,17 +46,15 @@ import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil import com.mogo.och.common.module.utils.DateTimeUtil import com.mogo.och.common.module.utils.PinYinUtil import com.mogo.och.common.module.voice.VoiceManager -import mogo.telematics.pad.MessagePad -import mogo_msg.MogoReportMsg -import system_master.SystemStatusInfo import io.reactivex.Observable import io.reactivex.disposables.Disposable import io.reactivex.schedulers.Schedulers -import java.util.TreeMap +import mogo.telematics.pad.MessagePad +import mogo_msg.MogoReportMsg +import system_master.SystemStatusInfo +import java.util.* import java.util.concurrent.ConcurrentHashMap import java.util.concurrent.TimeUnit -import kotlin.collections.ArrayList -import kotlin.collections.HashMap /** * Created on 2022/3/31 @@ -98,11 +95,12 @@ object CharterPassengerModel { private var orderStatus: OrderStatusEnum = OrderStatusEnum.NoOrderUnuse - private val orderStatusChangeListeners = - ConcurrentHashMap() + private val orderStatusChangeListeners = ConcurrentHashMap() + private val stationDistanceListener = ConcurrentHashMap() + private val orderLeftTimeListeners = ConcurrentHashMap() - private var iDistanceTimeCallback: IDistanceTimeCallback? = null + private var leftTime = -1L /** * 到站是否播报 key 线路id+业务 value 是否播报 @@ -158,10 +156,6 @@ object CharterPassengerModel { mControllerStatusCallbackMap[tag] = callback } - fun setiDistanceTimeCallback(distanceTimeCallback: IDistanceTimeCallback?) { - this.iDistanceTimeCallback = distanceTimeCallback - } - /** * 启动轮询查询司机登录状态 */ @@ -273,6 +267,25 @@ object CharterPassengerModel { } orderStatusChangeListeners[tag] = orderStatusChangeListener } + fun setStationDistanceListener(tag:String,orderStatusChangeListener: IDistanceCallback?) { + if (tag.isBlank()) return + if (orderStatusChangeListener == null) { + stationDistanceListener.remove(tag) + return + } + stationDistanceListener[tag] = orderStatusChangeListener + } + fun setOrderLeftTimeListeners(tag:String,orderStatusChangeListener: ITimeCallback?) { + if (tag.isBlank()) return + if (orderStatusChangeListener == null) { + orderLeftTimeListeners.remove(tag) + return + } + orderLeftTimeListeners[tag] = orderStatusChangeListener + + orderStatusChangeListener.setOrderTimeCallBack(leftTime) + } + fun setCarTypeChangeListener(carTypeChageListener: IOrderChangeCallback?){ this.carTypeChageListener = carTypeChageListener } @@ -280,6 +293,9 @@ object CharterPassengerModel { fun getCurrentOrderStatus(): OrderStatusEnum { return this.orderStatus } + fun getCurrentOrderInfo():OrderInfoResponse.OrderInfo?{ + return orderInfo + } // endregion // region 登录状态逻辑 @@ -533,14 +549,14 @@ object CharterPassengerModel { it.dispose() } } - val leadTime = endlast / 1000+60 + val leadTime = endlast / 1000 subscribeCountDown = - Observable.intervalRange(0L, leadTime, 0, 1, TimeUnit.SECONDS) + Observable.intervalRange(0L, leadTime, 0, 5, TimeUnit.SECONDS) .map { aLong -> leadTime - aLong } .subscribeOn(Schedulers.io()) .observeOn(Schedulers.io()) .subscribe{millisUntilFinished-> - if (millisUntilFinished <= 360L) { + if (millisUntilFinished <= 300L) { orderInfo?.let { val isPlayed = SharedPrefs.getInstance(mContext) .getBoolean("${it.orderNo}$min5Speak", false) @@ -564,14 +580,12 @@ object CharterPassengerModel { it.dispose() } } - iDistanceTimeCallback?.setOrderTimeCallBack(-1) + invokeOrderLeftTimeListeners(-1) + invokeStationDistanceListener(-1,-1) }else{ - iDistanceTimeCallback?.setOrderTimeCallBack(millisUntilFinished) + invokeOrderLeftTimeListeners(millisUntilFinished) } - CallerLogger.d( - M_BUS_P + TAG, - "倒计时${millisUntilFinished}" - ) + CallerLogger.d(M_BUS_P + TAG, "订单倒计时${millisUntilFinished}") } } } @@ -625,95 +639,52 @@ object CharterPassengerModel { private fun calculateDistance() { //mLocation gcj坐标 mLocationGCJ02?.let { - var lastSumLength = 0f orderInfo?.let { order -> // 启动轨迹计算 - //当前站在轨迹中对应的点 - val currentRouteIndex = CoordinateCalculateRouteUtil.getArrivedPointIndexNew( - 0, mRoutePoints, it.longitude, it.latitude - ) - var nextRouteIndex: Int = mRoutePoints.size - 1 - + var lastSumLength = 0f val orderLonLat = CoordinateCalculateRouteUtil.coordinateConverterWgsToGcj( mContext, order.wgs84Lon!!, order.wgs84Lat!! ) - //要前往的站在轨迹中对应的点 - nextRouteIndex = CoordinateCalculateRouteUtil.getArrivedPointIndexNew( - currentRouteIndex, mRoutePoints, + val mogoLocation = MogoLocation() + mogoLocation.longitude = orderLonLat.longitude + mogoLocation.latitude = orderLonLat.latitude + + lastSumLength = CoordinateUtils.calculateLineDistance( orderLonLat.longitude, - orderLonLat.latitude + orderLonLat.latitude, + mogoLocation.longitude, + mogoLocation.latitude ) - // 距离站点最近的轨迹点 - val lastPoints = mRoutePoints.get(nextRouteIndex) - // 站点距离最近点的距离 - val calculateLineDistance = CoordinateUtils.calculateLineDistance( - lastPoints.longitude, lastPoints.latitude, - orderLonLat.longitude, orderLonLat.latitude - ) - if (currentRouteIndex < nextRouteIndex) { - // subList 是[) 需要的是[] - val subList = mRoutePoints.subList(currentRouteIndex, nextRouteIndex + 1) - // 轨迹点所有的距离 - val middlePoingDistancee = - CoordinateCalculateRouteUtil.calculateRouteSumLength(subList) - - // 需要加距离 和下一个轨迹点成钝角 - if (nextRouteIndex + 1 < mRoutePoints.size) { - val lastPointsNext = mRoutePoints.get(nextRouteIndex + 1) - val degree = CoordinateCalculateRouteUtil.getDegree( - orderLonLat.longitude,orderLonLat.latitude, - lastPoints.longitude, lastPoints.latitude, - lastPointsNext.longitude, lastPointsNext.latitude, + if(lastSumLength>100) { + // 计算距离 + lastSumLength = + CoordinateCalculateRouteUtil.calculateRouteSumLength( + mRoutePoints, + it, + mogoLocation ) - if (degree > 90) { - lastSumLength = middlePoingDistancee + calculateLineDistance - } - } - // 需要减距离 和上一个轨迹点成钝角 - if (nextRouteIndex - 1 >= 0) { - val lastPointsPre = mRoutePoints.get(nextRouteIndex - 1) - val degree = CoordinateCalculateRouteUtil.getDegree( - orderLonLat.longitude,orderLonLat.latitude, - lastPoints.longitude, lastPoints.latitude, - lastPointsPre.longitude, lastPointsPre.latitude, - ) - if (degree > 90) { - lastSumLength = middlePoingDistancee - calculateLineDistance - } - } - - } else { - val lastPoints = mRoutePoints.get(nextRouteIndex) - lastSumLength = CoordinateUtils.calculateLineDistance( - lastPoints.longitude, lastPoints.latitude, - it.longitude, it.latitude - ) } - // 距离小于100m 直接计算当前位置距离站点的距离 - if(lastSumLength<=100){ - lastSumLength = CoordinateUtils.calculateLineDistance( - orderLonLat.longitude, - orderLonLat.latitude, - it.longitude, - it.latitude - ) + + val lastTime: Double = lastSumLength / it.gnssSpeed * 3.6 //秒 + + CallerLogger.d(M_BUS_P + "calculateDistance", + "---lastSumLength: " + lastSumLength + "----lastTime : " + lastTime + + " thread = " + Thread.currentThread().name + ) + if (lastSumLength < CharterPassengerConst.ARRIVE_AT_START_STATION_DISTANCE) { + CallerLogger.d(M_BUS_P + TAG,"小于15米到站2") + arriveDest() + return + } + if(order.arriveStatus==OrderInfoResponse.ARRIVING) { + invokeStationDistanceListener(lastSumLength.toLong(), lastTime.toLong()) + }else{ + invokeStationDistanceListener(-1,-1) } } - val lastTime: Double = lastSumLength / Charter_AVERAGE_SPEED * 3.6 //秒 - - CallerLogger.d( - SceneConstant.M_BUS_P + "calculateDistance", - "---lastSumLength: " + lastSumLength + "----lastTime : " + lastTime - + " thread = " + Thread.currentThread().name - ) - if (lastSumLength < CharterPassengerConst.ARRIVE_AT_START_STATION_DISTANCE) { - CallerLogger.d(SceneConstant.M_BUS_P + TAG,"小于15米到站2") - arriveDest() - } - iDistanceTimeCallback?.setDistancecAndTime(lastSumLength.toLong(), lastTime.toLong()) } } // endregion @@ -848,40 +819,71 @@ object CharterPassengerModel { BusPassengerServiceManager.endOrder(mContext, it, callback) } } + fun getLineTrajectory(lineId: Long,callback: OchCommonServiceCallback?) { + BusPassengerServiceManager.queryLineLocation(mContext, lineId = lineId.toString(), callback) + } @Synchronized fun arriveDest() { - orderInfo?.lineId?.let { - orderInfo?.siteId?.let { siteId -> - if (orderInfo!!.arriveStatus == OrderInfoResponse.ARRIVING) { - if (broadcastList.get("${siteId}$endKey") == null || broadcastList.get("${siteId}$endKey") == false) { - BusPassengerServiceManager.arriveDest( - mContext, lindId = it, object : OchCommonServiceCallback { - override fun onSuccess(data: BaseData?) { - if (null != data && 0 == data.code) { - VoiceManager.arrivedStation( - orderInfo!!.siteName!!, - orderInfo!!.siteNameKr ?: "", - VoiceFocusManager.getVoiceCmdCallBack() - ) - broadcastList["${siteId}$endKey"] = true - // 到站结束自驾 - CallerAutoPilotControlManager.cancelAutoPilot() - // 结束路距计算 - endCalculateDistanceLoop() - // 到站置距离位0 - iDistanceTimeCallback?.setOrderTimeCallBack(-1) - } - } + orderInfo?.let { order-> + order.lineId?.let {lineId-> + order.siteId?.let { siteId -> + if (order.arriveStatus == OrderInfoResponse.ARRIVING) { + if (broadcastList["${siteId}$endKey"] == null || broadcastList["${siteId}$endKey"] == false) { + val currentTimeStamp = DateTimeUtil.getCurrentTimeStamp() + BusPassengerServiceManager.arriveDest( + mContext, + lindId = lineId, + writtenVersion = currentTimeStamp, + object : OchCommonServiceCallback { + override fun onSuccess(data: BaseData?) { + if (null != data && 0 == data.code) { + VoiceManager.arrivedStation( + order.siteName!!, + order.siteNameKr ?: "", + VoiceFocusManager.getVoiceCmdCallBack() + ) + broadcastList["${siteId}$endKey"] = true + // 给司机端 - override fun onFail(code: Int, msg: String) { - ToastUtils.showShort("$code:$msg") - } - }) - } + val msg = ChangeDestMsg( + order.orderNo?:":", + lineId.toInt(), + order.lineName?:"", + order.startSiteId?:0, + order.startSiteName?:"", + siteId.toInt(), + order.siteName, + true, + 2, + currentTimeStamp + ) + CallerTelematicManager.sendMsgToServer( + OchCommonConst.BUSINESS_STRING, + GsonUtils.toJson(msg).toByteArray() + ) + CallerLogger.d(M_BUS_P + BaseDPMsg.TAG, "到站发送数据${msg}") + + // 到站结束自驾 + CallerAutoPilotControlManager.cancelAutoPilot() + // 结束路距计算 + endCalculateDistanceLoop() + // 到站置距离位0 + invokeStationDistanceListener(-1,-1) + + } + } + + override fun onFail(code: Int, msg: String) { + ToastUtils.showShort("$code:$msg") + } + }) + } + } } } } + } fun cleanbroadcastListInfo(){ @@ -983,4 +985,22 @@ object CharterPassengerModel { it.lineName!!,it.startSiteName!!,it.siteName!!,false) } } + + private fun invokeOrderLeftTimeListeners(timeInSecond: Long){ + leftTime = timeInSecond + UiThreadHandler.post({ + for (value in orderLeftTimeListeners.values) { + value.setOrderTimeCallBack(timeInSecond) + } + }, UiThreadHandler.MODE.QUEUE) + } + + private fun invokeStationDistanceListener(meters:Long , timeInSecond:Long){ + UiThreadHandler.post({ + for (value in stationDistanceListener.values) { + value.setDistancecAndTime(meters,timeInSecond) + } + }, UiThreadHandler.MODE.QUEUE) + + } } \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/model/OrderStatusEnum.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/model/OrderStatusEnum.kt new file mode 100644 index 0000000000..cda47e3c88 --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/model/OrderStatusEnum.kt @@ -0,0 +1,21 @@ +package com.mogo.och.bus.passenger.model + +/** + * Created on 2022/08/19 + * + * + * 0 初始状态, + * 10 已登录, + * 20 已登出, + */ +enum class OrderStatusEnum() { + Nothing(), + NoOrderUnuse(), //无订单车闲置 m1_order_noorder.xml 无订单页面 + OrderNoLine(), //有订单无线路 m1_order_lineside 选择线路页面 + OrdersWithLine(), //有订单有线路 m1_order_lineside 选择线路页面隐藏掉确定取消 + NoOrderUse(),; //无订单车不闲置 m1_order_end.xml 开门关门页面 +} + +interface IOrderStatusChangeListener { + fun onStatusChange(currentStatus:OrderStatusEnum) +} \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/net/BusPassengerModelLoopManager.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/net/BusPassengerModelLoopManager.kt similarity index 96% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/net/BusPassengerModelLoopManager.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/net/BusPassengerModelLoopManager.kt index 4c1985ad4e..73cf0172f0 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/net/BusPassengerModelLoopManager.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/net/BusPassengerModelLoopManager.kt @@ -4,7 +4,7 @@ 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.och.bus.passenger.bean.LoopInfo import com.mogo.och.bus.passenger.constant.CharterPassengerConst -import com.mogo.och.bus.passenger.utils.RxUtils +import com.mogo.och.common.module.utils.RxUtils import io.reactivex.Observable import io.reactivex.disposables.Disposable import io.reactivex.schedulers.Schedulers @@ -71,6 +71,7 @@ object BusPassengerModelLoopManager { loopInfo.function.invoke() CallerLogger.d(TAG, "${aLong}正在执行方法${tag}") }catch (e:Throwable){ + e.printStackTrace() CallerLogger.e(TAG,"$tag:--$e") } } diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/net/BusPassengerServiceManager.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/net/BusPassengerServiceManager.kt similarity index 89% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/net/BusPassengerServiceManager.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/net/BusPassengerServiceManager.kt index 6561995bb5..b0480f4ab7 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/net/BusPassengerServiceManager.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/net/BusPassengerServiceManager.kt @@ -107,11 +107,11 @@ object BusPassengerServiceManager { .subscribe(OchCommonSubscribeImpl(context, callback, "serviceEnd")) } @JvmStatic - fun arriveDest(context: Context,lindId: Long ,callback: OchCommonServiceCallback?) { + fun arriveDest(context: Context,lindId: Long ,writtenVersion:Long,callback: OchCommonServiceCallback?) { if(beforeNet()){ return } - val request = ArriveDestRequest(draiverSn,lindId) + val request = ArriveDestRequest(draiverSn,lindId,writtenVersion) mBusPassengerServiceApi.arriveDest(request = request).transformTry() .subscribe(OchCommonSubscribeImpl(context, callback, "arriveDest")) } @@ -140,4 +140,13 @@ object BusPassengerServiceManager { mBusPassengerServiceApi.queryBusinessTime().transformTry() .subscribe(OchCommonSubscribeImpl(context, callback, "queryBusinessTime")) } + + @JvmStatic + fun queryLineLocation(context: Context,lineId:String ,callback: OchCommonServiceCallback?) { + if(beforeNet()){ + return + } + mBusPassengerServiceApi.queryLineLocation(lineId = lineId).transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "serviceEnd")) + } } \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/net/PassengerServiceApi.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/net/PassengerServiceApi.kt similarity index 89% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/net/PassengerServiceApi.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/net/PassengerServiceApi.kt index a466dd6349..7139fa8cd8 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/net/PassengerServiceApi.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/net/PassengerServiceApi.kt @@ -107,4 +107,16 @@ internal interface PassengerServiceApi { @Header("ticket") ticket: String=MoGoAiCloudClientConfig.getInstance().token, @Query("sn") sn: String = BusPassengerServiceManager.draiverSn ): Observable + + /** + * 08查询包车业务时间 11 + * 倒计时5分钟 消息盒子、倒计时结束弹窗 + */ + @GET("/och-rental-cabin/api/business/v1/queryLineLocation") + fun queryLineLocation( + @Header("appId") appId: String = MoGoAiCloudClientConfig.getInstance().serviceAppId, + @Header("ticket") ticket: String=MoGoAiCloudClientConfig.getInstance().token, + @Query("sn") sn: String = BusPassengerServiceManager.draiverSn, + @Query("lineId") lineId: String + ): Observable } \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/presenter/BusBasePassengerFunctionDevicePresenter.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusBasePassengerFunctionDevicePresenter.kt similarity index 94% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/presenter/BusBasePassengerFunctionDevicePresenter.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusBasePassengerFunctionDevicePresenter.kt index 88290a678d..1596ef34b0 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/presenter/BusBasePassengerFunctionDevicePresenter.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusBasePassengerFunctionDevicePresenter.kt @@ -4,7 +4,7 @@ import androidx.lifecycle.LifecycleOwner import com.mogo.commons.mvp.IView import com.mogo.commons.mvp.Presenter import com.mogo.och.bus.passenger.model.CharterPassengerModel -import com.mogo.och.bus.passenger.utils.RxUtils +import com.mogo.och.common.module.utils.RxUtils import io.reactivex.disposables.Disposable abstract class BusBasePassengerFunctionDevicePresenter(view: V) : 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 new file mode 100644 index 0000000000..66e05e80b9 --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerCarUseAndNoOrderPresenter.kt @@ -0,0 +1,12 @@ +package com.mogo.och.bus.passenger.presenter + +import com.mogo.och.bus.passenger.ui.dialogfragment.M1CarUserNoOrderFragment + +class BusPassengerCarUseAndNoOrderPresenter(view: M1CarUserNoOrderFragment?) : + BusBasePassengerFunctionDevicePresenter(view){ + companion object { + private const val TAG = "BusPassengerFunctionPresenter" + } + + +} \ No newline at end of file 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 new file mode 100644 index 0000000000..dfd9e84c32 --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionOrderPresenter.kt @@ -0,0 +1,342 @@ +package com.mogo.och.bus.passenger.presenter + +import androidx.lifecycle.LifecycleOwner +import com.elegant.utils.UiThreadHandler +import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener +import com.mogo.eagle.core.function.api.telematic.IReceivedMsgListener +import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager +import com.mogo.eagle.core.function.call.telematic.CallerTelematicListenerManager +import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager +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.GsonUtils +import com.mogo.eagle.core.utilcode.util.ToastUtils +import com.mogo.och.bus.passenger.bean.LoopInfo +import com.mogo.och.bus.passenger.bean.event.EventLineSites +import com.mogo.och.bus.passenger.bean.response.LineInfoListResponse +import com.mogo.och.bus.passenger.bean.response.LineInfoResponse +import com.mogo.och.bus.passenger.bean.response.SiteInfoResponse +import com.mogo.och.bus.passenger.model.CharterPassengerModel +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.dialogfragment.fragment.M1OrderLineFragment +import com.mogo.och.common.module.bean.dpmsg.BaseDPMsg +import com.mogo.och.common.module.bean.dpmsg.ChangeDestMsg +import com.mogo.och.common.module.bean.dpmsg.DPMsgType +import com.mogo.och.common.module.bean.dpmsg.LineSite +import com.mogo.och.common.module.biz.constant.OchCommonConst +import com.mogo.och.common.module.biz.network.OchCommonServiceCallback +import com.mogo.och.common.module.manager.OCHPlanningStopSideStatusManager +import com.mogo.och.common.module.utils.RxUtils +import io.reactivex.disposables.Disposable +import org.greenrobot.eventbus.EventBus + +class BusPassengerFunctionOrderPresenter(view: M1OrderLineFragment?) : + BusBasePassengerFunctionDevicePresenter(view), IOrderStatusChangeListener { + + companion object{ + const val TAGLINELOOP = "LineSiteViewLineLoop" + const val TAG = "BusPassengerFunctionOrderPresenter" + } + + // 成功提交给后台得线路 + private var checkLine: LineInfoResponse.LineInfo? = null + + // 成功提交给后台得终点站点 + private var checkSite: SiteInfoResponse.SiteInfo? = null + + // 下一个站点 + private var currentSite: SiteInfoResponse.SiteInfo? = null + + // 向司机端端提交的临时线路 + private var tempCheckLine: LineInfoResponse.LineInfo? = null + + // 向司机端临时提交的终点站点 + private var tempCheckSite: SiteInfoResponse.SiteInfo? = null + + + private var subscribeSelectLine: Disposable? = null + private var subscribeSelectSite: Disposable? = null + + override fun onCreate(owner: LifecycleOwner) { + super.onCreate(owner) + CharterPassengerModel.setStatusChangeListener(TAG,this) + CallerTelematicListenerManager.addListener(TAG, msgReceived) + + val hasSetLineAndSite = CharterPassengerModel.hasSetLineAndSite() + if (hasSetLineAndSite != null) {// 已经设置了线路和站点 + checkLine = hasSetLineAndSite.first + checkSite = hasSetLineAndSite.second + } + mView?.setEnableSiteStatus(false) + queryLineList() + } + + /** + * 重置数据 + */ + fun resetData() { + tempCheckLine = null + tempCheckSite = null + if(checkLine==null){// 没有提交线路 + queryLineList() + mView?.setEnableSiteStatus(true) + }else{ + checkLine?.let { + mView?.setEnableSiteStatus(false) + mView?.lineAdapterSubmit(it) + querySitesByLineId(it) + } + } + } + + private fun querySitesByLineId(checkLine: LineInfoResponse.LineInfo) { + BusPassengerServiceManager.queryLineSiteList( + context, + checkLine.lineId.toString(), + object : OchCommonServiceCallback { + override fun onSuccess(data: SiteInfoResponse?) { + if (data?.data == null) return + val siteInfos = data.data + EventBus.getDefault().post(EventLineSites(checkLine,data.data)) + if (siteInfos.isNotEmpty()) { + // 计算当前站点是那个 + val calculateCurrentSite = + CharterPassengerModel.calculateCurrentSite(siteInfos) + val first = calculateCurrentSite.first// 可用站点 + if(first<0){ + // 所有站点不可用 + currentSite = siteInfos[siteInfos.size-1] + currentSite!!.isNear = calculateCurrentSite.second + mView?.siteAdapterEnableIndex(siteInfos.size-1) + }else{ + // + val index = if(first==0) { + 0 + }else if (first <= siteInfos.size-1) { + first-1 + } else { + siteInfos.size - 1 + } + currentSite = siteInfos[index] + currentSite!!.isNear = calculateCurrentSite.second + mView?.siteAdapterEnableIndex(index) + } + siteInfos.forEach { + if (it.siteId == checkSite?.siteId) { + it.isCheck = true + return@forEach + } + } + } + mView?.siteAdapterSetData(siteInfos) + } + + override fun onFail(code: Int, msg: String?) { + ToastUtils.showShort("查询站点失败") + } + }) + } + + private fun queryLineList() { + BusPassengerServiceManager.queryLineList(context, object : + OchCommonServiceCallback { + override fun onSuccess(data: LineInfoListResponse?) { + if (data?.data == null) return + mView?.lineAdapterSetData(data.data,checkLine) + } + + override fun onFail(code: Int, msg: String) { + ToastUtils.showShort("查询线路失败") + } + }) + } + + override fun onResume(owner: LifecycleOwner) { + super.onResume(owner) + mView?.setViewByOrderStatus(CharterPassengerModel.getCurrentOrderStatus()) + } + + override fun onDestroy(owner: LifecycleOwner) { + super.onDestroy(owner) + CallerLogger.d(SceneConstant.M_BUS_P + TAG, "onDestroy") + RxUtils.disposeSubscribe(subscribeSelectLine) + RxUtils.disposeSubscribe(subscribeSelectSite) + BusPassengerModelLoopManager.removeLoopFunction(TAGLINELOOP) + CharterPassengerModel.setStatusChangeListener(TAG,null) + CallerTelematicListenerManager.removeListener(TAG) + } + + /** + * 接收司机屏反馈信息 + */ + val msgReceived = object : IReceivedMsgListener { + override fun onReceivedMsg(type: Int, byteArray: ByteArray) { + UiThreadHandler.post { + if (type == OchCommonConst.BUSINESS_STRING) { + val msg = GsonUtils.fromJson( + String(byteArray), + ChangeDestMsg::class.java + ) as ChangeDestMsg + CallerLogger.d(M_BUS_P + BaseDPMsg.TAG, "接受数据:切换站点${msg}") + if (msg.type == DPMsgType.TYPE_CHANGE_DEST.type) { + if (msg.isConfirmed) { + ToastUtils.showShort("站点确定") + mView?.setEnableSiteStatus(true) + checkLine = tempCheckLine + checkSite = tempCheckSite + tempCheckLine = null + tempCheckSite = null + checkLine?.let { + mView?.lineAdapterSubmit(it) + } + mView?.go2StartCar() + CharterPassengerModel.queryOrder() + CharterPassengerModel.cleanbroadcastListInfo() + } else { + ToastUtils.showShort("司机端拒绝请重新选择") + mView?.endAni() + } + RxUtils.disposeSubscribe(subscribeSelectSite) + BusPassengerModelLoopManager.removeLoopFunction(TAGLINELOOP) + } + } + } + } + } + + fun changeSites(siteList: MutableList){ + if (!CallerTelematicManager.getClientConnStatus()) { + ToastUtils.showLong("乘客屏无法连接司机屏请联系安全员") + return + } + val sentDataSite: MutableList = mutableListOf() + siteList.forEach { + sentDataSite.add(it.copy2Mas()) + } + + tempCheckSite?.let { siteInfo -> + val orderNo = CharterPassengerModel.getCurrentOrderInfo()?.orderNo ?: "" + val msg = ChangeDestMsg( + orderNo, + siteInfo.lineId!!.toInt(), + siteInfo.lineName!!, + currentSite!!.siteId!!.toInt(), + currentSite!!.siteName!!, + siteInfo.siteId!!.toInt(), + siteInfo.siteName!!, + false, + 1, + 0, + sentDataSite + ) + CallerTelematicManager.sendMsgToServer( + OchCommonConst.BUSINESS_STRING, + GsonUtils.toJson(msg).toByteArray() + ) + CallerLogger.d(M_BUS_P + BaseDPMsg.TAG, "发送数据:切换站点${msg}") + } + mView?.startAni() + // 启动查看和司机端链接 + BusPassengerModelLoopManager.setLoopFunction( + TAGLINELOOP, + LoopInfo(3, ::checkServerStatus) + ) + + RxUtils.disposeSubscribe(subscribeSelectSite) + subscribeSelectSite = RxUtils.createSubscribe(120_000){ + ToastUtils.showShort("请联系安全员确认") + mView?.endAni() + } + } + private fun checkServerStatus() { + if (!CallerTelematicManager.getClientConnStatus()) { + ToastUtils.showShort("断开和司机端连接、请联系安全员") + BusPassengerModelLoopManager.removeLoopFunction(TAGLINELOOP) + mView?.endAni() + CallerLogger.d(SceneConstant.M_BUS_P + TAG, "endAni666") + } + } + + override fun onStatusChange(currentStatus: OrderStatusEnum) { + mView?.setViewByOrderStatus(currentStatus) + } + + fun canSwitchLine():Boolean { + return true + val gnssSpeed = + CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02().gnssSpeed + if (gnssSpeed < 0.5) { + // TODO: 自驾中 需要 靠边停车中、到站 + // TODO: 没有自驾中 需要 靠边停车中、到站 + when (CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfo().state) { + IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE -> {// 不可自动驾驶 + return true + } + IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE -> {// + return true + } + IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING -> { + // 自动驾驶中 + when (OCHPlanningStopSideStatusManager.stopSiteStatus) { + OCHPlanningStopSideStatusManager.Status.EndingSuccess -> { + return true + } + else ->{ + ToastUtils.showShort("自动驾驶中无法切换线路") + return false + } + } + } + IMoGoAutopilotStatusListener.STATUS_PARALLEL_DRIVING -> { + ToastUtils.showShort("因车辆正在平行驾驶中无法切换线路") + return false + } + else -> {} + } + } else { + ToastUtils.showShort("请停车后再修改目的地~") + return false + } + return true + } + + fun checkLineClick(lineInfo: LineInfoResponse.LineInfo) { + checkLine4View() + tempCheckLine = lineInfo + querySitesByLineId(lineInfo) + } + + private fun checkLine4View(){ + tempCheckSite = null + mView?.setEnableSiteStatus(false) + } + + fun checkSiteClick(siteInfo: SiteInfoResponse.SiteInfo?) { + tempCheckSite = siteInfo + if(checkSite!=null){ + checkSite?.let { + if (it.siteId == siteInfo?.siteId) {// 站点相同 隐藏所有提交按钮 + mView?.setEnableSiteStatus(false) + } else { + if(it.lineId == siteInfo?.lineId){// 线路相同显示单独提交 + mView?.setEnableSiteStatus(true) + }else{ + if(siteInfo==null){//没有选站点隐藏所有提交 + mView?.setEnableSiteStatus(false) + }else { + mView?.setEnableSiteStatus(true) + } + } + } + } + }else{ + mView?.setEnableSiteStatus(true) + } + } + +} \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/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 similarity index 57% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionPresenter.kt rename to 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/m1/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/m1/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 similarity index 75% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionSoftPresenter.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionSoftPresenter.kt index c5f1600d00..f04d7e5362 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/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,13 +6,17 @@ 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.common.module.manager.OCHM1LightAirconditionDoorStatusManager +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 +import com.mogo.och.common.module.manager.devicemanage.data.HeaterStatue +import com.mogo.och.common.module.manager.devicemanage.data.LightStatus import io.reactivex.disposables.Disposable class BusPassengerFunctionSoftPresenter(view: M1SoftFragment?) : BusBasePassengerFunctionDevicePresenter(view), - OCHM1LightAirconditionDoorStatusManager.OCHM1LightAirconditionDoorCallback { + LightAirconditionDoorCallback { companion object { private const val TAG = "BusPassengerFunctionSoftPresenter" } @@ -26,23 +30,23 @@ class BusPassengerFunctionSoftPresenter(view: M1SoftFragment?) : override fun onCreate(owner: LifecycleOwner) { super.onCreate(owner) - OCHM1LightAirconditionDoorStatusManager.addListener(TAG, this) + LightAirconditionDoorStatusManager.addListener(TAG, this) } override fun onDestroy(owner: LifecycleOwner) { super.onDestroy(owner) - OCHM1LightAirconditionDoorStatusManager.removeListener(TAG) + LightAirconditionDoorStatusManager.removeListener(TAG) } /** * 空调状态变化 */ - override fun onAirconditionStatusCallback(heaterIsOpen: Boolean,airconditionStatus: OCHM1LightAirconditionDoorStatusManager.AirconditionStatus,isFirst: Boolean) { + override fun onAirconditionStatusCallback(heaterIsOpen: Boolean, airconditionStatus: AirconditionStatus, isFirst: Boolean) { CallerLogger.d(SceneConstant.M_BUS_P + TAG, - "回写--空调开关:${OCHM1LightAirconditionDoorStatusManager.airconditionStatus.isOpen}、" + - "空调温度:${OCHM1LightAirconditionDoorStatusManager.airconditionStatus.temperature}" + - "空调模式:${OCHM1LightAirconditionDoorStatusManager.airconditionStatus.pattert}" + - "空调风速:${OCHM1LightAirconditionDoorStatusManager.airconditionStatus.windSpeed}") + "回写--空调开关:${LightAirconditionDoorStatusManager.airconditionStatus.isOpen}、" + + "空调温度:${LightAirconditionDoorStatusManager.airconditionStatus.temperature}" + + "空调模式:${LightAirconditionDoorStatusManager.airconditionStatus.pattert}" + + "空调风速:${LightAirconditionDoorStatusManager.airconditionStatus.windSpeed}") UiThreadHandler.post { if(airconditionStatus.isOpen){ mView?.setAirconditionHeaterView( @@ -66,7 +70,7 @@ class BusPassengerFunctionSoftPresenter(view: M1SoftFragment?) : /** * 暖风机状态变化 */ - override fun onHeaterStatusCallback(airconditionIsOpen:Boolean,heaterStatue: OCHM1LightAirconditionDoorStatusManager.HeaterStatue,isFirst: Boolean) { + override fun onHeaterStatusCallback(airconditionIsOpen:Boolean, heaterStatue: HeaterStatue, isFirst: Boolean) { CallerLogger.d(SceneConstant.M_BUS_P + TAG, "回写--暖风机开关:${heaterStatue.isOpen}、" + "风速:${heaterStatue.windSpeed}") @@ -93,7 +97,7 @@ class BusPassengerFunctionSoftPresenter(view: M1SoftFragment?) : /** * 灯状态变化 */ - override fun onLightTop1Callback(lightStatus: OCHM1LightAirconditionDoorStatusManager.LightStatus,isFirst: Boolean) { + override fun onLightTop1Callback(lightStatus: LightStatus, isFirst: Boolean) { CallerLogger.d(SceneConstant.M_BUS_P + TAG, "回写--顶灯1开关:${lightStatus.isOpenLight1}、" + "顶灯2开关:${lightStatus.isOpenLight2}、" + @@ -105,7 +109,7 @@ class BusPassengerFunctionSoftPresenter(view: M1SoftFragment?) : /** * 灯状态变化 */ - override fun onLightTop2Callback(lightStatus: OCHM1LightAirconditionDoorStatusManager.LightStatus,isFirst: Boolean) { + override fun onLightTop2Callback(lightStatus: LightStatus, isFirst: Boolean) { CallerLogger.d(SceneConstant.M_BUS_P + TAG, "回写--顶灯1开关:${lightStatus.isOpenLight1}、" + "顶灯2开关:${lightStatus.isOpenLight2}、" + @@ -118,7 +122,7 @@ class BusPassengerFunctionSoftPresenter(view: M1SoftFragment?) : /** * 灯状态变化 */ - override fun onLightAtmosphereCallback(lightStatus: OCHM1LightAirconditionDoorStatusManager.LightStatus,isFirst: Boolean) { + override fun onLightAtmosphereCallback(lightStatus: LightStatus, isFirst: Boolean) { CallerLogger.d(SceneConstant.M_BUS_P + TAG, "回写--顶灯1开关:${lightStatus.isOpenLight1}、" + "顶灯2开关:${lightStatus.isOpenLight2}、" + @@ -137,10 +141,10 @@ class BusPassengerFunctionSoftPresenter(view: M1SoftFragment?) : CallerAutoPilotControlManager.sendRoboBusJinlvM1AirConditionerCmd(1,modeCmd,windSpeedCmd,temperatureCmd) disposeSubscribe(airconditionDisposable) airconditionDisposable = createSubscribe(10000){ - if (!OCHM1LightAirconditionDoorStatusManager.airconditionStatus.isOpen&& - OCHM1LightAirconditionDoorStatusManager.airconditionStatus.windSpeed!=windSpeedCmd&& - OCHM1LightAirconditionDoorStatusManager.airconditionStatus.temperature!=temperatureCmd&& - OCHM1LightAirconditionDoorStatusManager.airconditionStatus.pattert!=modeCmd) { + if (!LightAirconditionDoorStatusManager.airconditionStatus.isOpen&& + LightAirconditionDoorStatusManager.airconditionStatus.windSpeed!=windSpeedCmd&& + LightAirconditionDoorStatusManager.airconditionStatus.temperature!=temperatureCmd&& + LightAirconditionDoorStatusManager.airconditionStatus.pattert!=modeCmd) { ToastUtils.showShort("空调操作未生效,请稍后重试吧~") } } @@ -150,7 +154,7 @@ class BusPassengerFunctionSoftPresenter(view: M1SoftFragment?) : CallerAutoPilotControlManager.sendRoboBusJinlvM1AirConditionerCmd(2,modeCmd,windSpeedCmd,temperatureCmd) disposeSubscribe(airconditionDisposable) airconditionDisposable = createSubscribe(10000){ - if (OCHM1LightAirconditionDoorStatusManager.airconditionStatus.isOpen) { + if (LightAirconditionDoorStatusManager.airconditionStatus.isOpen) { ToastUtils.showShort("空调操作未生效,请稍后重试吧~") } } @@ -163,8 +167,8 @@ class BusPassengerFunctionSoftPresenter(view: M1SoftFragment?) : CallerAutoPilotControlManager.sendRoboBusJinlvM1HeaderCmd(1,windSpeedCmd) disposeSubscribe(heaterDisposable) heaterDisposable = createSubscribe(10000){ - if (!OCHM1LightAirconditionDoorStatusManager.heaterStatue.isOpen&& - OCHM1LightAirconditionDoorStatusManager.heaterStatue.windSpeed!=windSpeedCmd) { + if (!LightAirconditionDoorStatusManager.heaterStatue.isOpen&& + LightAirconditionDoorStatusManager.heaterStatue.windSpeed!=windSpeedCmd) { ToastUtils.showShort("暖风机操作未生效,请稍后重试吧~") } } @@ -175,7 +179,7 @@ class BusPassengerFunctionSoftPresenter(view: M1SoftFragment?) : CallerAutoPilotControlManager.sendRoboBusJinlvM1HeaderCmd(2,0) disposeSubscribe(heaterDisposable) heaterDisposable = createSubscribe(10000){ - if (OCHM1LightAirconditionDoorStatusManager.heaterStatue.isOpen) { + if (LightAirconditionDoorStatusManager.heaterStatue.isOpen) { ToastUtils.showShort("暖风机操作未生效,请稍后重试吧~")//还是开着的 } } @@ -187,14 +191,14 @@ class BusPassengerFunctionSoftPresenter(view: M1SoftFragment?) : if(leftLight){ CallerAutoPilotControlManager.sendRoboBusJinlvM1MainLamp1Cmd(1) subscribeLightTop1 = createSubscribe{ - if (!OCHM1LightAirconditionDoorStatusManager.lightStatus.isOpenLight1) { + if (!LightAirconditionDoorStatusManager.lightStatus.isOpenLight1) { ToastUtils.showShort("操作未生效,请稍后重试吧~") } } }else{ CallerAutoPilotControlManager.sendRoboBusJinlvM1MainLamp1Cmd(2) subscribeLightTop1 = createSubscribe{ - if (OCHM1LightAirconditionDoorStatusManager.lightStatus.isOpenLight1) { + if (LightAirconditionDoorStatusManager.lightStatus.isOpenLight1) { ToastUtils.showShort("操作未生效,请稍后重试吧~") } } @@ -206,14 +210,14 @@ class BusPassengerFunctionSoftPresenter(view: M1SoftFragment?) : if(rightLight){ CallerAutoPilotControlManager.sendRoboBusJinlvM1MainLamp2Cmd(1) subscribeLightTop2 = createSubscribe{ - if (!OCHM1LightAirconditionDoorStatusManager.lightStatus.isOpenLight2) { + if (!LightAirconditionDoorStatusManager.lightStatus.isOpenLight2) { ToastUtils.showShort("操作未生效,请稍后重试吧~") } } }else{ CallerAutoPilotControlManager.sendRoboBusJinlvM1MainLamp2Cmd(2) subscribeLightTop2 = createSubscribe{ - if (OCHM1LightAirconditionDoorStatusManager.lightStatus.isOpenLight2) { + if (LightAirconditionDoorStatusManager.lightStatus.isOpenLight2) { ToastUtils.showShort("操作未生效,请稍后重试吧~") } } @@ -225,14 +229,14 @@ class BusPassengerFunctionSoftPresenter(view: M1SoftFragment?) : if (atmosphereLight) { CallerAutoPilotControlManager.sendRoboBusJinlvM1SmallLampCmd(1) subscribeLightAtmosphere = createSubscribe{ - if (!OCHM1LightAirconditionDoorStatusManager.lightStatus.isOpenatmosphere) { + if (!LightAirconditionDoorStatusManager.lightStatus.isOpenatmosphere) { ToastUtils.showShort("操作未生效,请稍后重试吧~") } } } else { CallerAutoPilotControlManager.sendRoboBusJinlvM1SmallLampCmd(2) subscribeLightAtmosphere = createSubscribe{ - if (OCHM1LightAirconditionDoorStatusManager.lightStatus.isOpenatmosphere) { + if (LightAirconditionDoorStatusManager.lightStatus.isOpenatmosphere) { ToastUtils.showShort("操作未生效,请稍后重试吧~") } } diff --git a/OCH/mogo-och-charter-passenger/src/m1/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 similarity index 70% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/presenter/BusPassengerFunctionVideoPresenter.kt rename to 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/m1/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/m1/java/com/mogo/och/bus/passenger/presenter/BusPassengerPresenter.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerPresenter.kt similarity index 60% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/presenter/BusPassengerPresenter.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerPresenter.kt index d6d6538d9d..9159d7a2d8 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/presenter/BusPassengerPresenter.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BusPassengerPresenter.kt @@ -1,22 +1,27 @@ package com.mogo.och.bus.passenger.presenter +import android.graphics.BitmapFactory import androidx.lifecycle.LifecycleOwner import com.amap.api.maps.model.LatLng import com.mogo.commons.voice.AIAssist -import com.mogo.eagle.core.data.map.MogoLocation import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener import com.mogo.eagle.core.function.api.telematic.IReceivedMsgListener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager import com.mogo.eagle.core.function.call.telematic.CallerTelematicListenerManager +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.Companion.M_BUS_P import com.mogo.eagle.core.utilcode.util.GsonUtils 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.bean.response.LineInfoResponse import com.mogo.och.bus.passenger.bean.response.OrderInfoResponse -import com.mogo.och.bus.passenger.callback.IBusPassengerControllerStatusCallback +import com.mogo.och.bus.passenger.bean.response.SiteInfoResponse +import com.mogo.och.bus.passenger.bean.response.TrajectoriesResponse +import com.mogo.och.bus.passenger.callback.IDistanceCallback import com.mogo.och.bus.passenger.callback.IOrderChangeCallback -import com.mogo.och.bus.passenger.callback.IDistanceTimeCallback import com.mogo.och.bus.passenger.model.CharterPassengerModel import com.mogo.och.bus.passenger.model.IOrderStatusChangeListener import com.mogo.och.bus.passenger.model.OrderStatusEnum @@ -24,7 +29,7 @@ import com.mogo.och.bus.passenger.ui.MainFragment import com.mogo.och.common.module.bean.dpmsg.DPMsgType import com.mogo.och.common.module.biz.common.socketmessage.OCHSocketMessageManager import com.mogo.och.common.module.biz.constant.OchCommonConst -import com.mogo.och.common.module.manager.OCHM1LightAirconditionDoorStatusManager +import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorStatusManager import com.mogo.och.common.module.manager.OCHPlanningStopSideStatusManager import com.mogo.och.common.module.utils.DateTimeUtil import com.mogo.och.common.module.utils.NumberFormatUtil @@ -32,59 +37,52 @@ import com.mogo.och.common.module.utils.SoundPoolHelper import com.mogo.och.common.module.voice.VoiceNotice import com.mogo.och.common.module.bean.dpmsg.BaseDPMsg import com.mogo.och.common.module.bean.dpmsg.DPCommonOperationMsg -import io.reactivex.disposables.Disposable -import java.util.* +import com.mogo.och.common.module.biz.network.OchCommonServiceCallback +import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorCallback +import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorManager +import kotlin.math.ceil class BusPassengerPresenter(view: MainFragment?) : BusBasePassengerFunctionDevicePresenter(view), - IBusPassengerControllerStatusCallback, IDistanceTimeCallback, IOrderChangeCallback, - IOrderStatusChangeListener, OCHPlanningStopSideStatusManager.OCHPlanningActionsCallback { + IDistanceCallback, IOrderChangeCallback, IOrderStatusChangeListener, + OCHPlanningStopSideStatusManager.OCHPlanningActionsCallback, LightAirconditionDoorCallback { - private var subscribe: Disposable? = null - private var gnssSpeed = 0.0f override fun onCreate(owner: LifecycleOwner) { super.onCreate(owner) CharterPassengerModel.init() // 定位监听 - CharterPassengerModel.setControllerStatusCallback(TAG,this) - CharterPassengerModel.setiDistanceTimeCallback(this) + CharterPassengerModel.setStationDistanceListener(TAG, this) CharterPassengerModel.setCarTypeChangeListener(this) - CharterPassengerModel.setStatusChangeListener(TAG,this) + CharterPassengerModel.setStatusChangeListener(TAG, this) CallerTelematicListenerManager.addListener(TAG, msgReceived) - OCHPlanningStopSideStatusManager.addListener(TAG,this) + OCHPlanningStopSideStatusManager.addListener(TAG, this) setCarChangeListener(R.raw.m1) - //BusPassengerModel.setMoGoAutopilotPlanningListener(this) } override fun onDestroy(owner: LifecycleOwner) { super.onDestroy(owner) - CharterPassengerModel.setControllerStatusCallback(TAG,null) - CharterPassengerModel.setiDistanceTimeCallback(null) + CharterPassengerModel.setStationDistanceListener(TAG, null) CharterPassengerModel.setCarTypeChangeListener(null) CallerTelematicListenerManager.removeListener(TAG) OCHPlanningStopSideStatusManager.removeListener(TAG) } - private fun setSpeed(speed:Float){ + + private fun setSpeed(speed: Float) { UiThreadHandler.post { - val speedKM =(Math.abs(speed) * 3.6f).toInt() + val speedKM = (Math.abs(speed) * 3.6f).toInt() mView?.setSpeed(speedKM.toString()) } } - private fun setDistanceAndTime(distance: String,distanceUnit: String){ + + private fun setDistanceAndTime( + distance: String, + distanceUnit: String, + leftTime: String, + arriveTime: String + ) { UiThreadHandler.post { - mView?.setDistanceAndTime(distance, distanceUnit) - } - } - private fun setOrderTime(sumTime:String,arrivedTime:String){ - UiThreadHandler.post { - mView?.setOrderTime(sumTime, arrivedTime) - } - } - override fun onCarLocationChanged(location: MogoLocation?) { - location?.let { - setSpeed(it.gnssSpeed) - gnssSpeed = it.gnssSpeed + mView?.setDistanceAndTime(distance, distanceUnit, leftTime, arriveTime) } } @@ -98,19 +96,21 @@ class BusPassengerPresenter(view: MainFragment?) : ) as BaseDPMsg when (msg.type) { DPMsgType.TYPE_OPEN_CLOSE_DOOR.type -> { - val doorStatus = OCHM1LightAirconditionDoorStatusManager.doorStatus - if(doorStatus.isOpen){ - closeDoor() - }else{ - openDoor() + CallerLogger.d(M_BUS_P + BaseDPMsg.TAG, "收到数据:开关门") + val doorStatus = LightAirconditionDoorStatusManager.doorStatus + if (doorStatus.isOpen) { + LightAirconditionDoorManager.go2OpenDoor(false) + } else { + LightAirconditionDoorManager.go2OpenDoor(true) } } DPMsgType.TYPE_COMMON.type -> { + CallerLogger.d(M_BUS_P + BaseDPMsg.TAG, "收到数据:常规数据") val msg = GsonUtils.fromJson( String(byteArray), DPCommonOperationMsg::class.java ) as DPCommonOperationMsg - pushOperationalToMsgBox(DateTimeUtil.getCurrentTimeStamp(),msg.msg) + pushOperationalToMsgBox(DateTimeUtil.getCurrentTimeStamp(), msg.msg) } else -> {} } @@ -119,86 +119,39 @@ class BusPassengerPresenter(view: MainFragment?) : } } - fun pushOperationalToMsgBox(time : Long,content : String,type: Int = -1){ + fun pushOperationalToMsgBox(time: Long, content: String, type: Int = -1) { playDI() OCHSocketMessageManager.pushAppOperationalMsgBox(time, content, type) } - private fun playDI(){ + private fun playDI() { SoundPoolHelper.getSoundPoolHelper().playSoundWithRedId(context, R.raw.m1_voice_di) } - fun openDoor() { - val canOpenOrCloseDoor = canOpenOrCloseDoor() - if(!canOpenOrCloseDoor.isNullOrEmpty()){ - ToastUtils.showShort(canOpenOrCloseDoor) - return - } - disposeSubscribe(subscribe) - subscribe = createSubscribe(1000) { - CallerAutoPilotControlManager.sendRoboBusJinlvM1FrontDoorCmd(0) - } - CallerAutoPilotControlManager.sendRoboBusJinlvM1FrontDoorCmd(1) - } - - fun closeDoor() { - val canOpenOrCloseDoor = canOpenOrCloseDoor() - if(!canOpenOrCloseDoor.isNullOrBlank()){ - ToastUtils.showShort(canOpenOrCloseDoor) - return - } - disposeSubscribe(subscribe) - subscribe = createSubscribe(1000) { - CallerAutoPilotControlManager.sendRoboBusJinlvM1FrontDoorCmd(0) - } - CallerAutoPilotControlManager.sendRoboBusJinlvM1FrontDoorCmd(2) - } - - private fun canOpenOrCloseDoor():String?{ - if(gnssSpeed<0.01){ - return null - }else{ - return "车辆正在运行、请稍后再试" - } - } - /** * 计算剩余距离和剩余时间 */ override fun setDistancecAndTime(meters: Long, timeInSecond: Long) { + if (meters < 0 && timeInSecond < 0) { + setDistanceAndTime("--", context.getString(R.string.m1_distance_unit_km), "--", "--") + } var dis: String? = "0" var disUnit = "KM" if (meters > 0) { if (meters / 1000 < 1) { - disUnit = "M" + disUnit = context.getString(R.string.m1_distance_unit_m) dis = Math.round(meters.toFloat()).toString() } else { - disUnit = "KM" + disUnit = context.getString(R.string.m1_distance_unit_km) dis = NumberFormatUtil.formatLong(meters.toDouble() / 1000) } } - setDistanceAndTime(dis.toString(),disUnit) + val time = ceil(timeInSecond / 60f).toInt() + val arriveTime = DateTimeUtil.getAfterSecondTime(time) + setDistanceAndTime(dis.toString(), disUnit, time.toString(), arriveTime) } - override fun setOrderTimeCallBack(timeInSecond: Long) { - if(timeInSecond<0){ - setDistanceAndTime("0", "KM") - setOrderTime("--","--") - return - } - var surplusTime = (timeInSecond / 60).toInt() - if(surplusTime==0){ - surplusTime = 1 - } - - val beforeTime = Calendar.getInstance() - beforeTime.add(Calendar.SECOND, timeInSecond.toInt()) - //到达时间 - val arriveTime = DateTimeUtil.formatCalendarToString(beforeTime, DateTimeUtil.HH_mm) - setOrderTime(surplusTime.toString(),arriveTime) - } - - companion object{ + companion object { private const val TAG = "BusPassengerPresenter" } @@ -219,7 +172,7 @@ class BusPassengerPresenter(view: MainFragment?) : } } - fun haveOrder():Boolean { + fun haveOrder(): Boolean { return CharterPassengerModel.hasOrder() } @@ -251,15 +204,19 @@ class BusPassengerPresenter(view: MainFragment?) : UiThreadHandler.post { mView?.showOpenAndCloseDoor() mView?.cleanEndStation() - setDistanceAndTime("0", "KM") - setOrderTime("--","--") + setDistancecAndTime(-1, -1) } } } } - override fun setEndStationCallBack(siteId: Long?, siteName: String?, gcj_lon: Double, gcj_lat: Double) { - val latLng = LatLng(gcj_lat,gcj_lon) + override fun setEndStationCallBack( + siteId: Long?, + siteName: String?, + gcj_lon: Double, + gcj_lat: Double + ) { + val latLng = LatLng(gcj_lat, gcj_lon) mView?.cleanEndStation() mView?.drawEndStation(latLng) } @@ -275,7 +232,10 @@ class BusPassengerPresenter(view: MainFragment?) : ToastUtils.showShort(errorInfo) } OCHPlanningStopSideStatusManager.Status.START -> { - VoiceNotice.showNotice(context.getString(R.string.m1_stop_site_zh), AIAssist.LEVEL1) + VoiceNotice.showNotice( + context.getString(R.string.m1_stop_site_zh), + AIAssist.LEVEL1 + ) } OCHPlanningStopSideStatusManager.Status.DOING -> { // 正在靠边停车 @@ -290,4 +250,48 @@ class BusPassengerPresenter(view: MainFragment?) : } } + override fun onDoorStatusCallback(isOpen: Boolean, isFirst: Boolean) { + if (!isFirst) { + if (isOpen) { + ToastUtils.showShort("已开启车门") + } else { + ToastUtils.showShort("已关门车门") + } + } + } + + fun getLineTrajectory( + lineInfo: LineInfoResponse.LineInfo, + sites: List + ) { + CharterPassengerModel.getLineTrajectory(lineInfo.lineId!!,object : OchCommonServiceCallback { + override fun onSuccess(data: TrajectoriesResponse?) { + if (null != data && 0 == data.code) { + data.data?.let { + CallerLogger.d(M_BUS_P + TAG, "getLineTrajectory轨迹点:${data.data.size}") + val trajectoryList = mutableListOf() + it.forEach {latLngMain -> + trajectoryList.add(latLngMain.exchangeData()) + } + drawStations(sites) + mView?.drawOverMapViewTrajectory(trajectoryList) + } + } + } + + override fun onFail(code: Int, msg: String) { + ToastUtils.showShort("$code:$msg") + } + }) + + } + + fun drawStations(sites: List){ + val stationsList: MutableList = mutableListOf() + val stationIcon = BitmapFactory.decodeResource(context.resources, R.drawable.map_staton_icon) + sites.forEach { + stationsList.add(SiteMarkerBean(LatLng(it.GcjLat!!,it.GcjLon!!),stationIcon,0.5f,0.5f)) + } + mView?.drawOverMapViewStation(stationsList) + } } \ 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..7601664b77 --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/OrderInfoPresenter.kt @@ -0,0 +1,79 @@ +package com.mogo.och.bus.passenger.presenter + +import androidx.lifecycle.LifecycleOwner +import com.mogo.eagle.core.data.BaseData +import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager +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.GsonUtils +import com.mogo.eagle.core.utilcode.util.ToastUtils +import com.mogo.och.bus.passenger.callback.ITimeCallback +import com.mogo.och.bus.passenger.model.CharterPassengerModel +import com.mogo.och.bus.passenger.ui.dialogfragment.fragment.OrderInfoFragment +import com.mogo.och.common.module.bean.dpmsg.BaseDPMsg +import com.mogo.och.common.module.bean.dpmsg.EndOrderMsg +import com.mogo.och.common.module.biz.constant.OchCommonConst +import com.mogo.och.common.module.biz.network.OchCommonServiceCallback +import com.mogo.och.common.module.utils.DateTimeUtil + +class OrderInfoPresenter(view: OrderInfoFragment?) : + BusBasePassengerFunctionDevicePresenter(view), ITimeCallback { + companion object{ + private const val TAG = "OrderInfoPresenter" + } + override fun onCreate(owner: LifecycleOwner) { + super.onCreate(owner) + CharterPassengerModel.setOrderLeftTimeListeners(TAG,this) + getDataInfo() + } + + private fun getDataInfo() { + val currentOrderInfo = CharterPassengerModel.getCurrentOrderInfo() + currentOrderInfo?.let { + mView?.setPhone(it.passengerPhone?:"") + try { + mView?.setStartTimeAndEndTime( + DateTimeUtil.formatLongToString(it.startTime!!, DateTimeUtil.HH_mm), + DateTimeUtil.formatLongToString(it.endTime!!, DateTimeUtil.HH_mm)) + }catch (e:Exception){ + e.printStackTrace() + } + } + } + + override fun onDestroy(owner: LifecycleOwner) { + super.onDestroy(owner) + CharterPassengerModel.setOrderLeftTimeListeners(TAG,null) + } + + override fun setOrderTimeCallBack(timeInSecond: Long) { + val leftTime = DateTimeUtil.second2Time(timeInSecond) + mView?.setLeftTime(leftTime) + } + + fun endOrder() { + CharterPassengerModel.endOrder(object : OchCommonServiceCallback { + override fun onSuccess(data: BaseData?) { + if (null != data && 0 == data.code) { + ToastUtils.showShort("结束成功") + CharterPassengerModel.setEndOrderStatus() + mView?.closeDialogContaion() + val msg = EndOrderMsg( + CharterPassengerModel.getCurrentOrderInfo()?.orderNo?:"", + ) + CallerTelematicManager.sendMsgToServer( + OchCommonConst.BUSINESS_STRING, + GsonUtils.toJson(msg).toByteArray() + ) + CallerLogger.d(M_BUS_P + BaseDPMsg.TAG, "发送数据:结束订单${msg}") + } + } + + override fun onFail(code: Int, msg: String) { + ToastUtils.showShort("$code:$msg") + } + }) + } + + +} \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/provider/StatusViewManager.java b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/provider/StatusViewManager.java similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/provider/StatusViewManager.java rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/provider/StatusViewManager.java diff --git a/OCH/mogo-och-charter-passenger/src/m1/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 similarity index 76% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/MainFragment.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/MainFragment.kt index 2323b2e724..2e777e9c3e 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/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,33 +1,39 @@ package com.mogo.och.bus.passenger.ui import android.graphics.BitmapFactory -import android.os.Build 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.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.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.och.bus.passenger.R +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.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.common.module.biz.constant.LoginStatusManager -import kotlinx.android.synthetic.m1.m1_main_fragment.* +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 /** @@ -51,35 +57,16 @@ class MainFragment : return TAG } - 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)) - } - } + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + EventBus.getDefault().register(this) + return super.onCreateView(inflater, container, savedInstanceState) + } + override fun initViews() { viewBusPM1MsgBoxButton.setClickListener(object : MMsgBoxButtonView.ClickListener { override fun showMsgBoxList(show: Boolean) { if (show) { @@ -94,6 +81,30 @@ class MainFragment : } }) + + bb_boorombar.setSettingClickListener{ + openSettingPage(M1ContainFragment.SETTINGSOFTTAB) + } + bb_boorombar.setOrderInfoClickListener{ + if (LoginStatusManager.isLogin()) { + if(mPresenter?.haveOrder()==true){ + openSettingPage(M1ContainFragment.ORDERINFO) + }else{ + ToastUtils.showShort("请确认订单") + } + }else{ + ToastUtils.showShort(AbsMogoApplication.getApp().getString(R.string.m1_please_login_driver)) + } + } + bb_boorombar.setLineClickListener{ + openSettingPage(M1ContainFragment.SELECTLINE) + } + aciv_enter_video.setOnClickListener{ + openSettingPage(M1ContainFragment.VIDEOTAB) + } + debug_arrive_dest.setOnClickListener { + CharterPassengerModel.arriveDest() + } } private fun openSettingPage(tab: String) { @@ -143,16 +154,13 @@ class MainFragment : fun setDistanceAndTime( distance: String, distanceUnit: String, + leftTime:String, + arriveTime:String ) { tv_distance.text = distance tv_distance_unit.text = "距离(${distanceUnit})" - } - fun setOrderTime( - sumTime: String, - arrivedTime: String - ) { - tv_distance_surplus_time.text = sumTime - tv_distance_arrive_time.text = arrivedTime + tv_distance_surplus_time.text = leftTime + tv_distance_arrive_time.text = arriveTime } fun setCarModle(rawInfo: Int){ @@ -205,6 +213,7 @@ class MainFragment : mapBizView.onDestroy() omvOverMap.onDestroy() super.onDestroyView() + EventBus.getDefault().unregister(this) } fun showOpenAndCloseDoor() { @@ -254,6 +263,33 @@ class MainFragment : } } + @Subscribe(threadMode = ThreadMode.MAIN) + fun changeOverview(eventLineSites: EventLineSites) { + CallerLogger.d(M_BUS_P + TAG, "eventLineSites:${eventLineSites.lineInfo.lineId}-----${eventLineSites.sites.size}") + mPresenter?.getLineTrajectory(eventLineSites.lineInfo,eventLineSites.sites) + } + + @Subscribe(threadMode = ThreadMode.MAIN) + fun changeDebugView(debugView: DebugView) { + if(debug_arrive_dest.visibility==View.GONE||debug_arrive_dest.visibility==View.INVISIBLE){ + debug_arrive_dest.visibility = View.VISIBLE + }else{ + debug_arrive_dest.visibility = View.GONE + } + } + + fun drawOverMapViewStation(stationsList: MutableList){ + omvOverMap?.drawSiteMarkers(stationsList) + } + + fun drawOverMapViewTrajectory(coordinates: List){ + UiThreadHandler.post({ + omvOverMap?.drawPolyline(coordinates, 0) + }, + UiThreadHandler.MODE.QUEUE + ) + } + companion object { public const val TAG = "BusPassengerRouteFragment" } diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/adapter/OrderLineItemAdapter.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/adapter/OrderLineItemAdapter.kt similarity index 72% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/adapter/OrderLineItemAdapter.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/adapter/OrderLineItemAdapter.kt index 142998121d..4e7089579c 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/adapter/OrderLineItemAdapter.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/adapter/OrderLineItemAdapter.kt @@ -17,16 +17,34 @@ class OrderLineItemAdapter( private val dataList: MutableList ) : RecyclerView.Adapter() { - private var enable = false - var checkChangeListener: CheckListener? = null - fun setDataList(dataList: List) { + fun setDataList( + dataList: List, + checkLine: LineInfoResponse.LineInfo? + ) { this.dataList.clear() this.dataList.addAll(dataList) + setCheckData(checkLine) notifyDataSetChanged() } + fun setCheckData(checkLine: LineInfoResponse.LineInfo?){ + if(this.dataList.isNotEmpty()) { + var tempCheckLine = checkLine + if (checkLine == null) { + tempCheckLine = dataList.first() + } + this.dataList.forEach { + if (it.lineId == tempCheckLine!!.lineId) { + it.isCheck = true + checkChangeListener?.onCheckListener(tempCheckLine) + return@forEach + } + } + } + } + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): TextVH { val view: View @@ -44,8 +62,10 @@ class OrderLineItemAdapter( } holder.lineNameTextView.text = lineInfo.name holder.lineNameTextView.setOnClickListener { - if (!enable) { - return@setOnClickListener + checkChangeListener?.let { + if(!it.canSwitchLine()){ + return@setOnClickListener + } } if (lineInfo.isCheck) { return@setOnClickListener @@ -62,24 +82,15 @@ class OrderLineItemAdapter( return dataList.size } - fun setEnable(enable: Boolean) { - this.enable = enable - dataList.forEachIndexed { _, lineInfo -> - lineInfo.isCheck = false - } - notifyDataSetChanged() - } - fun submitLine(checkLine: LineInfoResponse.LineInfo) { - this.dataList.clear() - this.dataList.add(checkLine) dataList.forEachIndexed { _, lineInfo -> - lineInfo.isCheck = false + lineInfo.isCheck = lineInfo.lineId==checkLine.lineId } notifyDataSetChanged() } interface CheckListener { + fun canSwitchLine():Boolean fun onCheckListener(lineInfo: LineInfoResponse.LineInfo) } diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/adapter/OrderSiteItemAdapter.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/adapter/OrderSiteItemAdapter.kt similarity index 52% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/adapter/OrderSiteItemAdapter.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/adapter/OrderSiteItemAdapter.kt index b74994b122..6e2b4ae5e5 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/adapter/OrderSiteItemAdapter.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/adapter/OrderSiteItemAdapter.kt @@ -16,31 +16,26 @@ import com.mogo.och.bus.passenger.bean.response.SiteInfoResponse /** * Created by adityagohad on 06/06/17. */ -class OrderSiteItemAdapter(private val context: Context, private val dataList: MutableList) : RecyclerView.Adapter() { +class OrderSiteItemAdapter( + private val context: Context, + private val dataList: MutableList +) : RecyclerView.Adapter() { private var enableIndex = -1 - private var enable = true - var checkChangeListener:CheckListener?=null + var checkChangeListener: CheckListener? = null - fun setDataList(dataList: List){ + fun setDataList(dataList: List) { this.dataList.clear() this.dataList.addAll(dataList) notifyDataSetChanged() } - fun setEnableIndex(enableIndex:Int){ + fun setEnableIndex(enableIndex: Int) { this.enableIndex = enableIndex notifyDataSetChanged() } - fun setEnable(enable:Boolean){ - this.enable = enable -// dataList.forEachIndexed { _, lineInfo -> -// lineInfo.isCheck = false -// } - notifyDataSetChanged() - } override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): TextVH { val view: View @@ -51,35 +46,57 @@ class OrderSiteItemAdapter(private val context: Context, private val dataList: M override fun onBindViewHolder(holder: TextVH, position: Int) { val siteInfo = dataList[holder.bindingAdapterPosition] - if(holder.bindingAdapterPosition>enableIndex){ - if(siteInfo.isCheck){ + if (holder.bindingAdapterPosition > enableIndex) { + if (siteInfo.isCheck) { holder.iv_site_checked.setImageResource(R.drawable.m1_order_site_checked) - }else{ + } else { holder.iv_site_checked.setImageResource(R.drawable.m1_order_site_check) } - holder.tv_site_site_name.setTextColor(ContextCompat.getColor(context,R.color.bus_p_m1_222222)) - }else { + holder.tv_site_site_name.setTextColor( + ContextCompat.getColor( + context, + R.color.bus_p_m1_222222 + ) + ) + } else { holder.iv_site_checked.setImageResource(R.drawable.m1_order_site_check_enable) - holder.tv_site_site_name.setTextColor(ContextCompat.getColor(context,R.color.bus_p_m1_332C2D31)) + holder.tv_site_site_name.setTextColor( + ContextCompat.getColor( + context, + R.color.bus_p_m1_332C2D31 + ) + ) } holder.tv_site_site_name.text = siteInfo.siteName holder.itemView.setOnClickListener { - if(enable) { - if (holder.bindingAdapterPosition > enableIndex) { - dataList.forEachIndexed { index, lineInfo -> - lineInfo.isCheck = index==position - } - notifyDataSetChanged() - checkChangeListener?.onCheckListener(siteInfo) - } else { - if (siteInfo.isNear) { - ToastUtils.showShort("您已在此站点附近") - } else { - ToastUtils.showShort("站点已过,请选择返程路线") + if (holder.bindingAdapterPosition > enableIndex) { + checkChangeListener?.let { + if(!it.canSwitchLine()){ + return@setOnClickListener } } - }else{ - ToastUtils.showShort("请确认线路") + var tempInfo:SiteInfoResponse.SiteInfo? = null + dataList.forEachIndexed { index, lineInfo -> + if (index == position) { + if (lineInfo.isCheck) { + lineInfo.isCheck = false + tempInfo = null + } else { + lineInfo.isCheck = true + tempInfo = lineInfo + } + } else { + lineInfo.isCheck = false + } + } + notifyDataSetChanged() + checkChangeListener?.onCheckListener(tempInfo) + } else { + if (siteInfo.isNear) { + ToastUtils.showShort("您已在此站点附近") + } else { + ToastUtils.showShort("站点已过,请选择返程路线") + } } } } @@ -95,8 +112,9 @@ class OrderSiteItemAdapter(private val context: Context, private val dataList: M notifyDataSetChanged() } - interface CheckListener{ - fun onCheckListener(siteInfo:SiteInfoResponse.SiteInfo) + interface CheckListener { + fun canSwitchLine():Boolean + fun onCheckListener(siteInfo: SiteInfoResponse.SiteInfo?) } inner class TextVH(itemView: View) : RecyclerView.ViewHolder(itemView) { diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/adapter/RecyclerItemVideoHolder.java b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/adapter/RecyclerItemVideoHolder.java similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/adapter/RecyclerItemVideoHolder.java rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/adapter/RecyclerItemVideoHolder.java diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/adapter/RecyclerVideoAdapter.java b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/adapter/RecyclerVideoAdapter.java similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/adapter/RecyclerVideoAdapter.java rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/adapter/RecyclerVideoAdapter.java diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/adapter/TemperatureAdapter.java b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/adapter/TemperatureAdapter.java similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/adapter/TemperatureAdapter.java rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/adapter/TemperatureAdapter.java diff --git a/OCH/mogo-och-charter-passenger/src/m1/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 88% rename from OCH/mogo-och-charter-passenger/src/m1/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 1cffc70857..8ef0fa2773 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/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,12 +1,10 @@ -package com.mogo.och.bus.passenger.ui +package com.mogo.och.bus.passenger.ui.dialogfragment 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 import androidx.fragment.app.FragmentTransaction import com.mogo.commons.mvp.MvpDialogFragment @@ -14,12 +12,10 @@ 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.Companion.M_BUS_P 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.BusPassengerCarUseAndNoOrderPresenter -import com.mogo.och.bus.passenger.presenter.BusPassengerFunctionPresenter -import kotlinx.android.synthetic.m1.m1_contain_fragment.* -import kotlinx.android.synthetic.m1.m1_order_end.* +import com.mogo.och.common.module.manager.devicemanage.LightAirconditionDoorManager +import kotlinx.android.synthetic.main.m1_order_end.* /** * @author: yangyakun @@ -45,10 +41,10 @@ class M1CarUserNoOrderFragment : override fun initViews() { dialog?.setCancelable(false) iv_end_order_opendoor.onClick { - mPresenter?.openDoor() + LightAirconditionDoorManager.go2OpenDoor(true) } iv_end_order_closedoor.onClick { - mPresenter?.closeDoor() + LightAirconditionDoorManager.go2OpenDoor(false) } } @@ -106,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/dialogfragment/M1ContainFragment.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/M1ContainFragment.kt new file mode 100644 index 0000000000..2ad6356784 --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/M1ContainFragment.kt @@ -0,0 +1,266 @@ +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.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.och.bus.passenger.R +import com.mogo.och.bus.passenger.presenter.BusPassengerFunctionPresenter +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 com.mogo.och.bus.passenger.ui.view.bottom.BottomClickView +import kotlinx.android.synthetic.main.m1_contain_fragment.* + +/** + * @author: yangyakun + * @date: 2023/1/28 + */ +class M1ContainFragment : + MvpDialogFragment() { + + var tab: String = VIDEOTAB + var fragmentTag: String = M1VideoFragment.TAG + var fragment: Fragment? = null + + var closeThis:ContainDismiss = object :ContainDismiss{ + override fun closeDialog() { + dismissAllowingStateLoss() + } + } + + override fun onCreate(savedInstanceState: Bundle?) { + CallerLogger.d(M_BUS_P+ TAG, "onCreate") + super.onCreate(savedInstanceState) + arguments?.let { + tab = it.getString(SELECTTAB, VIDEOTAB) + } + savedInstanceState?.let { + tab = it.getString(SELECTTAB, tab) + } + setStyle(STYLE_NO_TITLE, R.style.DialogFullScreen) //dialog全屏 + } + + private fun setCheckView() { + CallerLogger.d(M_BUS_P+ TAG, "setCheckView") + when (tab) { + VIDEOTAB -> { + fragment =childFragmentManager.findFragmentByTag(M1VideoFragment.TAG) + ?: M1VideoFragment.newInstance() + bb_bottom_bar.setCheckIndex(BottomBar.SelectView.VIDEO) + cl_container.setBackgroundResource(R.drawable.m1_function_bg) + fragmentTag = M1VideoFragment.TAG + } + SETTINGSOFTTAB -> { + fragment =childFragmentManager.findFragmentByTag(M1SoftFragment.TAG) + ?: M1SoftFragment.newInstance() + bb_bottom_bar.setCheckIndex(BottomBar.SelectView.SETTING) + cl_container.setBackgroundResource(R.drawable.m1_function_bg) + fragmentTag = M1SoftFragment.TAG + } + ORDERINFO -> { + fragment =childFragmentManager.findFragmentByTag(OrderInfoFragment.TAG) + ?: OrderInfoFragment.newInstance(closeThis) + bb_bottom_bar.setCheckIndex(BottomBar.SelectView.ORDERINFO) + cl_container.background = null + fragmentTag = OrderInfoFragment.TAG + } + SELECTLINE ->{ + fragment =childFragmentManager.findFragmentByTag(M1OrderLineFragment.TAG) + ?: M1OrderLineFragment.newInstance(closeThis) + bb_bottom_bar.setCheckIndex(BottomBar.SelectView.LINE) + cl_container.background = null + fragmentTag = M1OrderLineFragment.TAG + } + else -> {} + } + CallerLogger.d(M_BUS_P+ TAG, "fragment:$fragment") + + fragment?.let { + val beginTransaction = childFragmentManager.beginTransaction() + beginTransaction + .replace(R.id.fl_function_group, it, fragmentTag) + .commitNow() + } + + } + + override fun getLayoutId(): Int = R.layout.m1_contain_fragment + + override fun getTagName(): String = TAG + + 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() + } + } + bb_bottom_bar.setApplyClickListener(object : BottomClickView.ApplyClickLintener{ + override fun onApplyClick() { + dismissAllowingStateLoss() + } + }) + } + + + 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) + dialog?.setOnShowListener { _ -> + it.clearFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE) + BarUtils.hideStatusBarAndSticky(it) + } + } + } + + override fun onDismiss(dialog: DialogInterface) { + super.onDismiss(dialog) + ToastUtils.showShort("消失了") + } + + override fun onSaveInstanceState(outState: Bundle) { + super.onSaveInstanceState(outState) + CallerLogger.d(M_BUS_P+ TAG, "onSaveInstanceState") + context?.let { + SharedPrefs.getInstance(it).putString(SELECTTAB, tab) + } + } + + override fun createPresenter(): BusPassengerFunctionPresenter = + BusPassengerFunctionPresenter(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") + when (tab) { + VIDEOTAB -> { + + } + SETTINGSOFTTAB -> {} + ORDERINFO -> {} + SELECTLINE -> {} + else -> {} + } + super.onViewStateRestored(savedInstanceState) + } + + companion object { + const val TAG = "BusPassengerFunctionFragment" + + /** + * 娱乐视频 + */ + const val VIDEOTAB = "VideoTab" + + /** + * 空调、暖风、灯和剩余设置 + */ + const val SETTINGSOFTTAB = "SettingSoftTab" + + /** + * 订单信息 + */ + const val ORDERINFO = "OrderInfo" + + /** + * 选择线路 + */ + const val SELECTLINE = "SelectLine" + + + + const val SELECTTAB = "SELECTTAB" + + @JvmStatic + fun newInstance(): M1ContainFragment { + val args = Bundle() + val fragment = M1ContainFragment() + fragment.arguments = args + return fragment + } + } + + interface ContainDismiss{ + fun closeDialog() + } + interface ChangeCheck{ + fun changeChange() + } +} \ 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 new file mode 100644 index 0000000000..df639fdab8 --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/fragment/M1OrderLineFragment.kt @@ -0,0 +1,222 @@ +package com.mogo.och.bus.passenger.ui.dialogfragment.fragment + +import android.animation.ObjectAnimator +import android.os.Bundle +import android.view.View +import android.view.animation.LinearInterpolator +import androidx.recyclerview.widget.LinearLayoutManager +import com.elegant.utils.UiThreadHandler +import com.mogo.commons.mvp.MvpFragment +import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager +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.ToastUtils +import com.mogo.och.bus.passenger.R +import com.mogo.och.bus.passenger.bean.response.LineInfoResponse +import com.mogo.och.bus.passenger.bean.response.SiteInfoResponse +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 + +/** + * @author: yangyakun + * @date: 2023/1/28 + */ +class M1OrderLineFragment : + MvpFragment() { + + private var dismiss: M1ContainFragment.ContainDismiss? = null + + + private lateinit var lineAdapter: OrderLineItemAdapter + private lateinit var siteAdapter: OrderSiteItemAdapter + + val lineList = mutableListOf() + val siteList = mutableListOf() + + + + private val loadingAni = + ObjectAnimator.ofFloat(iv_loading_wait_driver, "rotation", 0f, 90f, 180f, 270f, 360f) + .apply { + repeatCount = -1 + interpolator = LinearInterpolator() + duration = 1000 + } + + override fun getLayoutId(): Int { + return R.layout.m1_order_fragment + } + + override fun getTagName(): String { + return TAG + } + + override fun initViews() { + CallerLogger.d(SceneConstant.M_BUS_P + TAG, "initViews") + lineAdapter = OrderLineItemAdapter(requireContext(), lineList) + siteAdapter = OrderSiteItemAdapter(requireContext(), siteList) + loadingAni.target = iv_loading_wait_driver + rlv_line_list.layoutManager = + LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false) + rlv_line_list.addItemDecoration( + BottomDecoration( + AutoSizeUtils.dp2px(context, 60f) + ) + ) + rlv_line_list.adapter = lineAdapter + + rv_site_list.layoutManager = + LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false) + rv_site_list.addItemDecoration( + BottomDecoration( + AutoSizeUtils.dp2px(context, 60f) + ) + ) + rv_site_list.adapter = siteAdapter + + initListener() + + } + + private fun initListener() { + lineAdapter.checkChangeListener = object : OrderLineItemAdapter.CheckListener { + override fun canSwitchLine(): Boolean { + return mPresenter?.canSwitchLine()?:true + } + + override fun onCheckListener(lineInfo: LineInfoResponse.LineInfo) { + mPresenter?.checkLineClick(lineInfo) + siteAdapter.clearCheck() + } + } + siteAdapter.checkChangeListener = object : OrderSiteItemAdapter.CheckListener { + override fun canSwitchLine(): Boolean { + return mPresenter?.canSwitchLine()?:true + } + + override fun onCheckListener(siteInfo: SiteInfoResponse.SiteInfo?) { + // 设置临时选中的 + mPresenter?.checkSiteClick(siteInfo) + } + + } + tv_site_cancle.onClick { + mPresenter?.resetData() + } + tv_site_submit.onClick { + mPresenter?.changeSites(siteList) + } + tv_loading_wait_driver_title.onClick { + endAni() + } + + } + + + /** + * 设置是否可用选择站点 + */ + fun setEnableSiteStatus(cancleAndSubmit: Boolean) { + if (cancleAndSubmit) { + g_side_cancle_submit_group.visibility = View.VISIBLE + } else { + g_side_cancle_submit_group.visibility = View.GONE + } + } + + fun startAni() { + g_lines_sites_data.visibility = View.GONE + g_loading_group.visibility = View.VISIBLE + if (!loadingAni.isRunning) { + loadingAni.start() + } + } + + fun endAni() { + UiThreadHandler.post { + g_lines_sites_data.visibility = View.VISIBLE + g_loading_group.visibility = View.GONE + } + } + + fun setViewByOrderStatus(currentStatus: OrderStatusEnum) { + when (currentStatus) { + OrderStatusEnum.NoOrderUnuse -> { + // 无订单页面 + m1_order_noorder.visibility = View.VISIBLE + m1_order_early_end.visibility = View.GONE + lsv_line_site.visibility = View.GONE + } + OrderStatusEnum.OrderNoLine -> { + // 选择线路页面 + m1_order_noorder.visibility = View.GONE + m1_order_early_end.visibility = View.GONE + lsv_line_site.visibility = View.VISIBLE + } + OrderStatusEnum.OrdersWithLine -> { + // 选择线路页面 + m1_order_noorder.visibility = View.GONE + m1_order_early_end.visibility = View.GONE + lsv_line_site.visibility = View.VISIBLE + } + } + } + + + fun go2StartCar() { + dismiss?.closeDialog() + } + + override fun createPresenter(): BusPassengerFunctionOrderPresenter { + CallerLogger.d(SceneConstant.M_BUS_P + TAG, "createPresenter") + return BusPassengerFunctionOrderPresenter(this) + } + + override fun onDestroyView() { + super.onDestroyView() + loadingAni.cancel() + CallerLogger.d(SceneConstant.M_BUS_P + TAG, "onDestroyView") + } + + fun lineAdapterSubmit(lineInfo: LineInfoResponse.LineInfo) { + lineAdapter.submitLine(lineInfo) + } + + fun lineAdapterSetData( + lineInfo: List, + checkLine: LineInfoResponse.LineInfo? + ) { + lineAdapter.setDataList(lineInfo,checkLine) + } + + fun siteAdapterSetData(siteInfo: List) { + siteAdapter.setDataList(siteInfo) + } + fun siteAdapterEnableIndex(index: Int) { + siteAdapter.setEnableIndex(index) + } + + fun setContainDismiss(dismiss: M1ContainFragment.ContainDismiss) { + this.dismiss = dismiss + } + + companion object { + const val TAG = "M1OrderLineFragment" + + @JvmStatic + fun newInstance(dismiss: M1ContainFragment.ContainDismiss): M1OrderLineFragment { + val args = Bundle() + val fragment = M1OrderLineFragment() + fragment.arguments = args + fragment.setContainDismiss(dismiss) + return fragment + } + } +} \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/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 96% rename from OCH/mogo-och-charter-passenger/src/m1/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 34aff80614..3abf9be383 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/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 @@ -16,9 +16,6 @@ import android.widget.SeekBar import android.widget.SeekBar.OnSeekBarChangeListener import android.widget.TextView import androidx.core.content.ContextCompat -import androidx.core.view.isVisible -import androidx.recyclerview.widget.LinearSnapHelper -import androidx.recyclerview.widget.SnapHelper import com.mogo.commons.mvp.MvpFragment import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant @@ -30,6 +27,7 @@ import com.mogo.och.bus.passenger.R import com.mogo.och.bus.passenger.bean.Temperature import com.mogo.och.bus.passenger.presenter.BusPassengerFunctionSoftPresenter import com.mogo.och.bus.passenger.ui.adapter.TemperatureAdapter +import com.mogo.och.bus.passenger.ui.layoutmanage.PagerCenterSnapHelper import com.mogo.och.bus.passenger.view.HorizontalDecoration import com.mogo.och.bus.passenger.view.PickerLayoutManager import com.mogo.och.common.module.utils.SoundPoolHelper @@ -37,7 +35,7 @@ import com.yangyakun.main.ui.loading.drawable.MineGradientDrawable import io.reactivex.Observable import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.disposables.Disposable -import kotlinx.android.synthetic.m1.m1_soft_fragment.* +import kotlinx.android.synthetic.main.m1_soft_fragment.* import me.jessyan.autosize.utils.AutoSizeUtils import java.util.concurrent.TimeUnit @@ -228,20 +226,34 @@ class M1SoftFragment : } } val pickerLayoutManager = - PickerLayoutManager(requireContext(), PickerLayoutManager.HORIZONTAL, false) + PickerLayoutManager( + requireContext(), + PickerLayoutManager.HORIZONTAL, + false + ) pickerLayoutManager.isChangeAlpha = true pickerLayoutManager.scaleDownBy = 0.29f pickerLayoutManager.scaleDownDistance = 0.8f val data = getData() - val adapter = TemperatureAdapter(requireContext(), data, rv_aircondition_temperature) - val snapHelper: SnapHelper = LinearSnapHelper() + val adapter = TemperatureAdapter( + requireContext(), + data, + rv_aircondition_temperature + ) + val snapHelper = PagerCenterSnapHelper() snapHelper.attachToRecyclerView(rv_aircondition_temperature) rv_aircondition_temperature.layoutManager = pickerLayoutManager rv_aircondition_temperature.adapter = adapter - HorizontalDecoration.distance = SharedPrefsMgr.getInstance(requireContext()).getInt(HorizontalDecoration.distancekey,0) - val space = AutoSizeUtils.dp2px(context, 22f) - rv_aircondition_temperature.addItemDecoration(HorizontalDecoration(space,data.size-1)) + HorizontalDecoration.distance = SharedPrefsMgr.getInstance(requireContext()).getInt( + HorizontalDecoration.distancekey,0) + val space = AutoSizeUtils.dp2px(context, 15f) + rv_aircondition_temperature.addItemDecoration( + HorizontalDecoration( + space, + data.size - 1 + ) + ) pickerLayoutManager.setOnScrollStopListener { view -> if (view is TextView) { @@ -271,7 +283,7 @@ class M1SoftFragment : } } - private fun setCheckAir(adapter:TemperatureAdapter,tag:Temperature){ + private fun setCheckAir(adapter: TemperatureAdapter, tag:Temperature){ adapter.setCheckIndex(tag.index) currentTemperature = tag if (rv_aircondition_temperature.tag == touchTag) { @@ -699,7 +711,7 @@ class M1SoftFragment : } companion object { - const val TAG = "BusPassengerFunctionSoftFragment" + const val TAG = "M1SoftFragment" const val touchTagKey = 2 const val touchTag = 2 diff --git a/OCH/mogo-och-charter-passenger/src/m1/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 92% rename from OCH/mogo-och-charter-passenger/src/m1/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 bf832a2e49..6708be7aef 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/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 @@ -13,7 +13,7 @@ import com.mogo.och.bus.passenger.ui.layoutmanage.CarouselZoomPostLayoutListener import com.mogo.och.bus.passenger.ui.layoutmanage.CenterScrollListener import com.mogo.och.bus.passenger.view.ConsultVideoPlayer import com.shuyu.gsyvideoplayer.video.base.GSYVideoView -import kotlinx.android.synthetic.m1.m1_video_fragment.* +import kotlinx.android.synthetic.main.m1_video_fragment.* import kotlin.math.floor /** @@ -35,7 +35,11 @@ class M1VideoFragment : override fun initViews() { initConsultData() - val carouselLayoutManager = CarouselLayoutManager(CarouselLayoutManager.HORIZONTAL, true) + val carouselLayoutManager = + CarouselLayoutManager( + CarouselLayoutManager.HORIZONTAL, + true + ) carouselLayoutManager.setPostLayoutListener(CarouselZoomPostLayoutListener()) carouselLayoutManager.maxVisibleItems = 1 rvVideoPlaylist.addOnScrollListener(object : CenterScrollListener() { @@ -81,7 +85,12 @@ class M1VideoFragment : } } } - val recyclerVideoAdapter = RecyclerVideoAdapter(requireContext(), arrayListOf, rvVideoPlaylist) + val recyclerVideoAdapter = + RecyclerVideoAdapter( + requireContext(), + arrayListOf, + rvVideoPlaylist + ) recyclerVideoAdapter.setOnThumbImageClilckListener { val (_: kotlin.Int, player) = getPlayer(carouselLayoutManager) if (player is ConsultVideoPlayer) { @@ -143,7 +152,7 @@ class M1VideoFragment : } companion object { - const val TAG = "BusPassengerFunctionVideoFragment" + const val TAG = "M1VideoFragment" @JvmStatic fun newInstance(): M1VideoFragment { val args = Bundle() diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/fragment/OrderInfoFragment.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/fragment/OrderInfoFragment.kt new file mode 100644 index 0000000000..ff9a178037 --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/dialogfragment/fragment/OrderInfoFragment.kt @@ -0,0 +1,82 @@ +package com.mogo.och.bus.passenger.ui.dialogfragment.fragment + +import android.os.Bundle +import android.view.View +import com.mogo.commons.mvp.MvpFragment +import com.mogo.och.bus.passenger.R +import com.mogo.och.bus.passenger.presenter.OrderInfoPresenter +import com.mogo.och.bus.passenger.ui.dialogfragment.M1ContainFragment +import kotlinx.android.synthetic.main.m1_devices_fragment.* + +/** + * @author: yangyakun + * @date: 2023/1/28 + */ +class OrderInfoFragment : + MvpFragment() { + + private var dismiss: M1ContainFragment.ContainDismiss?=null + + override fun getLayoutId(): Int = R.layout.m1_devices_fragment + + override fun getTagName(): String = TAG + + override fun initViews() { + initListener() + } + + private fun initListener() { + actv_end_order_submit.setOnClickListener { + mPresenter?.endOrder() + } + actv_contain_order.setOnClickListener { + this.dismiss?.closeDialog() + } + actv_end_order.setOnClickListener { + cl_order_info.visibility = View.GONE + cl_order_info_endorder_comfit.visibility = View.VISIBLE + } + } + + fun setStartTimeAndEndTime(startTime:String,endTime:String){ + actv_order_times.text = "$startTime-$endTime" + } + fun setPhone(phone:String){ + if(phone.length>8) { + //截取电话号码前三位 + val phoneNumPre = phone.substring(0, 3); + //截取电话号码后四位 + val phoneNumFix = phone.substring(7); + actv_order_phone.text = "$phoneNumPre****$phoneNumFix" + }else{ + actv_order_phone.text = phone + } + } + + fun setLeftTime(leftTime:String){ + actv_left_time.text = "剩余时间 $leftTime" + } + + fun setContainDismiss(dismiss: M1ContainFragment.ContainDismiss) { + this.dismiss = dismiss + } + + fun closeDialogContaion(){ + this.dismiss?.closeDialog() + } + + override fun createPresenter(): OrderInfoPresenter = + OrderInfoPresenter(this) + + companion object { + const val TAG = "OrderInfoFragment" + @JvmStatic + fun newInstance(dismiss: M1ContainFragment.ContainDismiss): OrderInfoFragment { + val args = Bundle() + val fragment = OrderInfoFragment() + fragment.arguments = args + fragment.setContainDismiss(dismiss) + return fragment + } + } +} \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/layoutmanage/CarouselLayoutManager.java b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/layoutmanage/CarouselLayoutManager.java similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/layoutmanage/CarouselLayoutManager.java rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/layoutmanage/CarouselLayoutManager.java diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/layoutmanage/CarouselZoomPostLayoutListener.java b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/layoutmanage/CarouselZoomPostLayoutListener.java similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/layoutmanage/CarouselZoomPostLayoutListener.java rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/layoutmanage/CarouselZoomPostLayoutListener.java diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/layoutmanage/CenterScrollListener.java b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/layoutmanage/CenterScrollListener.java similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/layoutmanage/CenterScrollListener.java rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/layoutmanage/CenterScrollListener.java diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/layoutmanage/ItemTransformation.java b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/layoutmanage/ItemTransformation.java similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/layoutmanage/ItemTransformation.java rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/layoutmanage/ItemTransformation.java diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/layoutmanage/PagerCenterSnapHelper.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/layoutmanage/PagerCenterSnapHelper.kt new file mode 100644 index 0000000000..f0a3f564db --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/layoutmanage/PagerCenterSnapHelper.kt @@ -0,0 +1,81 @@ +package com.mogo.och.bus.passenger.ui.layoutmanage + +import android.view.View +import androidx.recyclerview.widget.OrientationHelper +import androidx.recyclerview.widget.PagerSnapHelper +import androidx.recyclerview.widget.RecyclerView + +class PagerCenterSnapHelper : PagerSnapHelper() { + private var mHorizontalHelper: OrientationHelper? = null + private var pageScollListener: PageScollListener? = null + override fun findSnapView(layoutManager: RecyclerView.LayoutManager): View? { + if (layoutManager.canScrollVertically()) { + return super.findSnapView(layoutManager) + } else if (layoutManager.canScrollHorizontally()) { + return findCenterView(layoutManager, getHorizontalHelper(layoutManager)) + } + return null + } + + private fun findCenterView( + layoutManager: RecyclerView.LayoutManager, + helper: OrientationHelper + ): View? { + val childCount = layoutManager.childCount + if (childCount == 0) { + return null + } + var closestChild: View? = null + val center = helper.startAfterPadding + helper.totalSpace / 2 + var absClosest = Int.MAX_VALUE + for (i in 0 until childCount) { + val child = layoutManager.getChildAt(i) + val params = child!!.layoutParams as RecyclerView.LayoutParams + var childCenter = 0 + childCenter = if (i == 0) { + helper.getDecoratedStart(child) + helper.getDecoratedMeasurement(child) - layoutManager.getDecoratedMeasuredWidth( + child + ) / 2 - params.rightMargin / 2 + } else if (i == childCount - 1) { + (helper.getDecoratedStart(child) + + (helper.getDecoratedMeasurement(child) - layoutManager.getDecoratedMeasuredWidth( + child + ) / 2 - params.leftMargin / 2 - params.rightMargin)) + } else { + helper.getDecoratedStart(child) + helper.getDecoratedMeasurement(child) / 2 + } + val absDistance = Math.abs(childCenter - center) + /* if child center is closer than previous closest, set it as closest */if (absDistance < absClosest) { + absClosest = absDistance + closestChild = child + } + } + if (pageScollListener != null) { + if (closestChild != null) { + pageScollListener!!.onPageSelected(layoutManager.getPosition(closestChild)) + } + } + return closestChild + } + + private fun getHorizontalHelper( + layoutManager: RecyclerView.LayoutManager + ): OrientationHelper { + if (mHorizontalHelper == null || mHorizontalHelper!!.layoutManager !== layoutManager) { + mHorizontalHelper = OrientationHelper.createHorizontalHelper(layoutManager) + } + return mHorizontalHelper!! + } + + fun setPageScollListener(pageScollListener: PageScollListener?) { + this.pageScollListener = pageScollListener + } + + interface PageScollListener { + fun onPageSelected(i: Int) + } + + companion object { + private const val TAG = "PagerSnapHelper " + } +} \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/view/EarlyEndOrderView.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/EarlyEndOrderView.kt similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/view/EarlyEndOrderView.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/EarlyEndOrderView.kt diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/view/EndOrderView.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/EndOrderView.kt similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/ui/view/EndOrderView.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/EndOrderView.kt 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..95937be4ea --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/bottom/BottomBar.kt @@ -0,0 +1,72 @@ +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) + } + + 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 setApplyClickListener(click:BottomClickView.ApplyClickLintener){ + aciv_center_image.applyClickListener=click + actv_stop_site.applyClickListener=click + actv_close_door.applyClickListener=click + actv_open_door.applyClickListener=click + } + + fun setCheckIndex(index:SelectView){ + if(checkIndex==index){ + return + } + checkIndex = index + if(checkIndex == SelectView.ORDERINFO){ + cl_order_time_press.visibility = VISIBLE + cl_order_time.setCheck(true) + }else{ + cl_order_time_press.visibility = GONE + cl_order_time.setCheck(false) + } + 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/BottomCheckView.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/bottom/BottomCheckView.kt new file mode 100644 index 0000000000..a211f57c7e --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/bottom/BottomCheckView.kt @@ -0,0 +1,84 @@ +package com.mogo.och.bus.passenger.ui.view.bottom + +import android.content.Context +import android.util.AttributeSet +import android.view.LayoutInflater +import android.view.View +import androidx.constraintlayout.widget.ConstraintLayout +import com.mogo.och.bus.passenger.R +import kotlinx.android.synthetic.main.m1_bottom_stop_site.view.* + +open class BottomCheckView @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 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) ?: "" + 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 + } + + fun setCheckItem(isCheck: Boolean) { + if (isCheck != this.isCheck) { + this.isCheck = isCheck + notifiBackageView() + } + } + + private fun notifiBackageView() { + if (isCheck) { + backageView?.visibility = View.VISIBLE + 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)) + } + } + + override fun onAttachedToWindow() { + super.onAttachedToWindow() + parent?.let { + if (parent is ConstraintLayout) { + if (backageViewId > 0) { + backageView = (parent as ConstraintLayout).findViewById(backageViewId) + } + } + } + if (isCheck) { + backageView?.visibility = View.VISIBLE + } + } +} \ 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..23d4abd1a8 --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/bottom/BottomClickView.kt @@ -0,0 +1,109 @@ +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 + + var applyClickListener:ApplyClickLintener?=null + + 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)) + 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)) + 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)) + backageView?.visibility = View.GONE + } + } + else -> {} + } + return false + } + }) + } + + override fun onAttachedToWindow() { + super.onAttachedToWindow() + parent?.let { + if (parent is ConstraintLayout) { + if (backageViewId > 0) { + backageView = (parent as ConstraintLayout).findViewById(backageViewId) + } + } + } + } + + interface ApplyClickLintener{ + fun onApplyClick() + } +} \ 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/BottomOrderInfoView.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/bottom/BottomOrderInfoView.kt new file mode 100644 index 0000000000..ca672690f7 --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/bottom/BottomOrderInfoView.kt @@ -0,0 +1,93 @@ +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.commons.AbsMogoApplication +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger +import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant +import com.mogo.och.bus.passenger.R +import com.mogo.och.bus.passenger.callback.ITimeCallback +import com.mogo.och.bus.passenger.model.CharterPassengerModel +import com.mogo.och.bus.passenger.model.IOrderStatusChangeListener +import com.mogo.och.bus.passenger.model.OrderStatusEnum +import com.mogo.och.common.module.utils.DateTimeUtil +import kotlinx.android.synthetic.main.m1_bottom_orderinfo.view.* + +open class BottomOrderInfoView @JvmOverloads constructor( + context: Context, + attrs: AttributeSet? = null, + defStyleAttr: Int = 0 +) : ConstraintLayout(context, attrs, defStyleAttr), ITimeCallback, IOrderStatusChangeListener { + + companion object { + private const val TAG = "BottomOrderInfoView" + } + + init { + LayoutInflater.from(context).inflate(R.layout.m1_bottom_orderinfo, this, true) + try { + initView(context) + } catch (e: Exception) { + e.printStackTrace() + } + } + + fun setCheck(isCheck:Boolean){ + if(isCheck){ + actv_order_end_time.setTextColor(context.getColor(android.R.color.white)) + actv_order_end_time_title.setTextColor(context.getColor(android.R.color.white)) + }else{ + 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)) + } + } + + private fun initView(context: Context) { + setViewByOrderStatus(CharterPassengerModel.getCurrentOrderStatus()) + } + + override fun onAttachedToWindow() { + super.onAttachedToWindow() + CallerLogger.d(SceneConstant.M_BUS_P + TAG,"onAttachedToWindow$this") + CharterPassengerModel.setOrderLeftTimeListeners(this.toString(),this) + CharterPassengerModel.setStatusChangeListener(this.toString(),this) + } + + override fun onDetachedFromWindow() { + super.onDetachedFromWindow() + CallerLogger.d(SceneConstant.M_BUS_P + TAG,"onDetachedFromWindow$this") + CharterPassengerModel.setOrderLeftTimeListeners(this.toString(),null) + CharterPassengerModel.setStatusChangeListener(this.toString(),null) + } + + private fun setViewByOrderStatus(currentOrderStatus: OrderStatusEnum) { + when (currentOrderStatus) { + OrderStatusEnum.Nothing, + OrderStatusEnum.NoOrderUse, + OrderStatusEnum.NoOrderUnuse ->{ + actv_order_null.visibility = VISIBLE + clg_order_info.visibility = GONE + actv_order_end_time.text = AbsMogoApplication.getApp().getString(R.string.m1_bottom_reach_time) + } + OrderStatusEnum.OrderNoLine, + OrderStatusEnum.OrdersWithLine -> { + actv_order_null.visibility = GONE + clg_order_info.visibility = VISIBLE + } + } + } + + override fun setOrderTimeCallBack(timeInSecond: Long) { + if(timeInSecond>0){ + val arriveTime = DateTimeUtil.second2Time(timeInSecond) + actv_order_end_time.text = arriveTime + } + setViewByOrderStatus(CharterPassengerModel.getCurrentOrderStatus()) + } + + override fun onStatusChange(currentStatus: OrderStatusEnum) { + setViewByOrderStatus(currentStatus) + } +} diff --git a/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/bottom/impl/CloseDoorView.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/bottom/impl/CloseDoorView.kt new file mode 100644 index 0000000000..c52feaf46c --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/bottom/impl/CloseDoorView.kt @@ -0,0 +1,35 @@ +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 +import com.mogo.och.common.module.utils.SoundPoolHelper +import io.reactivex.disposables.Disposable + +class CloseDoorView @JvmOverloads constructor( + context: Context, + attrs: AttributeSet? = null, + defStyleAttr: Int = 0 +) : BottomClickView(context, attrs, defStyleAttr) { + + init { + setOnClickListener { + go2OpenDoor() + applyClickListener?.onApplyClick() + } + } + + private fun go2OpenDoor(){ + LightAirconditionDoorManager.go2OpenDoor(false) + 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/bottom/impl/GoView.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/bottom/impl/GoView.kt new file mode 100644 index 0000000000..cd873d8bb7 --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/bottom/impl/GoView.kt @@ -0,0 +1,87 @@ +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.bus.passenger.ui.view.bottom.BottomClickView +import com.mogo.och.common.module.utils.SoundPoolHelper +import kotlinx.android.synthetic.main.m1_bottom_bar.view.* + +class GoView @JvmOverloads constructor( + context: Context, + attrs: AttributeSet? = null, + defStyleAttr: Int = 0 +) : AppCompatTextView(context, attrs, defStyleAttr) { + + var applyClickListener: BottomClickView.ApplyClickLintener?=null + + companion object{ + private const val TAG = "GoView" + } + + init { + 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() + applyClickListener?.onApplyClick() + } + } + + private fun startGo(){ + when (CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfo().state) { + IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE -> {// 不可自动驾驶 + ToastUtils.showShort("设备未就绪请稍等") + } + IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE -> {// + ToastUtils.showShort("启动自动驾驶中") + CallerAutoPilotControlManager.sendPlanningCmd(2) + CharterPassengerModel.startAutopilot() + CharterPassengerModel.leaveStation() + CharterPassengerModel.sendTripInfo() + } + IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING -> { + // 重新起步 + CallerAutoPilotControlManager.sendPlanningCmd(2) + CharterPassengerModel.leaveStation() + } + IMoGoAutopilotStatusListener.STATUS_PARALLEL_DRIVING -> { + ToastUtils.showShort("因车辆正在平行驾驶中无法靠边停车,请稍后再试") + } + else -> {} + } + 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/bottom/impl/OpenDoorView.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/bottom/impl/OpenDoorView.kt new file mode 100644 index 0000000000..f7e374ac61 --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/bottom/impl/OpenDoorView.kt @@ -0,0 +1,30 @@ +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 + +class OpenDoorView @JvmOverloads constructor( + context: Context, + attrs: AttributeSet? = null, + defStyleAttr: Int = 0 +) : BottomClickView(context, attrs, defStyleAttr) { + + init { + setOnClickListener { + go2OpenDoor() + applyClickListener?.onApplyClick() + } + } + + private fun go2OpenDoor(){ + LightAirconditionDoorManager.go2OpenDoor(true) + 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/bottom/impl/StopSiteView.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/bottom/impl/StopSiteView.kt new file mode 100644 index 0000000000..9469c4035e --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/ui/view/bottom/impl/StopSiteView.kt @@ -0,0 +1,57 @@ +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.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 +) : BottomClickView(context, attrs, defStyleAttr) { + + companion object{ + private const val TAG = "StopSiteView" + } + + init { + setOnClickListener { + stopSite() + applyClickListener?.onApplyClick() + } + } + + private fun stopSite(){ + when (CallerAutoPilotStatusListenerManager.getAutoPilotStatusInfo().state) { + IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_DISABLE -> {// 不可自动驾驶 + ToastUtils.showShort("设备未就绪请稍等,请稍后再试") + } + IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE -> {// + ToastUtils.showShort("因车辆正在人工驾驶中无法靠边停车,请稍后再试") + } + IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING -> { + // 靠边停车 + CallerAutoPilotControlManager.sendPlanningCmd(1) + } + IMoGoAutopilotStatusListener.STATUS_PARALLEL_DRIVING -> { + ToastUtils.showShort("因车辆正在平行驾驶中无法靠边停车,请稍后再试") + } + else -> {} + } + 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/m1/java/com/mogo/och/bus/passenger/utils/FullVideoUtils.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/utils/FullVideoUtils.kt similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/utils/FullVideoUtils.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/utils/FullVideoUtils.kt diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/utils/VoiceFocusManager.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/utils/VoiceFocusManager.kt similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/utils/VoiceFocusManager.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/utils/VoiceFocusManager.kt diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/utils/ZoomDrawable.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/utils/ZoomDrawable.kt similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/utils/ZoomDrawable.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/utils/ZoomDrawable.kt diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/view/BottomDecoration.java b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/view/BottomDecoration.java similarity index 88% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/view/BottomDecoration.java rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/view/BottomDecoration.java index 78ec3608db..55c4d28cd1 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/view/BottomDecoration.java +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/view/BottomDecoration.java @@ -6,10 +6,6 @@ import android.view.View; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; -import com.mogo.commons.AbsMogoApplication; -import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr; -import com.mogo.och.bus.passenger.ui.adapter.TemperatureAdapter; - public class BottomDecoration extends RecyclerView.ItemDecoration { /** * 第一个视图和最后一个视图偏移的距离 diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/view/ConsultVideoPlayer.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/view/ConsultVideoPlayer.kt similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/view/ConsultVideoPlayer.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/view/ConsultVideoPlayer.kt diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/view/DrawBitmapView.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/view/DrawBitmapView.kt similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/view/DrawBitmapView.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/view/DrawBitmapView.kt diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/view/DrawableCheckBox.java b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/view/DrawableCheckBox.java similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/view/DrawableCheckBox.java rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/view/DrawableCheckBox.java diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/view/HorizontalDecoration.java b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/view/HorizontalDecoration.java similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/view/HorizontalDecoration.java rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/view/HorizontalDecoration.java diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/view/PickerLayoutManager.java b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/view/PickerLayoutManager.java similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/view/PickerLayoutManager.java rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/view/PickerLayoutManager.java diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/view/RecyclerViewCornerRadius.java b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/view/RecyclerViewCornerRadius.java similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/view/RecyclerViewCornerRadius.java rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/view/RecyclerViewCornerRadius.java diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/view/drawable/MineGradientDrawable.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/view/drawable/MineGradientDrawable.kt similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/view/drawable/MineGradientDrawable.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/view/drawable/MineGradientDrawable.kt diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/view/statusbar/M1BlueToothView.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/view/statusbar/M1BlueToothView.kt similarity index 93% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/view/statusbar/M1BlueToothView.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/view/statusbar/M1BlueToothView.kt index 7a7ce0013f..e193fa8785 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/view/statusbar/M1BlueToothView.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/view/statusbar/M1BlueToothView.kt @@ -6,7 +6,7 @@ import android.view.LayoutInflater import com.mogo.eagle.core.function.api.devatools.IMoGoDevaToolsListener import com.mogo.eagle.core.function.hmi.ui.widget.BlueToothView import com.mogo.och.bus.passenger.R -import kotlinx.android.synthetic.m1.m1_statusview_blue_tooth.view.* +import kotlinx.android.synthetic.main.m1_statusview_blue_tooth.view.* /** * 魔戒蓝牙控件 diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/view/statusbar/StatusBarView.kt b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/view/statusbar/StatusBarView.kt similarity index 80% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/view/statusbar/StatusBarView.kt rename to OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/view/statusbar/StatusBarView.kt index 9c9abbefc2..053622a980 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/view/statusbar/StatusBarView.kt +++ b/OCH/mogo-och-charter-passenger/src/main/java/com/mogo/och/bus/passenger/view/statusbar/StatusBarView.kt @@ -2,6 +2,7 @@ package com.mogo.och.bus.passenger.view.statusbar import android.annotation.SuppressLint import android.content.Context +import android.os.SystemClock import android.util.AttributeSet import android.view.LayoutInflater import android.view.ViewGroup @@ -20,8 +21,10 @@ import com.mogo.eagle.core.function.hmi.ui.widget.DemoModeView import com.mogo.eagle.core.utilcode.util.ClickUtils import com.mogo.eagle.core.utilcode.util.UiThreadHandler import com.mogo.och.bus.passenger.R -import kotlinx.android.synthetic.m1.m1_statusview_datetime.view.* +import com.mogo.och.bus.passenger.bean.event.DebugView +import kotlinx.android.synthetic.main.m1_statusview_datetime.view.* import me.jessyan.autosize.utils.AutoSizeUtils +import org.greenrobot.eventbus.EventBus import kotlin.math.roundToInt class StatusBarView @JvmOverloads constructor( @@ -32,6 +35,21 @@ class StatusBarView @JvmOverloads constructor( companion object { const val TAG = "StatusBarView" + private const val COUNTS = 4 // 点击次数 + private const val DURATION: Long = 1000 // 规定有效时间 + } + + private var mHits = LongArray(COUNTS) + + private fun continuousClick() { + //每次点击时,数组向前移动一位 + System.arraycopy(mHits, 1, mHits, 0, mHits.size - 1) + //为数组最后一位赋值 + mHits[mHits.size - 1] = SystemClock.uptimeMillis() + if (mHits[0] >= (SystemClock.uptimeMillis() - DURATION)) { + mHits = LongArray(COUNTS) //重新初始化数组 + EventBus.getDefault().post(DebugView("show")) + } } init { @@ -58,6 +76,10 @@ class StatusBarView @JvmOverloads constructor( updateStatusBarRightView(FunctionBuildConfig.isDemoMode, "demoMode", DemoModeView(this.context)) + bizz_view.setOnClickListener { + continuousClick() + } + progress.progress = 50 tv_power_cos.text = "50%" } diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/anim/alpha_hide_show.xml b/OCH/mogo-och-charter-passenger/src/main/res/anim/alpha_hide_show.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/anim/alpha_hide_show.xml rename to OCH/mogo-och-charter-passenger/src/main/res/anim/alpha_hide_show.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/color/bus_p_aircondition_enable.xml b/OCH/mogo-och-charter-passenger/src/main/res/color/bus_p_aircondition_enable.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/color/bus_p_aircondition_enable.xml rename to OCH/mogo-och-charter-passenger/src/main/res/color/bus_p_aircondition_enable.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/color/bus_p_function_airconditon_pattern_text_color_selector.xml b/OCH/mogo-och-charter-passenger/src/main/res/color/bus_p_function_airconditon_pattern_text_color_selector.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/color/bus_p_function_airconditon_pattern_text_color_selector.xml rename to OCH/mogo-och-charter-passenger/src/main/res/color/bus_p_function_airconditon_pattern_text_color_selector.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bg_taxi_p_video_index.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bg_taxi_p_video_index.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bg_taxi_p_video_index.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bg_taxi_p_video_index.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bg_taxi_p_video_thumb_big.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bg_taxi_p_video_thumb_big.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bg_taxi_p_video_thumb_big.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bg_taxi_p_video_thumb_big.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bg_taxi_p_video_thumb_small.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bg_taxi_p_video_thumb_small.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bg_taxi_p_video_thumb_small.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bg_taxi_p_video_thumb_small.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bug_p_overmap_car_model.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bug_p_overmap_car_model.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bug_p_overmap_car_model.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bug_p_overmap_car_model.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_car_speed.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_car_speed.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_car_speed.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_car_speed.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_aircondition_nor.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_aircondition_nor.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_aircondition_nor.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_aircondition_nor.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_aircondition_pattern_selected.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_aircondition_pattern_selected.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_aircondition_pattern_selected.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_aircondition_pattern_selected.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_aircondition_select.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_aircondition_select.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_aircondition_select.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_aircondition_select.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_aircondition_selected.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_aircondition_selected.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_aircondition_selected.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_aircondition_selected.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_aircondition_switch_selected.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_aircondition_switch_selected.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_aircondition_switch_selected.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_aircondition_switch_selected.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_atmosphere_nor.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_atmosphere_nor.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_atmosphere_nor.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_atmosphere_nor.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_atmosphere_select.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_atmosphere_select.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_atmosphere_select.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_atmosphere_select.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_device_closedoor_normal_src.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_device_closedoor_normal_src.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_device_closedoor_normal_src.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_device_closedoor_normal_src.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_device_closedoor_press_src.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_device_closedoor_press_src.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_device_closedoor_press_src.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_device_closedoor_press_src.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_device_go_normal_src.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_device_go_normal_src.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_device_go_normal_src.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_device_go_normal_src.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_device_go_press_src.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_device_go_press_src.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_device_go_press_src.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_device_go_press_src.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_device_normal.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_device_normal.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_device_normal.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_device_normal.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_device_opendoor_normal_src.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_device_opendoor_normal_src.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_device_opendoor_normal_src.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_device_opendoor_normal_src.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_device_opendoor_press_src.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_device_opendoor_press_src.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_device_opendoor_press_src.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_device_opendoor_press_src.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_device_press.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_device_press.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_device_press.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_device_press.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_device_stopside_normal_src.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_device_stopside_normal_src.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_device_stopside_normal_src.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_device_stopside_normal_src.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_device_stopside_press_src.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_device_stopside_press_src.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_device_stopside_press_src.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_device_stopside_press_src.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_information_normal.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_information_normal.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_information_normal.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_information_normal.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_information_press.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_information_press.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_information_press.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_information_press.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_left_bg_selected.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_left_bg_selected.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_left_bg_selected.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_left_bg_selected.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_light_check_select.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_light_check_select.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_light_check_select.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_light_check_select.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_light_check_selected.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_light_check_selected.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_light_check_selected.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_light_check_selected.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_light_middle_selected.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_light_middle_selected.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_light_middle_selected.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_light_middle_selected.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_light_nor.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_light_nor.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_light_nor.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_light_nor.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_light_select.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_light_select.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_light_select.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_light_select.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_light_select_left.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_light_select_left.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_light_select_left.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_light_select_left.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_light_select_right.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_light_select_right.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_light_select_right.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_light_select_right.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_light_selected.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_light_selected.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_light_selected.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_light_selected.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_light_switch_bg_selected.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_light_switch_bg_selected.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_light_switch_bg_selected.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_light_switch_bg_selected.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_order_normal.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_order_normal.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_order_normal.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_order_normal.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_order_press.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_order_press.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_order_press.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_order_press.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_soft_normal.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_soft_normal.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_soft_normal.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_soft_normal.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_soft_press.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_soft_press.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_soft_press.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_soft_press.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_voice_humb.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_voice_humb.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_voice_humb.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_voice_humb.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_voice_left_select_src.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_voice_left_select_src.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_voice_left_select_src.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_voice_left_select_src.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_voice_left_selected_src.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_voice_left_selected_src.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_voice_left_selected_src.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_voice_left_selected_src.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_voice_max.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_voice_max.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_voice_max.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_voice_max.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_voice_middle_select.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_voice_middle_select.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_voice_middle_select.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_voice_middle_select.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_voice_middle_selected.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_voice_middle_selected.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_voice_middle_selected.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_voice_middle_selected.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_voice_min.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_voice_min.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_function_voice_min.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_function_voice_min.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_loading.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_loading.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_loading.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_loading.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_m1_blue_tooth_close.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_m1_blue_tooth_close.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_m1_blue_tooth_close.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_m1_blue_tooth_close.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_m1_blue_tooth_open.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_m1_blue_tooth_open.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_m1_blue_tooth_open.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_m1_blue_tooth_open.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_m1_status_bar_logo.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_m1_status_bar_logo.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_m1_status_bar_logo.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_m1_status_bar_logo.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_overmap_reset.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_overmap_reset.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_overmap_reset.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_overmap_reset.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_player_change_normal.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_player_change_normal.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_p_player_change_normal.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_p_player_change_normal.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_pm1_aircondition_wind_high.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_pm1_aircondition_wind_high.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_pm1_aircondition_wind_high.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_pm1_aircondition_wind_high.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_pm1_aircondition_wind_low.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_pm1_aircondition_wind_low.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_pm1_aircondition_wind_low.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_pm1_aircondition_wind_low.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_pm1_aircondition_wind_middle.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_pm1_aircondition_wind_middle.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_pm1_aircondition_wind_middle.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_pm1_aircondition_wind_middle.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_pm1_warm_wind_high.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_pm1_warm_wind_high.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_pm1_warm_wind_high.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_pm1_warm_wind_high.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_pm1_warm_wind_lod.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_pm1_warm_wind_lod.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_pm1_warm_wind_lod.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_pm1_warm_wind_lod.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_pm1_warm_wind_middle.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_pm1_warm_wind_middle.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/bus_pm1_warm_wind_middle.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/bus_pm1_warm_wind_middle.png 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_end_order_openclosedoor.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_end_order_openclosedoor.png new file mode 100644 index 0000000000..766ec25cb4 Binary files /dev/null and b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_end_order_openclosedoor.png differ diff --git a/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_endorder_head.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_endorder_head.png new file mode 100644 index 0000000000..97d123c08b Binary files /dev/null and b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_endorder_head.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-nodpi/charter_p_order_closedoor_normal.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_order_closedoor_normal.png new file mode 100644 index 0000000000..340b0ac8ce Binary files /dev/null and b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_order_closedoor_normal.png differ diff --git a/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_order_closedoor_press.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_order_closedoor_press.png new file mode 100644 index 0000000000..0fa1c55f9b Binary files /dev/null and b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/charter_p_order_closedoor_press.png differ 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/m1/res/drawable-nodpi/m1_function_bg.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/m1_function_bg.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_function_bg.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/m1_function_bg.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_line_cancle_submit_bg.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/m1_line_cancle_submit_bg.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_line_cancle_submit_bg.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/m1_line_cancle_submit_bg.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_order_early_end.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/m1_order_early_end.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_order_early_end.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/m1_order_early_end.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_order_end.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/m1_order_end.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_order_end.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/m1_order_end.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_order_end_car.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/m1_order_end_car.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_order_end_car.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/m1_order_end_car.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_order_noorder.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/m1_order_noorder.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_order_noorder.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/m1_order_noorder.png diff --git a/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/m1_order_opendoor_normal.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/m1_order_opendoor_normal.png new file mode 100644 index 0000000000..3c520fd5e1 Binary files /dev/null and b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/m1_order_opendoor_normal.png differ diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_order_opendoor_press.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/m1_order_opendoor_press.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_order_opendoor_press.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/m1_order_opendoor_press.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_order_site_check.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/m1_order_site_check.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_order_site_check.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/m1_order_site_check.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_order_site_check_enable.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/m1_order_site_check_enable.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_order_site_check_enable.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/m1_order_site_check_enable.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_order_site_checked.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/m1_order_site_checked.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_order_site_checked.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/m1_order_site_checked.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_order_switch_line_enable.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/m1_order_switch_line_enable.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_order_switch_line_enable.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/m1_order_switch_line_enable.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_order_switch_line_unenable.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/m1_order_switch_line_unenable.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_order_switch_line_unenable.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/m1_order_switch_line_unenable.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_site_cancle_submit_bg.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/m1_site_cancle_submit_bg.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_site_cancle_submit_bg.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/m1_site_cancle_submit_bg.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_site_submit_bg.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/m1_site_submit_bg.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_site_submit_bg.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/m1_site_submit_bg.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_small_map_view_dir_end.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/m1_small_map_view_dir_end.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/m1_small_map_view_dir_end.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/m1_small_map_view_dir_end.png diff --git a/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/map_staton_icon.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/map_staton_icon.png new file mode 100644 index 0000000000..1314028434 Binary files /dev/null and b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/map_staton_icon.png differ diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/notice_video_pause_big.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/notice_video_pause_big.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/notice_video_pause_big.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/notice_video_pause_big.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/notice_video_pause_small.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/notice_video_pause_small.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/notice_video_pause_small.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/notice_video_pause_small.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/notice_video_start_big.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/notice_video_start_big.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/notice_video_start_big.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/notice_video_start_big.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/notice_video_start_small.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/notice_video_start_small.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/notice_video_start_small.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/notice_video_start_small.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/taxi_p_change_full.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/taxi_p_change_full.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/taxi_p_change_full.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/taxi_p_change_full.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/taxi_p_mogo_video_play.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/taxi_p_mogo_video_play.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/taxi_p_mogo_video_play.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/taxi_p_mogo_video_play.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/taxi_p_video_bg_bottom.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/taxi_p_video_bg_bottom.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/taxi_p_video_bg_bottom.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/taxi_p_video_bg_bottom.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/taxi_p_video_bg_top.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/taxi_p_video_bg_top.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/taxi_p_video_bg_top.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/taxi_p_video_bg_top.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/taxi_p_video_holder.png b/OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/taxi_p_video_holder.png similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-nodpi/taxi_p_video_holder.png rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-nodpi/taxi_p_video_holder.png diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-v29/taxi_power_size_seekbar_style.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable-v29/taxi_power_size_seekbar_style.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-v29/taxi_power_size_seekbar_style.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-v29/taxi_power_size_seekbar_style.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable-v29/taxi_video_seekbar_style.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable-v29/taxi_video_seekbar_style.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable-v29/taxi_video_seekbar_style.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable-v29/taxi_video_seekbar_style.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bg_taxi_p_video_bg.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bg_taxi_p_video_bg.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bg_taxi_p_video_bg.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bg_taxi_p_video_bg.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bg_taxi_p_video_bg_shape.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bg_taxi_p_video_bg_shape.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bg_taxi_p_video_bg_shape.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bg_taxi_p_video_bg_shape.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bg_taxi_p_video_bg_top.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bg_taxi_p_video_bg_top.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bg_taxi_p_video_bg_top.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bg_taxi_p_video_bg_top.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_distance_info_bg.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_distance_info_bg.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_distance_info_bg.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_distance_info_bg.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_aircondition_common_bg.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_aircondition_common_bg.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_aircondition_common_bg.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_aircondition_common_bg.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_aircondition_common_bg_01.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_aircondition_common_bg_01.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_aircondition_common_bg_01.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_aircondition_common_bg_01.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_aircondition_left_select.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_aircondition_left_select.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_aircondition_left_select.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_aircondition_left_select.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_aircondition_left_selected.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_aircondition_left_selected.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_aircondition_left_selected.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_aircondition_left_selected.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_aircondition_pattern_selecotr.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_aircondition_pattern_selecotr.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_aircondition_pattern_selecotr.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_aircondition_pattern_selecotr.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_aircondition_pattern_select.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_aircondition_pattern_select.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_aircondition_pattern_select.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_aircondition_pattern_select.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_aircondition_switch_select.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_aircondition_switch_select.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_aircondition_switch_select.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_aircondition_switch_select.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_aircondition_switch_selector.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_aircondition_switch_selector.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_aircondition_switch_selector.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_aircondition_switch_selector.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_airconditon_bg_selector.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_airconditon_bg_selector.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_airconditon_bg_selector.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_airconditon_bg_selector.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_airconditon_left_selector.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_airconditon_left_selector.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_airconditon_left_selector.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_airconditon_left_selector.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_airconditon_text_color_selector.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_airconditon_text_color_selector.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_airconditon_text_color_selector.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_airconditon_text_color_selector.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_bottom_device_bg_selector.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_bottom_device_bg_selector.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_bottom_device_bg_selector.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_bottom_device_bg_selector.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_bottom_information_bg_selector.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_bottom_information_bg_selector.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_bottom_information_bg_selector.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_bottom_information_bg_selector.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_bottom_order_bg_selector.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_bottom_order_bg_selector.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_bottom_order_bg_selector.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_bottom_order_bg_selector.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_bottom_soft_bg_selector.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_bottom_soft_bg_selector.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_bottom_soft_bg_selector.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_bottom_soft_bg_selector.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_device_closedoor_normal.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_device_closedoor_normal.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_device_closedoor_normal.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_device_closedoor_normal.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_device_closedoor_press.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_device_closedoor_press.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_device_closedoor_press.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_device_closedoor_press.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_device_closedoor_press_selecor.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_device_closedoor_press_selecor.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_device_closedoor_press_selecor.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_device_closedoor_press_selecor.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_device_go_normal.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_device_go_normal.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_device_go_normal.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_device_go_normal.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_device_go_press.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_device_go_press.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_device_go_press.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_device_go_press.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_device_go_press_selecor.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_device_go_press_selecor.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_device_go_press_selecor.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_device_go_press_selecor.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_device_opendoor_normal.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_device_opendoor_normal.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_device_opendoor_normal.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_device_opendoor_normal.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_device_opendoor_press.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_device_opendoor_press.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_device_opendoor_press.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_device_opendoor_press.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_device_opendoor_press_selecor.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_device_opendoor_press_selecor.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_device_opendoor_press_selecor.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_device_opendoor_press_selecor.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_device_stopside_normal.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_device_stopside_normal.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_device_stopside_normal.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_device_stopside_normal.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_device_stopside_press.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_device_stopside_press.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_device_stopside_press.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_device_stopside_press.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_device_stopside_press_selecor.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_device_stopside_press_selecor.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_device_stopside_press_selecor.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_device_stopside_press_selecor.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_distance_split_bg.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_distance_split_bg.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_distance_split_bg.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_distance_split_bg.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_left_bg_select.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_left_bg_select.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_left_bg_select.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_left_bg_select.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_light_left_select.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_light_left_select.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_light_left_select.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_light_left_select.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_light_left_selected.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_light_left_selected.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_light_left_selected.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_light_left_selected.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_light_left_selector.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_light_left_selector.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_light_left_selector.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_light_left_selector.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_light_switch_bg_select.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_light_switch_bg_select.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_light_switch_bg_select.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_light_switch_bg_select.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_light_switch_bg_selector.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_light_switch_bg_selector.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_light_switch_bg_selector.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_light_switch_bg_selector.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_setting_soft_b_shape.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_setting_soft_b_shape.xml similarity index 80% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_setting_soft_b_shape.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_setting_soft_b_shape.xml index 7197abdc70..9fc3f02d44 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_setting_soft_b_shape.xml +++ b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_setting_soft_b_shape.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_switch_left_select.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_switch_left_select.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_switch_left_select.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_switch_left_select.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_switch_left_selected.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_switch_left_selected.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_switch_left_selected.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_switch_left_selected.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_switch_left_selector.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_switch_left_selector.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_switch_left_selector.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_switch_left_selector.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_video_player_change_full.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_video_player_change_full.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_video_player_change_full.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_video_player_change_full.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_video_player_change_normal.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_video_player_change_normal.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_video_player_change_normal.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_video_player_change_normal.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_video_player_pause_big.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_video_player_pause_big.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_video_player_pause_big.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_video_player_pause_big.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_video_player_pause_small.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_video_player_pause_small.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_video_player_pause_small.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_video_player_pause_small.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_video_player_start_big.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_video_player_start_big.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_video_player_start_big.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_video_player_start_big.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_video_player_start_small.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_video_player_start_small.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_video_player_start_small.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_video_player_start_small.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_video_player_thumb_big.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_video_player_thumb_big.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_video_player_thumb_big.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_video_player_thumb_big.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_video_player_thumb_samll.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_video_player_thumb_samll.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_video_player_thumb_samll.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_video_player_thumb_samll.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_voice_left_select.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_voice_left_select.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_voice_left_select.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_voice_left_select.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_voice_left_selected.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_voice_left_selected.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_voice_left_selected.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_voice_left_selected.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_voice_left_selector.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_voice_left_selector.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_voice_left_selector.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_voice_left_selector.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_voice_right_process_humb.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_voice_right_process_humb.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_function_voice_right_process_humb.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_function_voice_right_process_humb.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_overmap_reset_size.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_overmap_reset_size.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/bus_p_overmap_reset_size.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/bus_p_overmap_reset_size.xml 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_cancle_line_site_change.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/charter_p_shape_cancle_line_site_change.xml new file mode 100644 index 0000000000..18e583918f --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/res/drawable/charter_p_shape_cancle_line_site_change.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_line_switch_left.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/charter_p_shape_line_switch_left.xml new file mode 100644 index 0000000000..39e2db4eb9 --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/res/drawable/charter_p_shape_line_switch_left.xml @@ -0,0 +1,11 @@ + + + + + \ 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/drawable/charter_p_shape_submit_line_site_change.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/charter_p_shape_submit_line_site_change.xml new file mode 100644 index 0000000000..1cc7325f05 --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/res/drawable/charter_p_shape_submit_line_site_change.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/main/res/drawable/m1_order_end_closedoor_selecotr.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/m1_order_end_closedoor_selecotr.xml new file mode 100644 index 0000000000..272dc7dba4 --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/res/drawable/m1_order_end_closedoor_selecotr.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/m1_order_end_opendoor_selecotr.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/m1_order_end_opendoor_selecotr.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/m1_order_end_opendoor_selecotr.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/m1_order_end_opendoor_selecotr.xml diff --git a/OCH/mogo-och-charter-passenger/src/main/res/drawable/m1_order_line_checked_shape.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/m1_order_line_checked_shape.xml new file mode 100644 index 0000000000..06e010b21c --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/res/drawable/m1_order_line_checked_shape.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/m1_order_line_shape.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/m1_order_line_shape.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/m1_order_line_shape.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/m1_order_line_shape.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/taxi_power_size_seekbar_style.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/taxi_power_size_seekbar_style.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/taxi_power_size_seekbar_style.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/taxi_power_size_seekbar_style.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/drawable/taxi_video_seekbar_style.xml b/OCH/mogo-och-charter-passenger/src/main/res/drawable/taxi_video_seekbar_style.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/drawable/taxi_video_seekbar_style.xml rename to OCH/mogo-och-charter-passenger/src/main/res/drawable/taxi_video_seekbar_style.xml 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..b6bbf7d4f5 --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_bottom_bar.xml @@ -0,0 +1,155 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_bottom_orderinfo.xml b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_bottom_orderinfo.xml new file mode 100644 index 0000000000..c2bdf80453 --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_bottom_orderinfo.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + \ 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_contain_fragment.xml b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_contain_fragment.xml new file mode 100644 index 0000000000..f31d85ae64 --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_contain_fragment.xml @@ -0,0 +1,26 @@ + + + + + + + + + \ 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 new file mode 100644 index 0000000000..5a24d42f0e --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_devices_fragment.xml @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/layout/m1_main_fragment.xml b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_main_fragment.xml similarity index 83% rename from OCH/mogo-och-charter-passenger/src/m1/res/layout/m1_main_fragment.xml rename to OCH/mogo-och-charter-passenger/src/main/res/layout/m1_main_fragment.xml index 52c5eeaf30..4817c92f25 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/res/layout/m1_main_fragment.xml +++ b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_main_fragment.xml @@ -29,6 +29,16 @@ android:layout_width="0dp" android:layout_height="match_parent"/> + + - + - + - - - - - - - - + android:layout_width="match_parent" + android:layout_height="@dimen/dp_107"/> @@ -251,6 +224,14 @@ app:layout_constraintTop_toTopOf="parent" app:layout_constraintEnd_toEndOf="parent"/> + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/layout/m1_order_line_item.xml b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_order_line_item.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/layout/m1_order_line_item.xml rename to OCH/mogo-och-charter-passenger/src/main/res/layout/m1_order_line_item.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/layout/m1_order_noorder.xml b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_order_noorder.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/layout/m1_order_noorder.xml rename to OCH/mogo-och-charter-passenger/src/main/res/layout/m1_order_noorder.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/layout/m1_order_site_item.xml b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_order_site_item.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/layout/m1_order_site_item.xml rename to OCH/mogo-och-charter-passenger/src/main/res/layout/m1_order_site_item.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/layout/m1_soft_fragment.xml b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_soft_fragment.xml similarity index 99% rename from OCH/mogo-och-charter-passenger/src/m1/res/layout/m1_soft_fragment.xml rename to OCH/mogo-och-charter-passenger/src/main/res/layout/m1_soft_fragment.xml index 47d7a64006..1334bfb082 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/res/layout/m1_soft_fragment.xml +++ b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_soft_fragment.xml @@ -99,7 +99,7 @@ android:layout_marginBottom="@dimen/dp_17" android:background="@drawable/bus_p_function_aircondition_switch_selector" android:button="@null" - android:checked="true" + android:checked="false" android:drawableLeft="@drawable/bus_p_function_switch_left_selector" android:text="打开空调" android:gravity="left|center_vertical" diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/layout/m1_soft_temperature_item.xml b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_soft_temperature_item.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/layout/m1_soft_temperature_item.xml rename to OCH/mogo-och-charter-passenger/src/main/res/layout/m1_soft_temperature_item.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/layout/m1_statusview_blue_tooth.xml b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_statusview_blue_tooth.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/layout/m1_statusview_blue_tooth.xml rename to OCH/mogo-och-charter-passenger/src/main/res/layout/m1_statusview_blue_tooth.xml diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/layout/m1_statusview_datetime.xml b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_statusview_datetime.xml similarity index 94% rename from OCH/mogo-och-charter-passenger/src/m1/res/layout/m1_statusview_datetime.xml rename to OCH/mogo-och-charter-passenger/src/main/res/layout/m1_statusview_datetime.xml index b3f84e633f..4300a2c6b4 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/res/layout/m1_statusview_datetime.xml +++ b/OCH/mogo-och-charter-passenger/src/main/res/layout/m1_statusview_datetime.xml @@ -16,13 +16,17 @@ android:gravity="center" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintEnd_toEndOf="parent" - android:layout_marginEnd="@dimen/dp_90" + app:layout_constraintEnd_toStartOf="@+id/bizz_view" android:textColor="@color/bus_p_m1_1b2546" android:includeFontPadding="false" android:textSize="@dimen/dp_22" android:textStyle="bold" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/raw/aiqinghao.nt3d b/OCH/mogo-och-charter-passenger/src/main/res/raw/aiqinghao.nt3d similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/raw/aiqinghao.nt3d rename to OCH/mogo-och-charter-passenger/src/main/res/raw/aiqinghao.nt3d diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/raw/jiatinghao.nt3d b/OCH/mogo-och-charter-passenger/src/main/res/raw/jiatinghao.nt3d similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/raw/jiatinghao.nt3d rename to OCH/mogo-och-charter-passenger/src/main/res/raw/jiatinghao.nt3d diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/raw/m1.nt3d b/OCH/mogo-och-charter-passenger/src/main/res/raw/m1.nt3d similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/raw/m1.nt3d rename to OCH/mogo-och-charter-passenger/src/main/res/raw/m1.nt3d diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/raw/m1_voice_di.mp3 b/OCH/mogo-och-charter-passenger/src/main/res/raw/m1_voice_di.mp3 similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/raw/m1_voice_di.mp3 rename to OCH/mogo-och-charter-passenger/src/main/res/raw/m1_voice_di.mp3 diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/raw/pengyouhao.nt3d b/OCH/mogo-och-charter-passenger/src/main/res/raw/pengyouhao.nt3d similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/raw/pengyouhao.nt3d rename to OCH/mogo-och-charter-passenger/src/main/res/raw/pengyouhao.nt3d 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 new file mode 100644 index 0000000000..2b68f358f0 --- /dev/null +++ b/OCH/mogo-och-charter-passenger/src/main/res/values/attrs.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/values/color.xml b/OCH/mogo-och-charter-passenger/src/main/res/values/color.xml similarity index 80% rename from OCH/mogo-och-charter-passenger/src/m1/res/values/color.xml rename to OCH/mogo-och-charter-passenger/src/main/res/values/color.xml index 26fd58da09..0680b9efba 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/res/values/color.xml +++ b/OCH/mogo-och-charter-passenger/src/main/res/values/color.xml @@ -18,12 +18,19 @@ #4A5375 #0F1E57 #225EFF + #0050E1 + #1466FB + #331466FB + #43CEFE #3B4056 #23293B #485173 #292C39 #2C2D31 #222222 + #090F28 + #5F7096 + #9AABD2 #662C2D31 #332C2D31 @@ -34,4 +41,5 @@ #91EFF6FF #CCFFFFFF #80FFFFFF + #F0E0EFFF \ No newline at end of file diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/values/strings.xml b/OCH/mogo-och-charter-passenger/src/main/res/values/strings.xml similarity index 78% rename from OCH/mogo-och-charter-passenger/src/m1/res/values/strings.xml rename to OCH/mogo-och-charter-passenger/src/main/res/values/strings.xml index d2b0ab1abf..a86e30f86c 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/res/values/strings.xml +++ b/OCH/mogo-och-charter-passenger/src/main/res/values/strings.xml @@ -29,6 +29,16 @@ 包车将在5分钟后结束,结束后我们将自动为您寻找停车点 + 距离(KM) + 距离(M) + 剩余(分) + 到达 + + --:-- + + 靠边停车 + + diff --git a/OCH/mogo-och-charter-passenger/src/m1/res/values/styles.xml b/OCH/mogo-och-charter-passenger/src/main/res/values/styles.xml similarity index 100% rename from OCH/mogo-och-charter-passenger/src/m1/res/values/styles.xml rename to OCH/mogo-och-charter-passenger/src/main/res/values/styles.xml diff --git a/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/bean/QueryCurrentOrderResponse.kt b/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/bean/QueryCurrentOrderResponse.kt index e2c4521324..3e77f463b2 100644 --- a/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/bean/QueryCurrentOrderResponse.kt +++ b/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/bean/QueryCurrentOrderResponse.kt @@ -22,7 +22,9 @@ data class QueryCurrentOrderResponse(var data: Result):BaseData(){ //线路id , var wgs84Lat: Double = 0.0, var startTime: Long, var endTime: Long, - var passengerPhone: String + var passengerPhone: String, + val arriveStatus:Int?,//1:未到达 2:到达 + val writeVersion: Long = 0 //更新时间戳 ){ override fun equals(o: Any?): Boolean { if (this === o) return true @@ -38,6 +40,13 @@ data class QueryCurrentOrderResponse(var data: Result):BaseData(){ //线路id , && wgs84Lon == result.wgs84Lon && wgs84Lon == result.wgs84Lon && Objects.equals(passengerPhone , result.passengerPhone) + && arriveStatus == result.arriveStatus + && writeVersion == result.writeVersion + } + + companion object{ + const val ARRIVING = 1 //未到站 + const val ARRIVED = 2 //到站 } } } diff --git a/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/bean/Station.kt b/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/bean/Station.kt index 7a8a8ce957..4b44f958bc 100644 --- a/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/bean/Station.kt +++ b/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/bean/Station.kt @@ -5,3 +5,5 @@ package com.magic.mogo.och.charter.bean * @date: 2023/2/23 */ data class Station(var siteId: Int, var siteName: String, var seq: Int) + +data class ArriveDestRequest(val sn:String, val lineId:Long,val writeVersion:Long) diff --git a/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/bean/WriteOffPassenger.java b/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/bean/WriteOffPassenger.java new file mode 100644 index 0000000000..1c97a9edbd --- /dev/null +++ b/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/bean/WriteOffPassenger.java @@ -0,0 +1,14 @@ +package com.magic.mogo.och.charter.bean; + +import java.io.Serializable; + +/** + * @author: wangmingjun + * @date: 2022/9/23 + */ +public class WriteOffPassenger implements Serializable { + public String phone; + public String orderNo; + public int passengerSize; + public long writeOffTime; +} diff --git a/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/fragment/DriverM1Fragment.kt b/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/fragment/DriverM1Fragment.kt index 8ad297cf23..d4362392fd 100644 --- a/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/fragment/DriverM1Fragment.kt +++ b/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/fragment/DriverM1Fragment.kt @@ -1,5 +1,6 @@ package com.magic.mogo.och.charter.fragment +import android.graphics.BitmapFactory import android.os.Bundle import android.os.CountDownTimer import android.view.View.GONE @@ -8,21 +9,30 @@ import com.alibaba.android.arouter.launcher.ARouter import com.magic.mogo.och.charter.R import com.magic.mogo.och.charter.base.CharterBaseFragment import com.magic.mogo.och.charter.bean.QueryCurrentOrderResponse +import com.magic.mogo.och.charter.bean.QueryCurrentOrderResponse.Result.Companion.ARRIVED +import com.magic.mogo.och.charter.bean.QueryCurrentOrderResponse.Result.Companion.ARRIVING import com.magic.mogo.och.charter.constant.CharterConst.Companion.LOOP_PERIOD_60S import com.magic.mogo.och.charter.net.login.LoginDriverM1Impl import com.magic.mogo.och.charter.presenter.DriverM1Presenter import com.magic.mogo.och.charter.view.SlidePanelView +import com.mogo.cloud.passport.MoGoAiCloudClientConfig +import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.temp.EventLogout import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.och.common.module.biz.constant.OchCommonConst import com.mogo.och.common.module.biz.provider.LoginService import com.mogo.och.common.module.utils.DateTimeUtil +import com.mogo.och.common.module.utils.createQRCodeWithPicture +import com.mogo.och.common.module.wigets.BindQRCodeDialog import com.mogo.och.common.module.wigets.OCHCommitDialog import kotlinx.android.synthetic.driverm1.bus_no_line_view.* import kotlinx.android.synthetic.driverm1.fragment_driver_m1.* +import me.jessyan.autosize.utils.AutoSizeUtils import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.ThreadMode +import kotlin.math.ceil +import kotlin.math.roundToInt /** * @author: wangmingjun @@ -48,11 +58,14 @@ class DriverM1Fragment : CharterBaseFragment= 0){ - startCountDownTimer(minutes + LOOP_PERIOD_60S,LOOP_PERIOD_60S) + if (minutes >= 0){ + startCountDownTimer(minutes,LOOP_PERIOD_60S) }else{ clearCountDownTimer() } @@ -93,6 +119,30 @@ class DriverM1Fragment : CharterBaseFragment( //监听核销乘客 + OCHSocketMessageManager.msgWriteOffPassengerType, + mWriteOffPassengerOnMessageListener + ) + //监听乘客屏发来的消息 CallerTelematicListenerManager.addListener(TAG,mReceivedMsgListener) @@ -224,7 +229,14 @@ class DriverM1Model { val changeDestMsg = GsonUtils.fromJson(String(byteArray), ChangeDestMsg::class.java) as ChangeDestMsg currentChangeDestMsg = changeDestMsg - showChangerDestCommitDialog(changeDestMsg) + if (changeDestMsg.arriveStatus == 2){//到站 + // 2、到站同步 + sendMsgToClient(changeDestMsg) + }else{ //切换目的地 + showChangerDestCommitDialog(changeDestMsg) + } + }else if (msg.type == DPMsgType.TYPE_TASK_DETAILS.type){ + updateToClientData() } d(SceneConstant.M_CHARTER_D,"onReceivedMsg = "+ GsonUtils.toJson(msg)) }catch (e: Exception){ @@ -236,15 +248,10 @@ class DriverM1Model { } private fun showChangerDestCommitDialog(changeDestMsg: ChangeDestMsg) { - if (!TextUtils.isEmpty(changeDestMsg.destSiteName)){ + if (!TextUtils.isEmpty(changeDestMsg.destSiteName) && !TextUtils.isEmpty(changeDestMsg.lineName)){ UiThreadHandler.post{ - mChangeDestCallback?.showCommitDialog("确认站点", - "请确认是否前往"+ changeDestMsg.destSiteName + "站点") - } - }else if (!TextUtils.isEmpty(changeDestMsg.lineName)){ - UiThreadHandler.post{ - mChangeDestCallback?.showCommitDialog("确认路线", - "请确认是否切换"+ changeDestMsg.lineName + "路线") + mChangeDestCallback?.showCommitDialog("确认路线站点", + "请确认是否前往 "+ changeDestMsg.lineName+ changeDestMsg.destSiteName + " 站点") } } } @@ -300,6 +307,21 @@ class DriverM1Model { } } + private val mWriteOffPassengerOnMessageListener: IMogoOnMessageListener = + object : IMogoOnMessageListener { + override fun target(): Class { + return WriteOffPassenger::class.java + } + + override fun onMsgReceived(passenger: WriteOffPassenger?) { + //进行播报 + i(SceneConstant.M_BUS + TAG, "passenger = " + GsonUtil.jsonFromObject(passenger)) + if (passenger != null && passenger.passengerSize == 0) return + val appMsg = AppConnectMsg(false,true,"核销成功,${passenger?.passengerSize}人乘车") + sendMsgToClient(appMsg) + } + } + fun pushOperationalToMsgBox(time : Long,content : String,type: Int = -1){ playDI() pushAppOperationalMsgBox(time, content,type) @@ -376,11 +398,68 @@ class DriverM1Model { } private fun onArriveAt() { - isArrivedStation = true - d(SceneConstant.M_CHARTER_D + TAG, "onArriveAt = " + GsonUtil.jsonFromObject(mCurrentOrder)) + + if (isArrivedStation) return + if (mCurrentOrder == null) return + + d(SceneConstant.M_CHARTER_D + TAG, "onArriveAt = " + GsonUtil.jsonFromObject(mCurrentOrder)) + //到站接口请求 + + mContext?.let { + mCurrentOrder?.lineId?.let { it1 -> + DriverM1ServiceManager.arriveDest( + it, it1.toLong(),DateTimeUtil.getCurrentTimeStamp(),object :OchCommonServiceCallback{ + override fun onSuccess(data: BaseData?) { + d(SceneConstant.M_CHARTER_D + TAG, "onArriveAt = " + GsonUtil.jsonFromObject(data)) + if (data?.code == 0){ + onArriveAtSuccess() + } + } + + override fun onFail(code: Int, msg: String?) { + d(SceneConstant.M_CHARTER_D + TAG, "onArriveAt = onFail= $code,$msg" ) + } + }) + } + } + } + + private fun onArriveAtSuccess() { + isArrivedStation = true CharterSendTripInfoManager.sendCharterTripInfo(ARRIVE_STATION,mCurrentOrder?.lineName!! ,mCurrentOrder?.startSiteName!!,mCurrentOrder?.siteName!!,false) + + if (currentChangeDestMsg != null){ + currentChangeDestMsg?.isConfirmed = true + currentChangeDestMsg?.arriveStatus = 2 + } + } + + private fun updateToClientData() { + if (mCurrentOrder == null) { + currentChangeDestMsg = ChangeDestMsg("",-1,"",0 + ,"",0,"",false,1 + ,DateTimeUtil.getCurrentTimeStamp()) + sendMsgToClient(currentChangeDestMsg) + return + } + if (currentChangeDestMsg == null){ + mCurrentOrder?.let { + currentChangeDestMsg = ChangeDestMsg( + mCurrentOrder!!.orderNo, + mCurrentOrder!!.lineId + ,mCurrentOrder!!.lineName + , mCurrentOrder!!.startSiteId + ,mCurrentOrder!!.startSiteName + ,mCurrentOrder!!.siteId + ,mCurrentOrder!!.siteName + ,true + ,mCurrentOrder!!.arriveStatus + ,mCurrentOrder!!.writeVersion) + } + } + sendMsgToClient(currentChangeDestMsg) } /** @@ -461,7 +540,7 @@ class DriverM1Model { * 将业务订单信息保存,鹰眼可取用 */ fun updateAutopilotControlParameters() { - // TODO: 业务信息保存 + // 业务信息保存 val parameters = initAutopilotControlParameters() if (null == parameters) { d(SceneConstant.M_CHARTER_D + TAG, "AutopilotControlParameters is empty.") @@ -526,12 +605,14 @@ class DriverM1Model { */ fun sendCommitMsgToClient(isConfirmed: Boolean) { if (currentChangeDestMsg !== null) { + d(SceneConstant.M_CHARTER_D + TAG, "confirmed station $isConfirmed" ) currentChangeDestMsg?.isConfirmed = isConfirmed sendMsgToClient(currentChangeDestMsg) } } private fun sendMsgToClient(msg: BaseDPMsg?){ + d(SceneConstant.M_CHARTER_D + TAG, "sendMsgToClient" + GsonUtils.toJson(msg)) sendMsgToAllClients( OchCommonConst.BUSINESS_STRING, GsonUtils.toJson(msg).toByteArray() @@ -569,17 +650,22 @@ class DriverM1Model { if (data.data.businessStatus == 2){//订单为空,则是要换车状态 if (TextUtils.isEmpty(data.data.orderNo)){//还未换车,显示还车状态 mOrderCallback?.updateReturnCarStatus(false) - mCurrentOrder == null + mCurrentOrder = null + currentChangeDestMsg = null sendCharterEndTripInfo() startOrStopCheckCountDown(false) - }else{ // 订单不为空,有服务中订单,去查询订单 - mOrderCallback?.updateReturnCarStatus(true) - startQueryCurrentOrder() + updateToClientData() } +// else{ // 订单不为空,有服务中订单,等待去查询订单 +// mOrderCallback?.updateReturnCarStatus(true) +// } }else{ //车辆无订单,闲置状态 + mOrderCallback?.updateReturnCarStatus(true) clearAutopilotControlParameters() mCurrentOrder = null + currentChangeDestMsg = null startOrStopCheckCountDown(false) + updateToClientData() } } @@ -603,7 +689,6 @@ class DriverM1Model { isArrivedStation = false mCurrentOrder = null queryCurrentServiceStatus() - stopQueryCurrentOrder() return } if (data.data.equals(mCurrentOrder)){ @@ -616,16 +701,19 @@ class DriverM1Model { mCurrentOrder = data.data + updateToClientData() + + mOrderCallback?.updateOrderUI(data.data) + // 包车时间倒计时校验开始 + startOrStopCheckCountDown(true) + if (TextUtils.isEmpty(data.data.lineName)){ d(SceneConstant.M_CHARTER_D + TAG, "lineName = null") return } - mOrderCallback?.updateOrderUI(data.data) //给工控机发轨迹 checkoutContrail() - // 包车时间倒计时校验开始 - startOrStopCheckCountDown(true) //鹰眼存参数 updateAutopilotControlParameters() //给前后屏发数据 @@ -674,11 +762,11 @@ class DriverM1Model { fun changeDest(){ if (currentChangeDestMsg == null) return - if (TextUtils.isEmpty(currentChangeDestMsg?.destSiteName)){//确认路线 - d(SceneConstant.M_CHARTER_D + TAG, "confirm line .") - sendCommitMsgToClient(true) - return - } +// if (TextUtils.isEmpty(currentChangeDestMsg?.destSiteName)){//确认路线 +// d(SceneConstant.M_CHARTER_D + TAG, "confirm line .") +// sendCommitMsgToClient(true) +// return +// } DriverM1ServiceManager.changeDest(mContext,currentChangeDestMsg!!.lineId, currentChangeDestMsg!!.startSiteId, currentChangeDestMsg!!.destSiteId, @@ -722,7 +810,6 @@ class DriverM1Model { } fun onAutopilotArriveAtStation() { - if (isArrivedStation) return onArriveAt() } diff --git a/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/net/DriverM1ServiceManager.kt b/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/net/DriverM1ServiceManager.kt index 392d501c2d..b84db79c17 100644 --- a/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/net/DriverM1ServiceManager.kt +++ b/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/net/DriverM1ServiceManager.kt @@ -75,6 +75,15 @@ object DriverM1ServiceManager { ?.subscribe(OchCommonSubscribeImpl(context!!, callback, "changeDest")) } + fun arriveDest(context: Context,lindId: Long ,writtenVersion:Long + ,callback: OchCommonServiceCallback?){ + mDriverM1ServiceApi.arriveDest(MoGoAiCloudClientConfig.getInstance().serviceAppId, + MoGoAiCloudClientConfig.getInstance().token, + ArriveDestRequest(MoGoAiCloudClientConfig.getInstance().sn,lindId,writtenVersion) + ).transformTry() + .subscribe(OchCommonSubscribeImpl(context!!, callback, "arriveDest")) + } + fun checkoutContrail(context: Context?,lineId: Int, callback: OchCommonServiceCallback?){ mDriverM1ServiceApi.checkoutContrail(MoGoAiCloudClientConfig.getInstance().serviceAppId, diff --git a/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/net/IDriverM1Service.kt b/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/net/IDriverM1Service.kt index f6f919a0dc..6c2a45b380 100644 --- a/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/net/IDriverM1Service.kt +++ b/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/net/IDriverM1Service.kt @@ -1,6 +1,7 @@ package com.magic.mogo.och.charter.net import com.magic.mogo.och.charter.bean.* +import com.mogo.cloud.passport.MoGoAiCloudClientConfig import com.mogo.eagle.core.data.BaseData import io.reactivex.Observable import retrofit2.http.* @@ -56,4 +57,13 @@ interface IDriverM1Service { @Query("sn") sn: String? ,@Query("lineId") lineId:Int): Observable? + /** + * 到达目的地 + */ + @POST("/och-rental-cabin/api/flow/v1/driver/arriveDest") + fun arriveDest( + @Header("appId") appId: String, + @Header("ticket") ticket: String, + @Body request: ArriveDestRequest + ): Observable } \ No newline at end of file diff --git a/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/presenter/DriverM1Presenter.kt b/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/presenter/DriverM1Presenter.kt index 176e8236c7..7ee9c5fdf5 100644 --- a/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/presenter/DriverM1Presenter.kt +++ b/OCH/mogo-och-charter/src/driverm1/java/com/magic/mogo/och/charter/presenter/DriverM1Presenter.kt @@ -72,6 +72,7 @@ class DriverM1Presenter(view: DriverM1Fragment?) : if(isLogin()){ // 查询服务状态 DriverM1Model.get().queryCurrentServiceStatus() + DriverM1Model.get().startQueryCurrentOrder() }else{ CharterTrajectoryManager.stopTrajReqLoop() } diff --git a/OCH/mogo-och-charter/src/driverm1/res/layout/fragment_driver_m1.xml b/OCH/mogo-och-charter/src/driverm1/res/layout/fragment_driver_m1.xml index db8169df70..3e41cb7213 100644 --- a/OCH/mogo-och-charter/src/driverm1/res/layout/fragment_driver_m1.xml +++ b/OCH/mogo-och-charter/src/driverm1/res/layout/fragment_driver_m1.xml @@ -82,10 +82,12 @@ android:id="@+id/cur_station_title1" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:layout_marginBottom="@dimen/dp_10" android:layout_marginTop="@dimen/dp_50" android:textSize="@dimen/dp_34" android:text="@string/bus_arrive_to_next_tag1" android:textColor="@color/station_title_color" + app:layout_constraintBottom_toTopOf="@+id/driverm1StationName2Tv" app:layout_constraintTop_toBottomOf="@+id/driverm1StationName1Tv" app:layout_constraintLeft_toLeftOf="parent" android:layout_marginLeft="@dimen/dp_96"/> @@ -112,7 +114,7 @@ android:layout_height="wrap_content" android:text="--" android:textSize="@dimen/module_mogo_och_bus_station_name_text_size" - android:layout_marginTop="@dimen/dp_10" + android:layout_marginBottom="@dimen/dp_20" android:textStyle="bold" android:textColor="@color/bus_arrived_station_name_text_color" android:includeFontPadding = "false" @@ -121,7 +123,7 @@ android:marqueeRepeatLimit="marquee_forever" app:layout_constraintLeft_toLeftOf="@+id/cur_station_title1" app:layout_constraintRight_toRightOf="@+id/driverm1_order_count_down" - app:layout_constraintTop_toBottomOf="@+id/cur_station_title1" /> + app:layout_constraintBottom_toTopOf="@+id/line3"/> @@ -167,32 +169,31 @@ android:id="@+id/line3" android:layout_width="0dp" android:layout_height="@dimen/dp_1" - android:layout_marginTop="@dimen/dp_40" + android:layout_marginBottom="@dimen/dp_40" android:background="#33FFFFFF" - app:layout_constraintTop_toBottomOf="@+id/driverm1StationName2Tv" - app:layout_constraintLeft_toLeftOf="@+id/driverm1nextCircleIv" - app:layout_constraintRight_toRightOf="@+id/driverm1_order_count_down"/> + app:layout_constraintLeft_toLeftOf="@id/driverm1_line_name" + app:layout_constraintRight_toRightOf="@+id/driverm1_order_count_down" + app:layout_constraintBottom_toTopOf="@+id/during_time"/> + app:layout_constraintBottom_toTopOf="@+id/passenger_phone"/> + app:layout_constraintBottom_toBottomOf="parent"/> + + \ No newline at end of file diff --git a/OCH/mogo-och-charter/src/main/java/com/magic/mogo/och/charter/base/CharterBaseFragment.kt b/OCH/mogo-och-charter/src/main/java/com/magic/mogo/och/charter/base/CharterBaseFragment.kt index 4121812a2e..fa8819a774 100644 --- a/OCH/mogo-och-charter/src/main/java/com/magic/mogo/och/charter/base/CharterBaseFragment.kt +++ b/OCH/mogo-och-charter/src/main/java/com/magic/mogo/och/charter/base/CharterBaseFragment.kt @@ -32,6 +32,7 @@ import com.mogo.eagle.core.function.hmi.ui.msgbox.DriverMsgBoxListView import com.mogo.eagle.core.function.hmi.ui.widget.TrafficDataView import com.mogo.eagle.core.function.smp.view.SmallMapView import com.mogo.eagle.core.function.view.MapBizView +import com.mogo.eagle.core.utilcode.kotlin.onClick import com.mogo.eagle.core.utilcode.mogo.view.OnPreventFastClickListener import com.mogo.eagle.core.utilcode.util.ResourceUtils.getDrawable import com.mogo.eagle.core.utilcode.util.UiThreadHandler @@ -39,6 +40,7 @@ import com.mogo.map.listener.IMogoMapListener import com.mogo.map.listener.MogoMapListenerHandler.Companion.mogoMapListenerHandler import com.mogo.map.uicontroller.VisualAngleMode import com.mogo.och.common.module.utils.SoundPoolHelper +import kotlinx.android.synthetic.main.charter_base_fragment.* import org.greenrobot.eventbus.EventBus import java.util.* @@ -166,6 +168,10 @@ abstract class CharterBaseFragment?>() : ) } + module_mogo_och_arrived_tv.onClick { + onArriveStation() + } + mSettingBtn = findViewById(R.id.module_mogo_och_setting_layout) mSettingBtn!!.setOnClickListener { v: View? -> // TODO: 2021/12/9 @@ -215,6 +221,8 @@ abstract class CharterBaseFragment?>() : smallMapView!!.onResume() } + protected abstract fun onArriveStation() + override fun onCreateView(inflater: LayoutInflater, container: ViewGroup? , savedInstanceState: Bundle?): View? { EventBus.getDefault().register(this) @@ -246,6 +254,20 @@ abstract class CharterBaseFragment?>() : } } + /** + * 到站按钮状态切换 + */ + open fun setArrivedClickable(isClickable: Boolean) { + requireActivity().runOnUiThread { + module_mogo_och_arrived_tv.isEnabled = isClickable + if (isClickable) { + module_mogo_och_arrived_tv.setTextColor(resources.getColor(R.color.bus_white)) + } else { + module_mogo_och_arrived_tv.setTextColor(resources.getColor(R.color.bus_arrived_btn_un_clickable_color)) + } + } + } + /** * 隐藏滑动按钮 */ diff --git a/OCH/mogo-och-charter/src/main/res/layout/charter_base_fragment.xml b/OCH/mogo-och-charter/src/main/res/layout/charter_base_fragment.xml index 58da7ef5a2..99e9954609 100644 --- a/OCH/mogo-och-charter/src/main/res/layout/charter_base_fragment.xml +++ b/OCH/mogo-och-charter/src/main/res/layout/charter_base_fragment.xml @@ -11,6 +11,14 @@ android:layout_width="match_parent" android:layout_height="match_parent"/> + + + + 取消 暂无服务订单 + 等待乘客选择 diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/bean/dpmsg/DPMsgType.kt b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/bean/dpmsg/DPMsgType.kt index e47d5900fd..26f52b5a4e 100644 --- a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/bean/dpmsg/DPMsgType.kt +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/bean/dpmsg/DPMsgType.kt @@ -6,9 +6,11 @@ package com.mogo.och.common.module.bean.dpmsg */ enum class DPMsgType(val type: Int) { TYPE_COMMON(0), //常规 - TYPE_CHANGE_DEST(1),// 变更目的地确认 + TYPE_CHANGE_DEST(1),// 变更目的地确认/到站 TYPE_OPEN_CLOSE_DOOR(2),//开关门 TYPE_ORDER_CLOSED(3), // 订单结束 TYPE_TASK_DETAILS(4), //路线任务详情 - TYPE_LOGIN_STATUS(5) //login status + TYPE_LOGIN_STATUS(5), //login status + TYPE_ARRIVEDEST_STATUS(6), //到站通知 status + TYPE_ORDER_CLOSED_BY_M1_STATUS(7) //到站通知 status } \ No newline at end of file diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/bean/dpmsg/DataBean.kt b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/bean/dpmsg/DataBean.kt index 2fae88bbb1..23768b223b 100644 --- a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/bean/dpmsg/DataBean.kt +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/bean/dpmsg/DataBean.kt @@ -9,7 +9,12 @@ object BusCacheKey{ const val BUS_LOGIN_STATUS_CACHE = "bus_login_status_cache" } -open class BaseDPMsg(open var type: Int) // 0: 常规 1:确认路线/站点 2:开/关车门 3:结束订单 +open class BaseDPMsg(open var type: Int){// 0: 常规 1:确认路线/站点 2:开/关车门 3:结束订单 + companion object{ + const val TAG = "BaseDPMsg" + } +} + data class LoginCacheStatus( var loginStatus: Int, @@ -17,15 +22,48 @@ data class LoginCacheStatus( ): BaseDPMsg(DPMsgType.TYPE_LOGIN_STATUS.type) data class ChangeDestMsg( + var orderNo: String,// 订单号 var lineId: Int, //线路id var lineName: String = "", //线路名称 var startSiteId: Int= 0, //当前站点 var startSiteName: String = "", var destSiteId: Int= 0, //目的地 var destSiteName: String = "", - var isConfirmed: Boolean = false //司机端是否同意 + var isConfirmed: Boolean = false, //司机端是否同意 + var arriveStatus:Int?, //1:未到达 2:到达 + var writtenVersion:Long?, //版本标记 + var lineSiteList: MutableList? = null ): BaseDPMsg(DPMsgType.TYPE_CHANGE_DEST.type) +data class LineSite( + val lineId: Long?,//线路Id + val lineName: String?,//线路名称 + val siteId: Long?,//线路Id + val siteName: String?,//站点名称 + val Wgs84Lon: Double?,//高精坐标 + val Wgs84Lat: Double?,//高精坐标 + val GcjLon: Double?,//高德坐标 + val GcjLat: Double?,//高德坐标 + val seq: Double?, + val type: Int?, +) + +data class ArriveDestMsg( + var orderNo: String, //订单id + var lineId: Int, //线路id + var lineName: String = "", //线路名称 + var startSiteId: Int= 0, //当前站点 + var startSiteName: String = "", + var destSiteId: Int= 0, //目的地 + var destSiteName: String = "", + var arriveStatus:Int?, //1:未到达 2:到达 + var writtenVersion:Long?, //版本标记 +): BaseDPMsg(DPMsgType.TYPE_ARRIVEDEST_STATUS.type) + +data class EndOrderMsg( + var orderNo: String, //订单id +): BaseDPMsg(DPMsgType.TYPE_ORDER_CLOSED_BY_M1_STATUS.type) + data class DPCommonOperationMsg( var msg: String ): BaseDPMsg(DPMsgType.TYPE_COMMON.type) @@ -35,7 +73,7 @@ data class DPOperateDoorMsg( ): BaseDPMsg(DPMsgType.TYPE_OPEN_CLOSE_DOOR.type) data class DPOrderClosedMsg( - var closed: Boolean = true // true: 开门, false: 关门 + var closed: Boolean = true // true: 结束 ): BaseDPMsg(DPMsgType.TYPE_ORDER_CLOSED.type) data class AppConnectMsg(var isViewShow: Boolean, var isPlay: Boolean, var msg: String, diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/model/OchCommonLoginModel.kt b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/model/OchCommonLoginModel.kt index 4b48f87c59..27f4b19f7b 100644 --- a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/model/OchCommonLoginModel.kt +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/model/OchCommonLoginModel.kt @@ -3,8 +3,6 @@ package com.mogo.och.common.module.biz.model import android.annotation.SuppressLint import android.content.Context import com.mogo.eagle.core.data.BaseData -import com.mogo.eagle.core.data.map.MogoLocation -import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ02ListenerManager import com.mogo.eagle.core.utilcode.util.NetworkUtils import com.mogo.eagle.core.utilcode.util.SharedPrefs @@ -26,17 +24,13 @@ import com.mogo.och.common.module.utils.ToastUtilsOch * 网约车 - 出租车业务逻辑处理 */ @SuppressLint("StaticFieldLeak") -object OchCommonLoginModel : IMoGoChassisLocationGCJ02Listener { +object OchCommonLoginModel { private val TAG = "TaxiLoginModel" private var mContext: Context? = null var iTaxiLoginCallback: ITaxiLoginCallback? = null - private var mLongitude = 0.0 - private var mLatitude = 0.0 fun init(context: Context) { mContext = context.applicationContext - // 达到起始站围栏监听 - CallerChassisLocationGCJ02ListenerManager.addListener(TAG, this) } fun hasInit(): Boolean { @@ -46,13 +40,6 @@ object OchCommonLoginModel : IMoGoChassisLocationGCJ02Listener { return true } - override fun onChassisLocationGCJ02(gnssInfo: MogoLocation?) { - gnssInfo?.let { - mLongitude = it.longitude - mLatitude = it.latitude - } - } - fun getiTaxiLoginCallback(): ITaxiLoginCallback? { return iTaxiLoginCallback } @@ -64,8 +51,6 @@ object OchCommonLoginModel : IMoGoChassisLocationGCJ02Listener { fun release() { mContext = null iTaxiLoginCallback = null - // 注销到达起始站围栏监听 - CallerChassisLocationGCJ02ListenerManager.removeListener(TAG) } /** @@ -105,7 +90,8 @@ object OchCommonLoginModel : IMoGoChassisLocationGCJ02Listener { fun gotoLogin(phone: String, code: String) { mContext?.let { - val location4Login = TaxiLoginReqBean.Location4Login(mLatitude, mLongitude) + val location = CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02() + val location4Login = TaxiLoginReqBean.Location4Login(location.latitude, location.longitude) OchCommonServiceManager.gotoLoginBycode(it, phone, code, location4Login, object : OchCommonServiceCallback { override fun onSuccess(data: TaxiLoginRespBean?) { diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/DriverMoFangFunctionManager.kt b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/DriverMoFangFunctionManager.kt new file mode 100644 index 0000000000..6b4d5a6194 --- /dev/null +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/DriverMoFangFunctionManager.kt @@ -0,0 +1,76 @@ +package com.mogo.och.common.module.manager + +import android.annotation.SuppressLint +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d +import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager.sendOperatorSetAcceleratedSpeed +import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotControlManager.sendOperatorSetHorn +import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant +import java.util.* + + +/** + * 魔方连接状态和设备管理 + */ +@SuppressLint("StaticFieldLeak") +class DriverMoFangFunctionManager private constructor() { + + companion object { + val driverMoFangFunctionManager: DriverMoFangFunctionManager by lazy(mode = LazyThreadSafetyMode.SYNCHRONIZED) { + DriverMoFangFunctionManager() + } + } + + private val TAG = "DriverMoFangFunctionManager" + private var timerHorn: Timer? = null + private var timerAcc: Timer? = null + /** + * 发送加速和减速,复位的时候,isSend为false,其他都是true,acc就是具体的值 + * acc -1 是减速, -2是刹停 0是复位时候传 + */ + @Synchronized + fun sendAcc(isSend: Boolean, acc: Double) { + if (isSend) { + if (timerAcc == null) { + timerAcc = Timer() + timerAcc!!.schedule(object : TimerTask() { + override fun run() { + d(SceneConstant.M_CHARTER_D + TAG,"sendOperatorSetAcceleratedSpeed $isSend $acc") + sendOperatorSetAcceleratedSpeed(acc) + } + }, 0, 500) + } + } else { + if (timerAcc != null) { + timerAcc!!.cancel() + timerAcc = null + } + d(SceneConstant.M_CHARTER_D + TAG,"sendOperatorSetAcceleratedSpeed $isSend $acc") + sendOperatorSetAcceleratedSpeed(acc) + } + } + + fun reset(){ + d(SceneConstant.M_CHARTER_D + TAG,"sendAcc false 0.0") + sendAcc(false,0.0) + } + + /** + * 鸣笛,鸣笛需要手动结束 + */ + fun sendOperatorSetHornByDriver(){ + d(SceneConstant.M_CHARTER_D + TAG,"sendOperatorSetHorn(1.0)") + sendOperatorSetHorn(1.0) + if (timerHorn == null) { + timerHorn = Timer() + } + timerHorn!!.schedule(object : TimerTask() { + override fun run() { + d(SceneConstant.M_CHARTER_D + TAG,"sendOperatorSetHorn(2.0)") + sendOperatorSetHorn(2.0) + timerHorn = null + } + }, 500) + } + +} + diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/devicemanage/LightAirconditionDoorCallback.kt b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/devicemanage/LightAirconditionDoorCallback.kt new file mode 100644 index 0000000000..69e1292ef4 --- /dev/null +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/devicemanage/LightAirconditionDoorCallback.kt @@ -0,0 +1,26 @@ +package com.mogo.och.common.module.manager.devicemanage + +import com.mogo.och.common.module.manager.devicemanage.data.AirconditionStatus +import com.mogo.och.common.module.manager.devicemanage.data.HeaterStatue +import com.mogo.och.common.module.manager.devicemanage.data.LightStatus + +interface LightAirconditionDoorCallback { + + fun onAirconditionStatusCallback(heaterIsOpen: Boolean, airconditionStatus: AirconditionStatus, + isFirst: Boolean) { + } + + fun onHeaterStatusCallback(airconditionIsOpen: Boolean, heaterStatue: HeaterStatue, + isFirst: Boolean) { + } + + fun onDoorStatusCallback(isOpen: Boolean, isFirst: Boolean) {} + + fun onLightTop1Callback(lightStatus: LightStatus, isFirst: Boolean) { + } + + fun onLightTop2Callback(lightStatus: LightStatus, isFirst: Boolean) {} + + fun onLightAtmosphereCallback(lightStatus: LightStatus, isFirst: Boolean) {} + +} \ No newline at end of file diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/devicemanage/LightAirconditionDoorManager.kt b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/devicemanage/LightAirconditionDoorManager.kt new file mode 100644 index 0000000000..537cd55dff --- /dev/null +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/devicemanage/LightAirconditionDoorManager.kt @@ -0,0 +1,48 @@ +package com.mogo.och.common.module.manager.devicemanage + +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.ToastUtils +import com.mogo.och.common.module.utils.RxUtils +import io.reactivex.disposables.Disposable + +object LightAirconditionDoorManager { + private const val TAG = "LightAirconditionDoorManager" + + private var dooorSubscribe: Disposable? = null + private var doorStatusSubscribe: Disposable? = null + + fun go2OpenDoor(isOpen:Boolean){ + val canOpenOrCloseDoor = canOpenOrCloseDoor() + if(!canOpenOrCloseDoor.isNullOrBlank()){ + ToastUtils.showShort(canOpenOrCloseDoor) + return + } + RxUtils.disposeSubscribe(dooorSubscribe) + dooorSubscribe = RxUtils.createSubscribe(1000) { + CallerAutoPilotControlManager.sendRoboBusJinlvM1FrontDoorCmd(0) + } + if(isOpen) { + CallerAutoPilotControlManager.sendRoboBusJinlvM1FrontDoorCmd(1) + }else{ + CallerAutoPilotControlManager.sendRoboBusJinlvM1FrontDoorCmd(2) + } + RxUtils.disposeSubscribe(doorStatusSubscribe) + doorStatusSubscribe = RxUtils.createSubscribe(6000) { + if (LightAirconditionDoorStatusManager.doorStatus.isOpen) { + ToastUtils.showShort("车门无法关闭,请使用车内物理按钮") + }else{ + ToastUtils.showShort("车门无法开启,请使用车内物理按钮") + } + } + } + + private fun canOpenOrCloseDoor(): String? { + val location = CallerChassisLocationGCJ02ListenerManager.getChassisLocationGCJ02() + return if(location.gnssSpeed<0.01){ + null + }else{ + "车辆正在运行、请稍后再试" + } + } +} diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/OCHM1LightAirconditionDoorStatusManager.kt b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/devicemanage/LightAirconditionDoorStatusManager.kt similarity index 76% rename from OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/OCHM1LightAirconditionDoorStatusManager.kt rename to OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/devicemanage/LightAirconditionDoorStatusManager.kt index a6057afea8..9f514b0204 100644 --- a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/OCHM1LightAirconditionDoorStatusManager.kt +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/devicemanage/LightAirconditionDoorStatusManager.kt @@ -1,11 +1,15 @@ -package com.mogo.och.common.module.manager +package com.mogo.och.common.module.manager.devicemanage import chassis.VehicleStateOuterClass import com.mogo.eagle.core.function.api.autopilot.IMoGoRoboBusJinlvM1StatesListener import com.mogo.eagle.core.function.call.autopilot.CallerRoboBusJinlvM1StatesListenerManager +import com.mogo.och.common.module.manager.devicemanage.data.AirconditionStatus +import com.mogo.och.common.module.manager.devicemanage.data.DoorStatus +import com.mogo.och.common.module.manager.devicemanage.data.HeaterStatue +import com.mogo.och.common.module.manager.devicemanage.data.LightStatus import java.util.concurrent.ConcurrentHashMap -object OCHM1LightAirconditionDoorStatusManager : IMoGoRoboBusJinlvM1StatesListener { +object LightAirconditionDoorStatusManager : IMoGoRoboBusJinlvM1StatesListener { private const val TAG = "OCHM1LightAirconditionDoorStatusManager" init { @@ -13,7 +17,7 @@ object OCHM1LightAirconditionDoorStatusManager : IMoGoRoboBusJinlvM1StatesListen CallerRoboBusJinlvM1StatesListenerManager.setListenerHz(TAG,5) } - val M_LISTENERS: ConcurrentHashMap = + val M_LISTENERS: ConcurrentHashMap = ConcurrentHashMap() val airconditionStatus = AirconditionStatus(false, 0, 26, 2) @@ -23,7 +27,7 @@ object OCHM1LightAirconditionDoorStatusManager : IMoGoRoboBusJinlvM1StatesListen fun addListener( tag: String, - listener: OCHM1LightAirconditionDoorCallback + listener: LightAirconditionDoorCallback ) { if (M_LISTENERS.containsKey(tag)) { return @@ -47,7 +51,7 @@ object OCHM1LightAirconditionDoorStatusManager : IMoGoRoboBusJinlvM1StatesListen * 删除监听 * @param listener 要删除的监听对象 */ - fun removeListener(listener: OCHM1LightAirconditionDoorCallback) { + fun removeListener(listener: LightAirconditionDoorCallback) { if (!M_LISTENERS.containsValue(listener)) { return } @@ -58,36 +62,6 @@ object OCHM1LightAirconditionDoorStatusManager : IMoGoRoboBusJinlvM1StatesListen } } - - interface OCHM1LightAirconditionDoorCallback { - - fun onAirconditionStatusCallback(heaterIsOpen:Boolean,airconditionStatus: AirconditionStatus,isFirst: Boolean){} - - fun onHeaterStatusCallback(airconditionIsOpen: Boolean,heaterStatue: HeaterStatue,isFirst: Boolean){} - - fun onDoorStatusCallback(isOpen: Boolean,isFirst: Boolean){} - - fun onLightTop1Callback(lightStatus: LightStatus,isFirst: Boolean){} - fun onLightTop2Callback(lightStatus: LightStatus,isFirst: Boolean){} - fun onLightAtmosphereCallback(lightStatus: LightStatus,isFirst: Boolean){} - - } - - data class AirconditionStatus( - var isOpen: Boolean, - var pattert: Int, - var temperature: Int, - var windSpeed: Int - ) - - data class HeaterStatue(var isOpen: Boolean, var windSpeed: Int) - data class DoorStatus(var isOpen: Boolean) - data class LightStatus( - var isOpenLight1: Boolean, - var isOpenLight2: Boolean, - var isOpenatmosphere: Boolean - ) - override fun onRoboBusJinlvM1States(states: VehicleStateOuterClass.RoboBusJinlvM1State) { val airConditionerState = states.airConditionerState val heaterState = states.heaterState diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/devicemanage/data/AirconditionStatus.kt b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/devicemanage/data/AirconditionStatus.kt new file mode 100644 index 0000000000..31bc8a474a --- /dev/null +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/devicemanage/data/AirconditionStatus.kt @@ -0,0 +1,8 @@ +package com.mogo.och.common.module.manager.devicemanage.data + +data class AirconditionStatus( + var isOpen: Boolean, + var pattert: Int, + var temperature: Int, + var windSpeed: Int +) diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/devicemanage/data/DoorStatus.kt b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/devicemanage/data/DoorStatus.kt new file mode 100644 index 0000000000..370f8a5dac --- /dev/null +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/devicemanage/data/DoorStatus.kt @@ -0,0 +1,3 @@ +package com.mogo.och.common.module.manager.devicemanage.data + +data class DoorStatus(var isOpen: Boolean) \ No newline at end of file diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/devicemanage/data/HeaterStatue.kt b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/devicemanage/data/HeaterStatue.kt new file mode 100644 index 0000000000..80d2ef5690 --- /dev/null +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/devicemanage/data/HeaterStatue.kt @@ -0,0 +1,3 @@ +package com.mogo.och.common.module.manager.devicemanage.data + +data class HeaterStatue(var isOpen: Boolean, var windSpeed: Int) diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/devicemanage/data/LightStatus.kt b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/devicemanage/data/LightStatus.kt new file mode 100644 index 0000000000..69f047a7cf --- /dev/null +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/manager/devicemanage/data/LightStatus.kt @@ -0,0 +1,7 @@ +package com.mogo.och.common.module.manager.devicemanage.data + +data class LightStatus( + var isOpenLight1: Boolean, + var isOpenLight2: Boolean, + var isOpenatmosphere: Boolean +) \ No newline at end of file diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/utils/CoordinateCalculateRouteUtil.java b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/utils/CoordinateCalculateRouteUtil.java index df36d2f672..94761923fe 100644 --- a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/utils/CoordinateCalculateRouteUtil.java +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/utils/CoordinateCalculateRouteUtil.java @@ -14,6 +14,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import kotlin.Triple; import mogo.telematics.pad.MessagePad; /** @@ -69,6 +70,104 @@ public class CoordinateCalculateRouteUtil { return sumLength; } + public static float calculateRouteSumLength(List mRoutePoints, MogoLocation location, MogoLocation station){ + if (null == mRoutePoints || mRoutePoints.size() == 0) return 0; + + float lastSumLength = 0f; + + //当前位置距离轨迹中最近的点 + int currentRouteIndex = getArrivedPointIndexNew( + 0, mRoutePoints, location.getLongitude(), location.getLatitude() + ); + // 距离当前位置轨迹中最近的轨迹点 + MogoLocation currentPoint = mRoutePoints.get(currentRouteIndex); + // 当前位置距离最近的点的距离 + float calculateCurrentdex = CoordinateUtils.calculateLineDistance( + location.getLongitude(), location.getLatitude(), + currentPoint.getLongitude(), currentPoint.getLatitude() + ); + + + //要前往的站在轨迹中对应的点 + int stationPointInRouteIndex = getArrivedPointIndexNew( + currentRouteIndex, mRoutePoints, + station.getLongitude(), + station.getLatitude() + ); + // 距离站点最近的轨迹点 + MogoLocation stationPointInRoute = mRoutePoints.get(stationPointInRouteIndex); + // 站点距离轨迹中最近点的距离 + float calculateLineDistance = CoordinateUtils.calculateLineDistance( + stationPointInRoute.getLongitude(), stationPointInRoute.getLatitude(), + station.getLongitude(), station.getLatitude() + ); + + if (currentRouteIndex < stationPointInRouteIndex) { + // subList 是[) 需要的是[] + List subList = mRoutePoints.subList(currentRouteIndex, stationPointInRouteIndex + 1); + // 轨迹点所有的距离 + lastSumLength = calculateRouteSumLength(subList); + // region 站点坐标和 站点坐标对应轨迹点的坐标距离 + // 需要加距离 和下一个轨迹点成钝角 + if (stationPointInRouteIndex + 1 < mRoutePoints.size()) { + MogoLocation lastPointsNext = mRoutePoints.get(stationPointInRouteIndex + 1); + double degree = getDegree( + station.getLongitude(),station.getLatitude(), + stationPointInRoute.getLongitude(), stationPointInRoute.getLatitude(), + lastPointsNext.getLongitude(), lastPointsNext.getLatitude()); + if (degree > 90) { + lastSumLength = lastSumLength + calculateLineDistance; + } + } + // 需要减距离 和上一个轨迹点成钝角 + if (stationPointInRouteIndex - 1 >= 0) { + MogoLocation lastPointsPre = mRoutePoints.get(stationPointInRouteIndex - 1); + double degree = getDegree( + station.getLongitude(),station.getLatitude(), + stationPointInRoute.getLongitude(), stationPointInRoute.getLatitude(), + lastPointsPre.getLongitude(), lastPointsPre.getLatitude()); + if (degree > 90) { + lastSumLength = lastSumLength - calculateLineDistance; + } + } + // endregion + + // region 当前位置和 对应轨迹点的坐标距离 + // 需要加距离 和下一个轨迹点成钝角 + if (currentRouteIndex + 1 < stationPointInRouteIndex) { + MogoLocation currentPointsNext = mRoutePoints.get(stationPointInRouteIndex + 1); + double degree = getDegree( + location.getLongitude(),location.getLatitude(), + currentPoint.getLongitude(), currentPoint.getLatitude(), + currentPointsNext.getLongitude(), currentPointsNext.getLatitude()); + if (degree > 90) { + lastSumLength = lastSumLength - calculateCurrentdex; + } + } + + // 需要减距离 和上一个轨迹点成钝角 + if (currentRouteIndex - 1 >= 0) { + MogoLocation lastPointsPre = mRoutePoints.get(stationPointInRouteIndex - 1); + double degree = getDegree( + location.getLongitude(),location.getLatitude(), + currentPoint.getLongitude(), currentPoint.getLatitude(), + lastPointsPre.getLongitude(), lastPointsPre.getLatitude()); + if (degree > 90) { + lastSumLength = lastSumLength + calculateCurrentdex; + } + } + // endregion + + } else { + MogoLocation lastPoints = mRoutePoints.get(stationPointInRouteIndex); + lastSumLength = CoordinateUtils.calculateLineDistance( + lastPoints.getLongitude(), lastPoints.getLatitude(), + location.getLongitude(), location.getLatitude() + ); + } + return lastSumLength; + } + public static List coordinateConverterWgsToGcjListCommon(Context mContext, List models) { //转成MogoLatLng集合 List list = new ArrayList<>(); @@ -340,4 +439,56 @@ public class CoordinateCalculateRouteUtil { //弧度转角度制 return (int) (180 * radian / Math.PI); } + + + private static Triple ball2xyz(Double thera,Double fie,Double r){ + double x = r * Math.cos(thera) * Math.cos(fie); + double y = r * Math.cos(thera) * Math.sin(fie); + double z = r * Math.sin(thera); + return new Triple(x,y,z); + } + + /** + * https://blog.csdn.net/reborn_lee/article/details/82497577 + * 将地理经纬度转换成笛卡尔坐标系 + */ + private static Triple geo2xyz(double lat,double lng){ + double thera = (Math.PI * lat) / 180; + double fie = (Math.PI * lng) / 180; + return ball2xyz(thera, fie,6400.0); + } + + /** + * 计算3个地理坐标点之间的夹角 + * @param l1 顶点坐标 + * @param l2 + * @param l3 + * @return l1为顶点的角度 精度没有angleOflocation高 + */ + public static double getDegree(LatLng l2,LatLng l1,LatLng l3) { + Triple p1 = geo2xyz(l1.latitude,l1.longitude); + Triple p2 = geo2xyz(l2.latitude,l2.longitude); + Triple p3 = geo2xyz(l3.latitude,l3.longitude); + + double x1 = p1.getFirst(); + double y1 = p1.getSecond(); + double z1 = p1.getThird(); + + double x2 = p2.getFirst(); + double y2 = p2.getSecond(); + double z2 = p2.getThird(); + + double x3 = p3.getFirst(); + double y3 = p3.getSecond(); + double z3 = p3.getThird(); + + // 计算向量 P2P1 和 P2P3 的夹角 https://www.zybang.com/question/3379a30c0dd3041b3ef966803f0bf758.html + double p1P2 = Math.sqrt(Math.pow(x2 - x1,2.0) + Math.pow(y2 - y1,2.0) + Math.pow(z2 - z1,2.0)); + double p2p3 = Math.sqrt(Math.pow(x3 - x2,2.0) + Math.pow(y3 - y2,2.0) + Math.pow(z3 - z2,2.0)); + + double p = (x1 - x2) * (x3 - x2) + (y1 - y2) * (y3 - y2) + (z1 - z2) * (z3 - z2); //P2P1*P2P3 + + return (Math.acos(p / (p1P2 * p2p3)) / Math.PI) * 180; + } + } diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/utils/DateTimeUtil.java b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/utils/DateTimeUtil.java index 37550ad892..3b8465e65f 100644 --- a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/utils/DateTimeUtil.java +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/utils/DateTimeUtil.java @@ -110,4 +110,43 @@ public class DateTimeUtil { calendar.set(Calendar.SECOND,0); return calendar.getTimeInMillis(); } + + public static String getAfterSecondTime(int timeInSecond,String formate){ + Calendar beforeTime = Calendar.getInstance(); + beforeTime.add(Calendar.SECOND, timeInSecond); + return formatCalendarToString(beforeTime, formate); + } + public static String getAfterSecondTime(int timeInSecond){ + Calendar beforeTime = Calendar.getInstance(); + beforeTime.add(Calendar.SECOND, timeInSecond); + return formatCalendarToString(beforeTime, DateTimeUtil.HH_mm); + } + + /** + * @param second 秒 + * @description: 秒转换为时分秒 HH:mm:ss 格式 仅当小时数大于0时 展示HH + */ + public static String second2Time(Long second) { + if (second == null || second < 0) { + return "00:00"; + } + + long h = second / 3600; + long m = (long) Math.ceil((second % 3600) / 60.0);// 向上取整 + long s = second % 60; + StringBuilder stringBuffer = new StringBuilder(); + if(m==60){ + m=0; + h = h+1; + } + if (h > 0) { + stringBuffer.append(h < 10 ? ("0" + h) : h).append(":"); + }else { + stringBuffer.append("00:"); + } + stringBuffer.append(m < 10 ? ("0" + m) : m); + //str += (s < 10 ? ("0" + s) : s); + return stringBuffer.toString(); + + } } diff --git a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/utils/RxUtils.kt b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/utils/RxUtils.kt similarity index 95% rename from OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/utils/RxUtils.kt rename to OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/utils/RxUtils.kt index 9f3e691023..cb6cbd7dbd 100644 --- a/OCH/mogo-och-charter-passenger/src/m1/java/com/mogo/och/bus/passenger/utils/RxUtils.kt +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/utils/RxUtils.kt @@ -1,4 +1,4 @@ -package com.mogo.och.bus.passenger.utils +package com.mogo.och.common.module.utils import io.reactivex.Observable import io.reactivex.android.schedulers.AndroidSchedulers diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/wigets/DriverMoFangFunctionView.kt b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/wigets/DriverMoFangFunctionView.kt new file mode 100644 index 0000000000..788f31e491 --- /dev/null +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/wigets/DriverMoFangFunctionView.kt @@ -0,0 +1,48 @@ +package com.mogo.och.common.module.wigets + +import android.content.Context +import android.util.AttributeSet +import android.view.LayoutInflater +import androidx.constraintlayout.widget.ConstraintLayout +import com.mogo.eagle.core.utilcode.kotlin.onClick +import com.mogo.och.common.module.R +import com.mogo.och.common.module.manager.DriverMoFangFunctionManager +import kotlinx.android.synthetic.main.driver_mofang_function_view.view.* + +/** + * @author: wangmingjun + * @date: 2023/4/20 + */ +class DriverMoFangFunctionView @JvmOverloads constructor( + context: Context, + attrs: AttributeSet? = null +) : ConstraintLayout(context, attrs) { + init { + LayoutInflater.from(context).inflate(R.layout.driver_mofang_function_view,this,true) + initClickEvent() + } + + private fun initClickEvent() { + moderateIv.onClick { + DriverMoFangFunctionManager.driverMoFangFunctionManager.sendAcc(true,-1.0) + } + + brakeStopIv.onClick { + DriverMoFangFunctionManager.driverMoFangFunctionManager.sendAcc(true,-2.0) + } + + resetIv.onClick { + DriverMoFangFunctionManager.driverMoFangFunctionManager.reset() + } + + whistleIv.onClick { + DriverMoFangFunctionManager.driverMoFangFunctionManager.sendOperatorSetHornByDriver() + } + + whistleIv.setOnLongClickListener { + DriverMoFangFunctionManager.driverMoFangFunctionManager.sendOperatorSetHornByDriver() + true + } + } + +} \ No newline at end of file diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/wigets/OCHCommitDialog.kt b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/wigets/OCHCommitDialog.kt index 835c82411a..1d546fe19e 100644 --- a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/wigets/OCHCommitDialog.kt +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/wigets/OCHCommitDialog.kt @@ -1,10 +1,21 @@ package com.mogo.och.common.module.wigets import android.content.Context +import android.view.View +import android.view.animation.Animation +import android.view.animation.AnimationUtils +import android.view.animation.LinearInterpolator import android.widget.TextView +import androidx.appcompat.widget.AppCompatImageView import androidx.lifecycle.LifecycleObserver import com.mogo.eagle.core.function.hmi.dialog.BaseFloatDialog +import com.mogo.eagle.core.utilcode.util.UiThreadHandler import com.mogo.och.common.module.R +import io.reactivex.Observable +import io.reactivex.disposables.Disposable +import io.reactivex.schedulers.Schedulers +import kotlinx.android.synthetic.main.dialog_bus_commit.* +import java.util.concurrent.TimeUnit /** * 带有title, tip,confirm,cancel的dialog @@ -15,14 +26,30 @@ class OCHCommitDialog: BaseFloatDialog, LifecycleObserver { private var commonCancel : TextView? = null private var commonTitle : TextView? = null private var commonTips : TextView? = null + private var countDownTxt: TextView? = null + private var countdownRotateIv: AppCompatImageView? = null private var clickListener: ClickListener? = null + private var subscribeCountDown: Disposable? = null + + private var mCountdownValue: Int = 0 + constructor(builder: Builder,context: Context) : super(context) { commonTitle?.text = builder.titleStr commonTips?.text = builder.tipsStr commonCancel?.text = builder.cancelStr commonConfirm?.text = builder.confirmStr + countDownTxt?.text = builder.countDownValue.toString() + mCountdownValue = builder.countDownValue + + if (mCountdownValue > 0){ + countDownTxt?.visibility = View.VISIBLE + countdownRotateIv?.visibility = View.VISIBLE + }else{ + countDownTxt?.visibility = View.GONE + countdownRotateIv?.visibility = View.GONE + } } init{ @@ -34,6 +61,8 @@ class OCHCommitDialog: BaseFloatDialog, LifecycleObserver { commonCancel = findViewById(R.id.common_cancel) commonTitle = findViewById(R.id.common_title) commonTips = findViewById(R.id.common_tips) + countDownTxt = findViewById(R.id.sec_count_down) + countdownRotateIv = findViewById(R.id.count_down_rotate_iv) commonConfirm?.setOnClickListener{ clickListener?.confirm() @@ -54,11 +83,64 @@ class OCHCommitDialog: BaseFloatDialog, LifecycleObserver { fun cancel() } + override fun onAttachedToWindow() { + super.onAttachedToWindow() + if (mCountdownValue > 0){ + startCountDown() + } + } + + private fun startCountDown() { + subscribeCountDown?.let { + if (!it.isDisposed) { + it.dispose() + } + } + val mAnimation: Animation = AnimationUtils.loadAnimation(context, R.anim.count_down_rotate) + val lin = LinearInterpolator() + mAnimation.interpolator = lin + countdownRotateIv?.startAnimation(mAnimation) + + subscribeCountDown = Observable.intervalRange(0L + , mCountdownValue.toLong(), 0, 1, TimeUnit.SECONDS) + .map { aLong -> mCountdownValue - aLong } + .subscribeOn(Schedulers.io()) + .observeOn(Schedulers.io()) + .subscribe { + UiThreadHandler.post { + mCountdownValue -= 1 + countDownTxt?.text = mCountdownValue.toString() + if (mCountdownValue == 0){ + mAnimation.cancel() + countdownRotateIv?.clearAnimation() + countDownTxt?.visibility = View.GONE + countdownRotateIv?.visibility = View.GONE + dialogCancel() + } + } + } + } + + private fun dialogCancel() { + clickListener?.cancel() + dismiss() + } + + override fun onDetachedFromWindow() { + super.onDetachedFromWindow() + subscribeCountDown?.let { + if (!it.isDisposed) { + it.dispose() + } + } + } + class Builder{ var titleStr:String = "" var tipsStr:String = "" var confirmStr:String = "" var cancelStr:String = "" + var countDownValue: Int = 0 fun title(title: String) : Builder{ this.titleStr = title @@ -75,6 +157,14 @@ class OCHCommitDialog: BaseFloatDialog, LifecycleObserver { return this } + /** + * 不传倒计时没有, >0 有倒计时 + */ + fun countdownValue(value: Int): Builder{ + this.countDownValue = value + return this + } + fun cancelStr(cancel: String) : Builder{ this.cancelStr = cancel return this diff --git a/OCH/mogo-och-common-module/src/main/res/anim/count_down_rotate.xml b/OCH/mogo-och-common-module/src/main/res/anim/count_down_rotate.xml new file mode 100644 index 0000000000..cd58374b98 --- /dev/null +++ b/OCH/mogo-och-common-module/src/main/res/anim/count_down_rotate.xml @@ -0,0 +1,9 @@ + + + + \ No newline at end of file diff --git a/OCH/mogo-och-common-module/src/main/res/drawable-nodpi/brake_stop.png b/OCH/mogo-och-common-module/src/main/res/drawable-nodpi/brake_stop.png new file mode 100644 index 0000000000..ba8d48e24a Binary files /dev/null and b/OCH/mogo-och-common-module/src/main/res/drawable-nodpi/brake_stop.png differ diff --git a/OCH/mogo-och-common-module/src/main/res/drawable-nodpi/brake_stop_un.png b/OCH/mogo-och-common-module/src/main/res/drawable-nodpi/brake_stop_un.png new file mode 100644 index 0000000000..1728ad0b4a Binary files /dev/null and b/OCH/mogo-och-common-module/src/main/res/drawable-nodpi/brake_stop_un.png differ diff --git a/OCH/mogo-och-common-module/src/main/res/drawable-nodpi/count_down_bg.png b/OCH/mogo-och-common-module/src/main/res/drawable-nodpi/count_down_bg.png new file mode 100644 index 0000000000..8d3650e9ba Binary files /dev/null and b/OCH/mogo-och-common-module/src/main/res/drawable-nodpi/count_down_bg.png differ diff --git a/OCH/mogo-och-common-module/src/main/res/drawable-nodpi/count_down_rotate_bg.png b/OCH/mogo-och-common-module/src/main/res/drawable-nodpi/count_down_rotate_bg.png new file mode 100644 index 0000000000..3e49a07b00 Binary files /dev/null and b/OCH/mogo-och-common-module/src/main/res/drawable-nodpi/count_down_rotate_bg.png differ diff --git a/OCH/mogo-och-common-module/src/main/res/drawable-nodpi/driver_mofang_function_bg.png b/OCH/mogo-och-common-module/src/main/res/drawable-nodpi/driver_mofang_function_bg.png new file mode 100644 index 0000000000..b0c8eb25ba Binary files /dev/null and b/OCH/mogo-och-common-module/src/main/res/drawable-nodpi/driver_mofang_function_bg.png differ diff --git a/OCH/mogo-och-common-module/src/main/res/drawable-nodpi/moderate.png b/OCH/mogo-och-common-module/src/main/res/drawable-nodpi/moderate.png new file mode 100644 index 0000000000..1cf6ad1798 Binary files /dev/null and b/OCH/mogo-och-common-module/src/main/res/drawable-nodpi/moderate.png differ diff --git a/OCH/mogo-och-common-module/src/main/res/drawable-nodpi/moderate_un.png b/OCH/mogo-och-common-module/src/main/res/drawable-nodpi/moderate_un.png new file mode 100644 index 0000000000..a477bcd438 Binary files /dev/null and b/OCH/mogo-och-common-module/src/main/res/drawable-nodpi/moderate_un.png differ diff --git a/OCH/mogo-och-common-module/src/main/res/drawable-nodpi/reset_icon.png b/OCH/mogo-och-common-module/src/main/res/drawable-nodpi/reset_icon.png new file mode 100644 index 0000000000..65884ac663 Binary files /dev/null and b/OCH/mogo-och-common-module/src/main/res/drawable-nodpi/reset_icon.png differ diff --git a/OCH/mogo-och-common-module/src/main/res/drawable-nodpi/reset_un_icon.png b/OCH/mogo-och-common-module/src/main/res/drawable-nodpi/reset_un_icon.png new file mode 100644 index 0000000000..4e4cf034ba Binary files /dev/null and b/OCH/mogo-och-common-module/src/main/res/drawable-nodpi/reset_un_icon.png differ diff --git a/OCH/mogo-och-common-module/src/main/res/drawable-nodpi/whistle.png b/OCH/mogo-och-common-module/src/main/res/drawable-nodpi/whistle.png new file mode 100644 index 0000000000..b820701bb9 Binary files /dev/null and b/OCH/mogo-och-common-module/src/main/res/drawable-nodpi/whistle.png differ diff --git a/OCH/mogo-och-common-module/src/main/res/drawable-nodpi/whistle_un.png b/OCH/mogo-och-common-module/src/main/res/drawable-nodpi/whistle_un.png new file mode 100644 index 0000000000..ae7623ede6 Binary files /dev/null and b/OCH/mogo-och-common-module/src/main/res/drawable-nodpi/whistle_un.png differ diff --git a/OCH/mogo-och-common-module/src/main/res/drawable/brake_stop_btn_selector.xml b/OCH/mogo-och-common-module/src/main/res/drawable/brake_stop_btn_selector.xml new file mode 100644 index 0000000000..e84f3b901b --- /dev/null +++ b/OCH/mogo-och-common-module/src/main/res/drawable/brake_stop_btn_selector.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-common-module/src/main/res/drawable/moderate_btn_selector.xml b/OCH/mogo-och-common-module/src/main/res/drawable/moderate_btn_selector.xml new file mode 100644 index 0000000000..35d7ad314d --- /dev/null +++ b/OCH/mogo-och-common-module/src/main/res/drawable/moderate_btn_selector.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-common-module/src/main/res/drawable/reset_btn_selector.xml b/OCH/mogo-och-common-module/src/main/res/drawable/reset_btn_selector.xml new file mode 100644 index 0000000000..712f8a123a --- /dev/null +++ b/OCH/mogo-och-common-module/src/main/res/drawable/reset_btn_selector.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-common-module/src/main/res/drawable/whistle_btn_selector.xml b/OCH/mogo-och-common-module/src/main/res/drawable/whistle_btn_selector.xml new file mode 100644 index 0000000000..def73512fa --- /dev/null +++ b/OCH/mogo-och-common-module/src/main/res/drawable/whistle_btn_selector.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-common-module/src/main/res/layout/dialog_bus_commit.xml b/OCH/mogo-och-common-module/src/main/res/layout/dialog_bus_commit.xml index 6eb23e17ce..ab121f0d7e 100644 --- a/OCH/mogo-och-common-module/src/main/res/layout/dialog_bus_commit.xml +++ b/OCH/mogo-och-common-module/src/main/res/layout/dialog_bus_commit.xml @@ -2,11 +2,35 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-shuttle-passenger/build.gradle b/OCH/mogo-och-shuttle-passenger/build.gradle index f6fd17bf82..86598b429e 100644 --- a/OCH/mogo-och-shuttle-passenger/build.gradle +++ b/OCH/mogo-och-shuttle-passenger/build.gradle @@ -51,11 +51,6 @@ android { dimension "vehicle" buildConfigField 'int', 'NEW_TEST', '0' } - // 车型:金旅m1 小巴业务 - m1 { - dimension "vehicle" - buildConfigField 'int', 'NEW_TEST', '1' - } // 车型:金旅m1 小巴业务 m2 { diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/adapter/BusPassengerLineStationsAdapter.java b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/adapter/BusPassengerLineStationsAdapter.java index 7d462c954d..95b13cb89a 100644 --- a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/adapter/BusPassengerLineStationsAdapter.java +++ b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/adapter/BusPassengerLineStationsAdapter.java @@ -13,7 +13,6 @@ import androidx.constraintlayout.widget.Group; import androidx.recyclerview.widget.RecyclerView; import com.mogo.och.bus.passenger.R; -import com.mogo.och.bus.passenger.bean.BusPassengerStation; import com.mogo.och.common.module.utils.BlinkAnimationUtil; import com.mogo.och.common.module.wigets.MarqueeTextView; import com.mogo.och.data.bean.BusStationBean; @@ -59,7 +58,7 @@ public class BusPassengerLineStationsAdapter extends RecyclerView.Adapter mView.updatePlateNum(plateNumber)); +// runOnUIThread(() -> mView.updatePlateNum(plateNumber)); } @Override @@ -160,6 +160,6 @@ public class BaseBusPassengerPresenter extends Presenter mView.setProgressBarMax()); +// runOnUIThread(() -> mView.setProgressBarMax()); } } diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPBlueToothView.kt b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPBlueToothView.kt new file mode 100644 index 0000000000..2254892bfd --- /dev/null +++ b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPBlueToothView.kt @@ -0,0 +1,37 @@ +package com.mogo.och.bus.passenger.ui + +import android.content.Context +import android.util.AttributeSet +import android.view.LayoutInflater +import com.mogo.eagle.core.function.api.devatools.IMoGoDevaToolsListener +import com.mogo.eagle.core.function.hmi.ui.widget.BlueToothView +import com.mogo.eagle.core.utilcode.util.ThreadUtils +import com.mogo.och.bus.passenger.R +import kotlinx.android.synthetic.jinlvvan.p_bus_view_blue_tooth.view.* + +/** + * 魔戒蓝牙控件 + * 放置于StatusBar右侧位置 + * todo arrow + */ +class BusPBlueToothView @JvmOverloads constructor( + context: Context, + attrs: AttributeSet? = null, + defStyleAttr: Int = 0 +) : BlueToothView(context, attrs, defStyleAttr),IMoGoDevaToolsListener { + + init { + LayoutInflater.from(context).inflate(R.layout.p_bus_view_blue_tooth, this, true) + } + + override fun mofangStatus(status: Boolean) { + ThreadUtils.runOnUiThread { + if (status) { + blueView.setImageResource(R.drawable.bus_p_blue_tooth_close) + } else { + blueView.setImageResource(R.drawable.bus_p_blue_tooth_open) + } + } + } + +} \ No newline at end of file diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPStatusBarView.kt b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPStatusBarView.kt new file mode 100644 index 0000000000..3cbe38d985 --- /dev/null +++ b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPStatusBarView.kt @@ -0,0 +1,71 @@ +package com.mogo.och.bus.passenger.ui + +import android.annotation.* +import android.content.Context +import android.graphics.Color +import android.util.AttributeSet +import android.view.LayoutInflater +import android.view.ViewGroup +import androidx.constraintlayout.widget.ConstraintLayout +import chassis.ChassisStatesOuterClass +import com.mogo.eagle.core.function.api.autopilot.IMoGoBatteryManagementSystemListener +import com.mogo.eagle.core.function.api.hmi.view.IViewControlListener +import com.mogo.eagle.core.function.api.setting.IMoGoSkinModeChangeListener +import com.mogo.eagle.core.function.call.autopilot.CallerBatteryManagementSystemListenerManager +import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsManager +import com.mogo.eagle.core.function.call.hmi.CallerHmiViewControlListenerManager +import com.mogo.eagle.core.function.call.setting.CallerSkinModeListenerManager +import com.mogo.eagle.core.utilcode.kotlin.* +import com.mogo.eagle.core.utilcode.util.ClickUtils +import com.mogo.och.bus.passenger.R +import kotlinx.coroutines.* +import me.jessyan.autosize.utils.AutoSizeUtils + +/** + * @author: wangmingjun + * @date: 2023/2/14 + */ +class BusPStatusBarView @JvmOverloads constructor( + context: Context, attrs: AttributeSet? = null +) : ConstraintLayout(context, attrs), IViewControlListener, IMoGoSkinModeChangeListener{ + + companion object { + const val TAG = "BusPStatusBarView" + } + + init { + LayoutInflater.from(context).inflate(R.layout.p_bus_view_status_bar, this, true) + setBackgroundColor(Color.parseColor("#80FFFFFF")) + isClickable = true + isFocusable = true + } + + + @SuppressLint("ClickableViewAccessibility") + override fun onAttachedToWindow() { + super.onAttachedToWindow() + post { + val params: ViewGroup.LayoutParams = getLayoutParams() + params.height = AutoSizeUtils.dp2px(context,40f) + layoutParams = params + } + //添加view控制 + CallerHmiViewControlListenerManager.addListener(TAG,this) + // 添加换肤监听 + CallerSkinModeListenerManager.addListener(TAG, this) + } + + override fun onSkinModeChange(skinMode: Int) { + when (skinMode) { + 0 -> setStatusBarDarkOrLight(false) + 1 -> setStatusBarDarkOrLight(true) + } + } + + override fun onDetachedFromWindow() { + super.onDetachedFromWindow() + CallerHmiViewControlListenerManager.removeListener(TAG) + CallerSkinModeListenerManager.removeListener(TAG) + CallerDevaToolsManager.hideStatusBar() + } +} \ No newline at end of file diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPassengerBaseFragment.java b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPassengerBaseFragment.java index 6de6ceb031..0f60060f28 100644 --- a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPassengerBaseFragment.java +++ b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPassengerBaseFragment.java @@ -38,10 +38,6 @@ public abstract class BusPassengerBaseFragment 0){ - if (meters / 1000 < 1){ - disUnit = "米"; - dis = String.valueOf(Math.round(meters)); - }else { - disUnit = "公里"; - dis = NumberFormatUtil.formatLong((double)meters / 1000); - } - } - String strHtml2 = "距离 " + "" + dis + "" + " "+disUnit+"" - + "   剩余 " + "" + (int)Math.ceil((double)timeInSecond/ 60f) + "" + " 分钟"; - mCurrentArriveTip.setText(Html.fromHtml(strHtml2)); - } - - private void updateProgressBar(long meters) { - int haveDriven = new Long(meters).intValue(); - int progressInt = SharedPrefsMgr.getInstance(getContext()) - .getInt(BusPassengerConst.BUS_SP_KEY_ORDER_SUM_DIS,0) - haveDriven; - mProgressBar.setProgress(progressInt); - } - - public void setProgressBarMax(){ - int max = SharedPrefsMgr.getInstance(getContext()) - .getInt(BusPassengerConst.BUS_SP_KEY_ORDER_SUM_DIS,0); - mProgressBar.setMax(max); - } - - public void onAutopilotStatusChanged(int status) { - getActivity().runOnUiThread(() -> { - // 3. 其他过程直接更新 - if (mPrevAPStatus != status){ - AutopilotStatusChanged(status); - } - mPrevAPStatus = status; - }); - } - - public void AutopilotStatusChanged(int status) { - if (IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING == status) { - mAutopilotIv.setImageResource(R.drawable.bus_p_auto_nor); - } else if (IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE == status){ - mAutopilotIv.setImageResource(R.drawable.bus_p_un_auto_nor); - } else { - mAutopilotIv.setImageResource(R.drawable.bus_p_un_auto_nor); - } - - } - - public void showOverviewFragment() { - UiThreadHandler.postDelayed(new Runnable() { - @Override - public void run() { - } - },5000L); - } } diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPassengerMapDirectionView.java b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPassengerMapDirectionView.java index 1b144bb35d..16c8c72223 100644 --- a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPassengerMapDirectionView.java +++ b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPassengerMapDirectionView.java @@ -66,7 +66,7 @@ public class BusPassengerMapDirectionView private List mLineMarkers = new ArrayList<>(); - private IBusPassengerMapViewCallback mIBusPassengerMapViewCallback; +// private IBusPassengerMapViewCallback mIBusPassengerMapViewCallback; private BitmapDescriptor mArrivedRes; private BitmapDescriptor mUnArrivedRes; @@ -87,9 +87,9 @@ public class BusPassengerMapDirectionView } } - public void setTaxiPassengerMapViewCallback(IBusPassengerMapViewCallback iBusPassengerMapViewCallback) { - this.mIBusPassengerMapViewCallback = iBusPassengerMapViewCallback; - } +// public void setTaxiPassengerMapViewCallback(IBusPassengerMapViewCallback iBusPassengerMapViewCallback) { +// this.mIBusPassengerMapViewCallback = iBusPassengerMapViewCallback; +// } private void initView(Context context) { CallerLogger.INSTANCE.d(M_BUS_P + TAG, "initView"); @@ -336,7 +336,7 @@ public class BusPassengerMapDirectionView @Override public void onCameraChange(CameraPosition cameraPosition) { - mIBusPassengerMapViewCallback.onCameraChange(cameraPosition.bearing); +// mIBusPassengerMapViewCallback.onCameraChange(cameraPosition.bearing); } @Override diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPassengerRouteFragment.java b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPassengerRouteFragment.java index df4fe18d6c..49807a2439 100644 --- a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPassengerRouteFragment.java +++ b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/java/com/mogo/och/bus/passenger/ui/BusPassengerRouteFragment.java @@ -2,7 +2,9 @@ package com.mogo.och.bus.passenger.ui; import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_BUS_P; +import android.graphics.drawable.AnimationDrawable; import android.os.Bundle; +import android.text.Html; import android.view.View; import android.view.animation.Animation; import android.view.animation.RotateAnimation; @@ -10,13 +12,17 @@ import android.widget.ImageView; import android.widget.TextView; import androidx.annotation.NonNull; +import androidx.appcompat.widget.AppCompatImageView; +import androidx.appcompat.widget.AppCompatTextView; import androidx.constraintlayout.widget.ConstraintLayout; +import androidx.constraintlayout.widget.Group; import androidx.recyclerview.widget.RecyclerView; import com.amap.api.maps.model.LatLng; import com.elegant.utils.UiThreadHandler; import com.mogo.commons.debug.DebugConfig; import com.mogo.eagle.core.data.map.MogoLocation; +import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr; import com.mogo.och.bus.passenger.R; @@ -27,7 +33,9 @@ import com.mogo.och.bus.passenger.constant.BusPassengerConst; import com.mogo.och.bus.passenger.presenter.BaseBusPassengerPresenter; import com.mogo.och.bus.passenger.ui.layoutmanager.CenterLayoutManager; import com.mogo.och.bus.passenger.utils.BPRouteDataTestUtils; +import com.mogo.och.common.module.utils.NumberFormatUtil; import com.mogo.och.common.module.wigets.MarqueeTextView; +import com.mogo.och.common.module.wigets.OCHGradientTextView; import com.mogo.och.data.bean.BusStationBean; import java.util.ArrayList; @@ -38,26 +46,35 @@ import java.util.List; * @date: 2022/4/12 */ public class BusPassengerRouteFragment extends - BusPassengerBaseFragment - implements IBusPassengerMapViewCallback { + BusPassengerBaseFragment { public static final String TAG = "BusPassengerRouteFragment"; private final List mStationsList = new ArrayList<>(); - private TextView mSpeedTv; + private OCHGradientTextView mSpeedTv; private ConstraintLayout mNoLineInfoView; - private TextView mCarPlateNum; private MarqueeTextView mLineName; - private TextView mOperationTime; - private ConstraintLayout mRouteInfoView; + private Group mRouteInfoView; private RecyclerView mStationsListRv; private BusPassengerMapDirectionView mMapDirectionView; - private ImageView mMapArrowIcon; - private RotateAnimation rotateAnimation; - private float lastBearing = 0; +// private ImageView mMapArrowIcon; +// private RotateAnimation rotateAnimation; +// private float lastBearing = 0; private BusPassengerLineStationsAdapter mAdapter; private TextView emptyTv; + private AppCompatImageView mAutopilotIv; + private AppCompatTextView mCurrentArriveStation; + private AppCompatTextView mCurrentArriveStationTitle; + private AppCompatTextView mCurrentArriveTip; + private AppCompatImageView mSpeakArrivedIv; + + /** + * 改变自动驾驶状态 + * + * @param status 2 - running 1 - enable 2 - disable + */ + private int mPrevAPStatus = -1; @Override public int getStationPanelViewId() { @@ -75,13 +92,22 @@ public class BusPassengerRouteFragment extends super.initViews(); mSpeedTv = findViewById(R.id.bus_p_speed_tv); + mSpeedTv.setVertrial(true); + mSpeedTv.setmColorList(new int[]{getResources().getColor(R.color.bus_p_speed_color_start), + getResources().getColor(R.color.bus_p_speed_color_end)}); mNoLineInfoView =findViewById(R.id.bus_p_no_order_data_view); emptyTv = findViewById(R.id.no_order_data_tv); - mCarPlateNum = findViewById(R.id.bus_p_driver_num_plate_tv); +// mCarPlateNum = findViewById(R.id.bus_p_driver_num_plate_tv); mLineName = findViewById(R.id.bus_p_line_name_tv); - mOperationTime = findViewById(R.id.line_operation_time_tv); + mAutopilotIv = findViewById(R.id.auto_status_iv); + mCurrentArriveStation = findViewById(R.id.bus_p_cur_station_name); + mCurrentArriveStationTitle = findViewById(R.id.bus_p_cur_station_title); + mCurrentArriveTip = findViewById(R.id.bus_p_cur_station_tip); + mSpeakArrivedIv = findViewById(R.id.speak_arrived_iv); + +// mOperationTime = findViewById(R.id.line_operation_time_tv); mRouteInfoView = findViewById(R.id.bus_p_line_cl); mStationsListRv = findViewById(R.id.bus_p_line_stations_rl); @@ -91,7 +117,7 @@ public class BusPassengerRouteFragment extends mAdapter = new BusPassengerLineStationsAdapter(getContext(), mStationsList); mStationsListRv.setAdapter(mAdapter); - mMapArrowIcon = findViewById(R.id.bus_p_arrow_nor); +// mMapArrowIcon = findViewById(R.id.bus_p_arrow_nor); //测试 if (DebugConfig.isDebug()){ @@ -110,7 +136,6 @@ public class BusPassengerRouteFragment extends super.initViews(savedInstanceState); mMapDirectionView = findViewById(R.id.bus_p_line_map_view); mMapDirectionView.onCreateView(savedInstanceState); - mMapDirectionView.setTaxiPassengerMapViewCallback(this); } @Override @@ -194,6 +219,7 @@ public class BusPassengerRouteFragment extends emptyTv.setText(getString(R.string.bus_p_no_out)); mNoLineInfoView.setVisibility(View.VISIBLE); mRouteInfoView.setVisibility(View.GONE); + mLineName.setText(getContext().getString(R.string.bus_p_no_line)); updateArrivedStation(null,0,true); clearMapView(); clearMapMarkers(); @@ -204,6 +230,7 @@ public class BusPassengerRouteFragment extends if (mNoLineInfoView.getVisibility() == View.GONE){ mNoLineInfoView.setVisibility(View.VISIBLE); mRouteInfoView.setVisibility(View.GONE); + mLineName.setText(getContext().getString(R.string.bus_p_no_line)); updateArrivedStation(null,0,true); clearMapView(); clearMapMarkers(); @@ -218,17 +245,17 @@ public class BusPassengerRouteFragment extends } } - public void updatePlateNum(String plateNum){ - if ("".equals(plateNum) || null == plateNum) { - mCarPlateNum.setText("-- --"); - }else { - mCarPlateNum.setText((plateNum)); - } - } +// public void updatePlateNum(String plateNum){ +// if ("".equals(plateNum) || null == plateNum) { +// mCarPlateNum.setText("-- --"); +// }else { +// mCarPlateNum.setText((plateNum)); +// } +// } public void updateLineInfo(String lineName, String lineDurTime) { mLineName.setText(lineName); - mOperationTime.setText(lineDurTime); +// mOperationTime.setText(lineDurTime); } /** @@ -261,8 +288,6 @@ public class BusPassengerRouteFragment extends private void updateWayPointList(List stations,int currentStationIndex) { List mLineStationsList = new ArrayList<>(); for (int i = 0; i< stations.size(); i++) {//站点集合 -// LatLng latLng = CoordinateCalculateRouteUtil.coordinateConverterWgsToGcj(getContext() -// ,stations.get(i).getLon(),stations.get(i).getLat());// lat,lon LatLng latLng = new LatLng(stations.get(i).getGcjLat(),stations.get(i).getGcjLon());// lat,lon mLineStationsList.add(latLng); } @@ -277,26 +302,26 @@ public class BusPassengerRouteFragment extends } } - @Override - public void onCameraChange(float bearing) { - startIvCompass(bearing); - } +// @Override +// public void onCameraChange(float bearing) { +//// startIvCompass(bearing); +// } - /** - * 设置指南针旋转 - * - * @param bearing - */ - private void startIvCompass(float bearing) { - bearing = 360 - bearing; - CallerLogger.INSTANCE.d(M_BUS_P + TAG, "startIvCompass: " + bearing); - rotateAnimation = new RotateAnimation(lastBearing, bearing, Animation.RELATIVE_TO_SELF - , 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); - rotateAnimation.setFillAfter(true); - - mMapArrowIcon.startAnimation(rotateAnimation); - lastBearing = bearing; - } +// /** +// * 设置指南针旋转 +// * +// * @param bearing +// */ +// private void startIvCompass(float bearing) { +// bearing = 360 - bearing; +// CallerLogger.INSTANCE.d(M_BUS_P + TAG, "startIvCompass: " + bearing); +// rotateAnimation = new RotateAnimation(lastBearing, bearing, Animation.RELATIVE_TO_SELF +// , 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); +// rotateAnimation.setFillAfter(true); +// +// mMapArrowIcon.startAnimation(rotateAnimation); +// lastBearing = bearing; +// } public void onCarLocationChanged(MogoLocation location) { updateSpeedView((float) location.getGnssSpeed()); @@ -312,4 +337,84 @@ public class BusPassengerRouteFragment extends mStationsListRv.smoothScrollToPosition(position); } } + + public void updateArrivedStation(String station,int currentIndex,boolean isArrived){ + if (null == station){ + mCurrentArriveStation.setText("----"); + mCurrentArriveStationTitle.setText(getResources().getString(R.string.bus_p_cur_station_title_init)); + mCurrentArriveTip.setText(getResources().getString(R.string.bus_p_cur_station_arrived_tip)); + mCurrentArriveTip.setBackgroundResource(R.drawable.cur_station_arrived_bg); + handleArrivingSpeakIconDrawable(); + }else { + mCurrentArriveStation.setText(station); + if (currentIndex == 0){ + mCurrentArriveStationTitle.setText(getResources().getString(R.string.bus_p_cur_station_title_init)); + mCurrentArriveTip.setText(getResources().getString(R.string.bus_p_cur_station_arrived_tip_init)); + mCurrentArriveTip.setBackgroundResource(R.drawable.cur_station_arrived_bg); + handleArrivingSpeakIconDrawable(); + return; + } + if (isArrived){ + mCurrentArriveStationTitle.setText(getResources().getString(R.string.bus_p_cur_station_title)); + mCurrentArriveTip.setText(getResources().getString(R.string.bus_p_cur_station_arrived_tip)); + mCurrentArriveTip.setBackgroundResource(R.drawable.cur_station_arrived_bg); + handleArrivedSpeakIconDrawable(); + }else { + mCurrentArriveStationTitle.setText(getResources().getString(R.string.bus_p_cur_next_station_title)); + mCurrentArriveTip.setBackgroundResource(R.drawable.cur_station_un_arrived_bg); + handleArrivingSpeakIconDrawable(); + } + } + + } + + private void handleArrivedSpeakIconDrawable(){ + AnimationDrawable animationDrawable = (AnimationDrawable) mSpeakArrivedIv.getDrawable(); + animationDrawable.start(); + mSpeakArrivedIv.setVisibility(View.VISIBLE); + } + + private void handleArrivingSpeakIconDrawable(){ + AnimationDrawable animationDrawable = (AnimationDrawable) mSpeakArrivedIv.getDrawable(); + animationDrawable.stop(); + mSpeakArrivedIv.setVisibility(View.GONE); + } + + public void updateRoutePlanningToNextStation(long meters, long timeInSecond){ + //更新进度条 + String dis = "0"; + String disUnit = "公里"; + if (meters > 0){ + if (meters / 1000 < 1){ + disUnit = "米"; + dis = String.valueOf(Math.round(meters)); + }else { + disUnit = "公里"; + dis = NumberFormatUtil.formatLong((double)meters / 1000); + } + } + String strHtml2 = "距离 " + "" + dis + "" + " "+disUnit+"" + + "   剩余 " + "" + (int)Math.ceil((double)timeInSecond/ 60f) + "" + " 分钟"; + mCurrentArriveTip.setText(Html.fromHtml(strHtml2)); + } + + public void onAutopilotStatusChanged(int status) { + getActivity().runOnUiThread(() -> { + // 3. 其他过程直接更新 + if (mPrevAPStatus != status){ + AutopilotStatusChanged(status); + } + mPrevAPStatus = status; + }); + } + + public void AutopilotStatusChanged(int status) { + if (IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING == status) { + mAutopilotIv.setImageResource(R.drawable.bus_p_auto_nor); + } else if (IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_ENABLE == status){ + mAutopilotIv.setImageResource(R.drawable.bus_p_un_auto_nor); + } else { + mAutopilotIv.setImageResource(R.drawable.bus_p_un_auto_nor); + } + } } diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/auto_close.png b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/auto_close.png new file mode 100644 index 0000000000..bed91e16ee Binary files /dev/null and b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/auto_close.png differ diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/auto_open.png b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/auto_open.png new file mode 100644 index 0000000000..8ecc2ca1e9 Binary files /dev/null and b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/auto_open.png differ diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bg_bus_p_end_tag_bg.png b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bg_bus_p_end_tag_bg.png new file mode 100644 index 0000000000..a679341790 Binary files /dev/null and b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bg_bus_p_end_tag_bg.png differ diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bg_bus_p_start_tag_bg.png b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bg_bus_p_start_tag_bg.png new file mode 100644 index 0000000000..c0fcf5d0ea Binary files /dev/null and b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bg_bus_p_start_tag_bg.png differ diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_line_logo.png b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_line_logo.png new file mode 100644 index 0000000000..60064ae514 Binary files /dev/null and b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_line_logo.png differ diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_arrive_line_blue.png b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_arrive_line_blue.png new file mode 100644 index 0000000000..88247c204f Binary files /dev/null and b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_arrive_line_blue.png differ diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_arrive_line_green.png b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_arrive_line_green.png new file mode 100644 index 0000000000..0fd2398cfb Binary files /dev/null and b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_arrive_line_green.png differ diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_blue_tooth_close.png b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_blue_tooth_close.png new file mode 100644 index 0000000000..0c292d2cf3 Binary files /dev/null and b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_blue_tooth_close.png differ diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_blue_tooth_open.png b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_blue_tooth_open.png new file mode 100644 index 0000000000..cccf9e10fa Binary files /dev/null and b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_blue_tooth_open.png differ diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_map_arrow_arrived.png b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_map_arrow_arrived.png index 445906d280..fea5cfd033 100644 Binary files a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_map_arrow_arrived.png and b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_map_arrow_arrived.png differ diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_map_arrow_un_arrive.png b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_map_arrow_un_arrive.png index 99d8bd7b56..254662d297 100644 Binary files a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_map_arrow_un_arrive.png and b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_map_arrow_un_arrive.png differ diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_no_order_data.png b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_no_order_data.png index a1a5aed070..65625ca374 100755 Binary files a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_no_order_data.png and b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_no_order_data.png differ diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_point_blue.png b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_point_blue.png index bc88e93c1d..ef08c49f25 100755 Binary files a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_point_blue.png and b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_point_blue.png differ diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_point_gray.png b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_point_gray.png index ca325eb42e..deec63de9d 100755 Binary files a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_point_gray.png and b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_point_gray.png differ diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_point_green.png b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_point_green.png deleted file mode 100755 index 865097cbad..0000000000 Binary files a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_point_green.png and /dev/null differ diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_route_bg.png b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_route_bg.png new file mode 100644 index 0000000000..5c4f302cc2 Binary files /dev/null and b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_route_bg.png differ diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_status_bar_logo.png b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_status_bar_logo.png new file mode 100644 index 0000000000..ffaacad3c6 Binary files /dev/null and b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/bus_p_status_bar_logo.png differ diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/card_split_line_bg.png b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/card_split_line_bg.png new file mode 100644 index 0000000000..2f392c64b6 Binary files /dev/null and b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/card_split_line_bg.png differ diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/cur_station_arrived_bg.png b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/cur_station_arrived_bg.png new file mode 100644 index 0000000000..355af19afc Binary files /dev/null and b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/cur_station_arrived_bg.png differ diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/cur_station_un_arrived_bg.png b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/cur_station_un_arrived_bg.png new file mode 100644 index 0000000000..ea4214cf51 Binary files /dev/null and b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/cur_station_un_arrived_bg.png differ diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/route_line_name_bg.png b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/route_line_name_bg.png new file mode 100644 index 0000000000..a680b6ea18 Binary files /dev/null and b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/route_line_name_bg.png differ diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/speak_arrived_icon_0.png b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/speak_arrived_icon_0.png new file mode 100644 index 0000000000..24a13e704e Binary files /dev/null and b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/speak_arrived_icon_0.png differ diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/speak_arrived_icon_1.png b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/speak_arrived_icon_1.png new file mode 100644 index 0000000000..c15a70a3ee Binary files /dev/null and b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/speak_arrived_icon_1.png differ diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/speak_arrived_icon_2.png b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/speak_arrived_icon_2.png new file mode 100644 index 0000000000..8c1c118673 Binary files /dev/null and b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable-nodpi/speak_arrived_icon_2.png differ diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable/bg_bus_p_end_tag_bg.xml b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable/bg_bus_p_end_tag_bg.xml deleted file mode 100644 index ca8ad81fe2..0000000000 --- a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable/bg_bus_p_end_tag_bg.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable/bg_bus_p_start_tag_bg.xml b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable/bg_bus_p_start_tag_bg.xml deleted file mode 100644 index 7a6d44a4c8..0000000000 --- a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable/bg_bus_p_start_tag_bg.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable/bg_p_speak_icon_arrived.xml b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable/bg_p_speak_icon_arrived.xml new file mode 100644 index 0000000000..a007c6d711 --- /dev/null +++ b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable/bg_p_speak_icon_arrived.xml @@ -0,0 +1,8 @@ + + + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable/bg_status_bar.xml b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable/bg_status_bar.xml new file mode 100644 index 0000000000..36611a9a99 --- /dev/null +++ b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable/bg_status_bar.xml @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable/bus_p_route_bg.xml b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable/bus_p_route_bg.xml deleted file mode 100644 index 94dd7c0007..0000000000 --- a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/drawable/bus_p_route_bg.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/layout/bus_p_base_fragment.xml b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/layout/bus_p_base_fragment.xml index c4b6daf360..a15c7f5b90 100644 --- a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/layout/bus_p_base_fragment.xml +++ b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/layout/bus_p_base_fragment.xml @@ -7,12 +7,18 @@ + + - + + + + + + + + - + + + + + + + + + + + + + android:layout_height="match_parent"/> - - - - - - - - - - - - - - - - - - - - + app:layout_constraintLeft_toLeftOf="parent" + app:layout_constraintTop_toTopOf="parent"/> - + + + + + + + + + + + + + + - - + + + + + - + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + + + - + + + + + + + android:src="@drawable/auto_close" + app:layout_constraintLeft_toLeftOf="@+id/bus_p_speed_tv" + app:layout_constraintTop_toBottomOf="@+id/bus_p_speed_tv"/> + + app:layout_constraintRight_toRightOf="parent" + app:layout_constraintTop_toTopOf="@+id/bus_p_speed_tv" /> + + + + + + + + + + + + + + + + + + + app:layout_constraintTop_toBottomOf="@+id/split_line_iv" /> - + android:layout_marginTop="@dimen/dp_76" + android:paddingBottom="@dimen/dp_20" + android:paddingLeft="@dimen/dp_30" + android:paddingRight="@dimen/bus_p_route_info_margin_right" + android:requiresFadingEdge="vertical" + app:layout_constraintLeft_toLeftOf="@+id/bus_p_driver_num_plate_tv" + app:layout_constraintTop_toBottomOf="@+id/bus_p_cur_station_name" /> - - + - - - - - - - + - - - + + + + + + + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/layout/bus_p_stations_common_item.xml b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/layout/bus_p_stations_common_item.xml index 33dfb22485..79f3639f39 100644 --- a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/layout/bus_p_stations_common_item.xml +++ b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/layout/bus_p_stations_common_item.xml @@ -46,8 +46,7 @@ android:layout_width="@dimen/dp_12" android:layout_height="@dimen/dp_61" android:scaleType="fitXY" - android:layout_marginLeft="8dp" - android:src="@drawable/bus_p_line_blue" + android:background="@color/acc_default_txt_color" app:layout_constraintLeft_toLeftOf="@+id/bus_p_circle" app:layout_constraintRight_toRightOf="@+id/bus_p_circle" app:layout_constraintTop_toTopOf="parent"/> diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/layout/p_bus_view_blue_tooth.xml b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/layout/p_bus_view_blue_tooth.xml new file mode 100644 index 0000000000..69ae14c394 --- /dev/null +++ b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/layout/p_bus_view_blue_tooth.xml @@ -0,0 +1,15 @@ + + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/layout/p_bus_view_status_bar.xml b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/layout/p_bus_view_status_bar.xml new file mode 100644 index 0000000000..fef63bbd25 --- /dev/null +++ b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/layout/p_bus_view_status_bar.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/values/colors.xml b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/values/colors.xml index 8e63faf83d..f90349cbaf 100644 --- a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/values/colors.xml +++ b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/values/colors.xml @@ -1,10 +1,10 @@ - #2D3E5F + #5D7199 #CCE9EFFC #C7D2E1 #2D3E5F - #0043FF + #203555 #2D3E5F #596A8A #D8E5F8 @@ -27,4 +27,12 @@ #33394C63 #2D3E5F #33394C63 + + #43CEFE + #1466FB + + #17417B + #6617417B + #A9B6CA + #1F82FB \ No newline at end of file diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/values/dimens.xml b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/values/dimens.xml index 033a735145..68aca264ee 100644 --- a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/values/dimens.xml +++ b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/values/dimens.xml @@ -1,13 +1,13 @@ - 700dp + 750dp 40dp 40dp - 40dp + 48dp 40dp 110dp 224dp - 510dp + 422dp 3dp 158dp @@ -23,14 +23,14 @@ 224dp 50dp 50dp - 44dp + 34dp 130dp 38dp - 36dp + 38dp - 110dp - 42dp + 90dp + 27dp 4dp 10dp diff --git a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/values/strings.xml b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/values/strings.xml index e98feed5f5..9d4a5bb7e8 100644 --- a/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/values/strings.xml +++ b/OCH/mogo-och-shuttle-passenger/src/jinlvvan/res/values/strings.xml @@ -3,11 +3,12 @@ KM/H 您已收车 暂无班次 + 暂无线路 - 到达站: - 下一站: + 已到站: + 前方到站: 始发站: - 请携带好随身物品下车。 + 请按秩序下车 欢迎乘坐蘑菇车联自动驾驶车。 \ No newline at end of file diff --git a/OCH/mogo-och-taxi/src/main/res/drawable-xhdpi/icon_ai_normal.png b/OCH/mogo-och-taxi/src/main/res/drawable-xhdpi/icon_ai_normal_och.png similarity index 100% rename from OCH/mogo-och-taxi/src/main/res/drawable-xhdpi/icon_ai_normal.png rename to OCH/mogo-och-taxi/src/main/res/drawable-xhdpi/icon_ai_normal_och.png diff --git a/OCH/mogo-och-taxi/src/main/res/drawable-xhdpi/icon_ai_select.png b/OCH/mogo-och-taxi/src/main/res/drawable-xhdpi/icon_ai_select_och.png similarity index 100% rename from OCH/mogo-och-taxi/src/main/res/drawable-xhdpi/icon_ai_select.png rename to OCH/mogo-och-taxi/src/main/res/drawable-xhdpi/icon_ai_select_och.png diff --git a/OCH/mogo-och-taxi/src/main/res/drawable-xhdpi/icon_bad_case_normal.png b/OCH/mogo-och-taxi/src/main/res/drawable-xhdpi/icon_bad_case_normal_och.png similarity index 100% rename from OCH/mogo-och-taxi/src/main/res/drawable-xhdpi/icon_bad_case_normal.png rename to OCH/mogo-och-taxi/src/main/res/drawable-xhdpi/icon_bad_case_normal_och.png diff --git a/OCH/mogo-och-taxi/src/main/res/drawable-xhdpi/icon_bad_case_select.png b/OCH/mogo-och-taxi/src/main/res/drawable-xhdpi/icon_bad_case_select_och.png similarity index 100% rename from OCH/mogo-och-taxi/src/main/res/drawable-xhdpi/icon_bad_case_select.png rename to OCH/mogo-och-taxi/src/main/res/drawable-xhdpi/icon_bad_case_select_och.png diff --git a/OCH/mogo-och-taxi/src/main/res/drawable/ai_collect_selector.xml b/OCH/mogo-och-taxi/src/main/res/drawable/ai_collect_selector.xml deleted file mode 100755 index 879be14e27..0000000000 --- a/OCH/mogo-och-taxi/src/main/res/drawable/ai_collect_selector.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/OCH/mogo-och-taxi/src/main/res/drawable/ai_collect_selector_och.xml b/OCH/mogo-och-taxi/src/main/res/drawable/ai_collect_selector_och.xml new file mode 100755 index 0000000000..a130b0115b --- /dev/null +++ b/OCH/mogo-och-taxi/src/main/res/drawable/ai_collect_selector_och.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-taxi/src/main/res/drawable/bad_case_selector.xml b/OCH/mogo-och-taxi/src/main/res/drawable/bad_case_selector.xml deleted file mode 100755 index b0e7932bd4..0000000000 --- a/OCH/mogo-och-taxi/src/main/res/drawable/bad_case_selector.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/OCH/mogo-och-taxi/src/main/res/drawable/bad_case_selector_och.xml b/OCH/mogo-och-taxi/src/main/res/drawable/bad_case_selector_och.xml new file mode 100755 index 0000000000..fbc6c83a08 --- /dev/null +++ b/OCH/mogo-och-taxi/src/main/res/drawable/bad_case_selector_och.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/OCH/mogo-och-taxi/src/main/res/layout/taxi_base_fragment.xml b/OCH/mogo-och-taxi/src/main/res/layout/taxi_base_fragment.xml index c8e273ad91..26b5abef3a 100644 --- a/OCH/mogo-och-taxi/src/main/res/layout/taxi_base_fragment.xml +++ b/OCH/mogo-och-taxi/src/main/res/layout/taxi_base_fragment.xml @@ -314,10 +314,10 @@ app:layout_constraintLeft_toRightOf="@id/module_och_taxi_swich_map_layout"> + android:background="@drawable/bad_case_selector_och"/> + + + +