diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/OchBusProvider.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/OchBusProvider.java index 4dba8c93ac..4154e95528 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/OchBusProvider.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/OchBusProvider.java @@ -51,17 +51,17 @@ public class OchBusProvider implements IMogoOCH { if (busFragment == null) { Logger.d(TAG, "准备add fragment======"); busFragment = new OchBusFragment(); - activity.getSupportFragmentManager().beginTransaction().add(containerId, busFragment).commit(); + activity.getSupportFragmentManager().beginTransaction().add(containerId, busFragment).commitAllowingStateLoss(); return; } Logger.d(TAG, "准备show fragment"); - activity.getSupportFragmentManager().beginTransaction().show(busFragment).commit(); + activity.getSupportFragmentManager().beginTransaction().show(busFragment).commitAllowingStateLoss(); } private void hideFragment() { if (busFragment != null) { Logger.d(TAG, "准备hide fragment"); - activity.getSupportFragmentManager().beginTransaction().hide(busFragment).commit(); + activity.getSupportFragmentManager().beginTransaction().hide(busFragment).commitAllowingStateLoss(); } } diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseOchBusTabFragment.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseOchBusTabFragment.java index 444c21166e..1ff52a0d9c 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseOchBusTabFragment.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseOchBusTabFragment.java @@ -52,6 +52,7 @@ public abstract class BaseOchBusTabFragment { // onShow() + CallerHmiManager.INSTANCE.showBadCaseEntrance(mBadcaseBtn); + return null; }, + () -> { // onHide() + return null; }); } /** diff --git a/OCH/mogo-och-bus/src/main/res/drawable-xhdpi-2560x1440/bus_badcase_btn_bg.png b/OCH/mogo-och-bus/src/main/res/drawable-xhdpi-2560x1440/bus_badcase_btn_bg.png new file mode 100644 index 0000000000..89a6eaa5dc Binary files /dev/null and b/OCH/mogo-och-bus/src/main/res/drawable-xhdpi-2560x1440/bus_badcase_btn_bg.png differ diff --git a/OCH/mogo-och-bus/src/main/res/layout/bus_base_fragment.xml b/OCH/mogo-och-bus/src/main/res/layout/bus_base_fragment.xml index 537a3d2dc9..93bfe40e64 100644 --- a/OCH/mogo-och-bus/src/main/res/layout/bus_base_fragment.xml +++ b/OCH/mogo-och-bus/src/main/res/layout/bus_base_fragment.xml @@ -141,9 +141,20 @@ android:layout_height="wrap_content" android:layout_gravity="center" android:background="@drawable/bus_setting_btn_bg" /> - + + ordersList){ if (null == ordersList && mNextPage == 0){//无数据 mOrdersRv.setVisibility(View.GONE); @@ -256,6 +288,7 @@ public class OCHTaxiPersonalDialogFragment extends DialogFragment implements Vie mAdapter.notifyDataSetChanged(); mNextPage = mNextPage +1; } + class OrderAdapter extends RecyclerView.Adapter{ private static final int ORDER_DETAIL_ITEM = 0; private static final int DAY_GROUP_ITEM = 1; @@ -270,11 +303,13 @@ public class OCHTaxiPersonalDialogFragment extends DialogFragment implements Vie @Override public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { if (viewType == ORDER_DETAIL_ITEM){ - View view = LayoutInflater.from(context).inflate(R.layout.taxi_orders_list_item,parent,false); + View view = LayoutInflater.from(context).inflate(R.layout.taxi_orders_list_item,parent + ,false); OrderDetailViewHolder viewHolder = new OrderDetailViewHolder(view); return viewHolder; }else if (viewType == DAY_GROUP_ITEM){ - View view = LayoutInflater.from(context).inflate(R.layout.taxi_orders_list_day_item,parent,false); + View view = LayoutInflater.from(context).inflate(R.layout.taxi_orders_list_day_item,parent + ,false); DayGroupViewHolder viewHolder = new DayGroupViewHolder(view); return viewHolder; } @@ -289,8 +324,9 @@ public class OCHTaxiPersonalDialogFragment extends DialogFragment implements Vie if (holder instanceof DayGroupViewHolder){ DayGroupViewHolder groupViewHolder = (DayGroupViewHolder)holder; groupViewHolder.dayGroupTv.setText(OchTaxiUtils.getYMDTime(queryRespBean.createTime)); - bindOrderDetailData(queryRespBean,groupViewHolder.orderTimeTv,groupViewHolder.startStationTv,groupViewHolder.endStationTv, - groupViewHolder.orderStatusBt,groupViewHolder.orderTypeBt,groupViewHolder.orderNumTv); + bindOrderDetailData(queryRespBean,groupViewHolder.orderTimeTv,groupViewHolder.startStationTv + , groupViewHolder.endStationTv, groupViewHolder.orderStatusBt,groupViewHolder.orderTypeBt + ,groupViewHolder.orderNumTv); if (isNoLineItem(position)){ groupViewHolder.dividerLine.setVisibility(View.VISIBLE); }else { @@ -303,7 +339,8 @@ public class OCHTaxiPersonalDialogFragment extends DialogFragment implements Vie } }else if (holder instanceof OrderDetailViewHolder){ OrderDetailViewHolder detailViewHolder = (OrderDetailViewHolder)holder; - bindOrderDetailData(queryRespBean,detailViewHolder.orderTimeTv,detailViewHolder.startStationTv,detailViewHolder.endStationTv, + bindOrderDetailData(queryRespBean,detailViewHolder.orderTimeTv, + detailViewHolder.startStationTv,detailViewHolder.endStationTv, detailViewHolder.orderStatusBt,detailViewHolder.orderTypeBt,detailViewHolder.orderNumTv); if (isNoLineItem(position)){ detailViewHolder.dividerLine.setVisibility(View.VISIBLE); @@ -352,8 +389,10 @@ public class OCHTaxiPersonalDialogFragment extends DialogFragment implements Vie public int getItemCount() { return orders.size(); } + @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) - private void bindOrderDetailData(OrderQueryRespBean.Result queryRespBean, TextView orderTimeTv, TextView startStationTv, TextView endStationTv, + private void bindOrderDetailData(OrderQueryRespBean.Result queryRespBean, TextView orderTimeTv, + TextView startStationTv, TextView endStationTv, Button orderStatusBt, Button orderTypeBt, TextView orderNumTv){ Calendar calendar= Calendar.getInstance(); calendar.setTimeInMillis(queryRespBean.createTime); @@ -364,6 +403,7 @@ public class OCHTaxiPersonalDialogFragment extends DialogFragment implements Vie orderTypeBt.setText(getOrderType(queryRespBean.orderType,orderTypeBt)); orderNumTv.setText("订单编号:"+String.valueOf(queryRespBean.orderId)); } + @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) private String getOrderStatus(int status, Button button){ OrderStatusEnum orderStatus = OrderStatusEnum.valueOf(status); @@ -379,6 +419,7 @@ public class OCHTaxiPersonalDialogFragment extends DialogFragment implements Vie return "服务中"; } } + @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) private String getOrderType(int type, Button button){ if (type == OrderTypeEnum.Reserved.getType()){ @@ -391,6 +432,7 @@ public class OCHTaxiPersonalDialogFragment extends DialogFragment implements Vie } } + class OrderDetailViewHolder extends RecyclerView.ViewHolder{ protected TextView orderTimeTv; @@ -420,6 +462,7 @@ public class OCHTaxiPersonalDialogFragment extends DialogFragment implements Vie } } } + class DayGroupViewHolder extends OrderDetailViewHolder{ private TextView dayGroupTv; diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_orders_list_view.xml b/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_orders_list_view.xml index 65fe651d0d..6e4b75c851 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_orders_list_view.xml +++ b/OCH/mogo-och-taxi-passenger/src/main/res/layout/taxi_orders_list_view.xml @@ -79,7 +79,7 @@ android:id="@+id/module_och_taxi_order_list" android:layout_width="match_parent" android:layout_height="wrap_content" - android:paddingBottom="94px"> + android:paddingBottom="50px"> diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseOchTaxiTabFragment.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseOchTaxiTabFragment.java index 8229c67371..76097c420e 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseOchTaxiTabFragment.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseOchTaxiTabFragment.java @@ -38,6 +38,9 @@ import com.mogo.module.common.constants.DataTypes; import com.mogo.module.common.view.OnPreventFastClickListener; import com.mogo.och.taxi.R; +import kotlin.Unit; +import kotlin.jvm.functions.Function0; + /** * 网约车基础Fragment,主要负责布局通用界面,处理站点面板和通话面板互斥情况 @@ -62,6 +65,7 @@ public abstract class BaseOchTaxiTabFragment { // onShow() + CallerHmiManager.INSTANCE.showBadCaseEntrance(mBadcaseBtn); + return null; }, + () -> { // onHide() + return null; }); + panelView = LayoutInflater.from(getContext()).inflate(getStationPanelViewId(), flStationPanelContainer); ctvAutopilotStatus.setOnClickListener(new OnPreventFastClickListener() { @Override diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/OCHTaxiPersonalDialogFragment.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/OCHTaxiPersonalDialogFragment.java index 6fb27a36d0..3a4791beaf 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/OCHTaxiPersonalDialogFragment.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/OCHTaxiPersonalDialogFragment.java @@ -68,13 +68,15 @@ public class OCHTaxiPersonalDialogFragment extends DialogFragment implements Vie private static OCHTaxiFragment mTaxiFragment; private static boolean serverHadNoData = false; + public OCHTaxiPersonalDialogFragment(){ + } + public OCHTaxiPersonalDialogFragment(OCHTaxiFragment taxiFragment){ mTaxiFragment = taxiFragment; } @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - getDialog().requestWindowFeature(Window.FEATURE_NO_TITLE); View view = inflater.inflate(R.layout.taxi_orders_list_view, container, false); initView(view); return view; @@ -87,6 +89,8 @@ public class OCHTaxiPersonalDialogFragment extends DialogFragment implements Vie getDialog().setCanceledOnTouchOutside(true); Window window = getDialog().getWindow(); //dialog padding 去掉 + window.getDecorView().setPadding(0,0,0,0); + window.setDimAmount(0f); WindowManager.LayoutParams params = window.getAttributes(); params.x = 0; params.y = 0; @@ -94,7 +98,7 @@ public class OCHTaxiPersonalDialogFragment extends DialogFragment implements Vie Point point = new Point(); windowManager.getDefaultDisplay().getSize(point); params.width = (int)(point.x * 0.375); - params.height = point.y; + params.height = ViewGroup.LayoutParams.MATCH_PARENT; Log.d(TAG,"width= "+params.width+"height= "+params.height); window.setAttributes(params); window.getDecorView().setBackgroundColor(Color.parseColor("#00FFFFFF"));//设置背景, 不然显示不全 @@ -180,13 +184,20 @@ public class OCHTaxiPersonalDialogFragment extends DialogFragment implements Vie }); mOperationViewPager.setAdapter(new OrdersOperationFragmentAdapter(getChildFragmentManager(), FragmentPagerAdapter.BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT)); fragments.get(0).setmType(0); - mTaxiFragment.queryDriverServiceData(); + + if (mTaxiFragment == null){ + dismiss(); + }else { + mTaxiFragment.queryDriverServiceData(); + } } + public void onServiceDataUpdate(long dailyTimeDuration, long dailyOrderNum){ for (int i=0; i< fragments.size();i++){ fragments.get(i).updateData(dailyTimeDuration,dailyOrderNum); } } + private void changeOperationTabLayoutTabUI(TabLayout.Tab tab, boolean isSelected) { TextView textView = (TextView) tab.getCustomView().findViewById(R.id.operation_tab_title); ImageView imageView = (ImageView) tab.getCustomView().findViewById(R.id.operation_tab_line_iv); @@ -232,9 +243,11 @@ public class OCHTaxiPersonalDialogFragment extends DialogFragment implements Vie }); mOrdersRv.setAdapter(mAdapter); } + private void requestOrdersList(int page, int size){ mTaxiFragment.queryOrdersList(page,size); } + public void onOrdersListPageRefresh(List ordersList){ if (null == ordersList && mNextPage == 0){//无数据 mOrdersRv.setVisibility(View.GONE); @@ -256,6 +269,7 @@ public class OCHTaxiPersonalDialogFragment extends DialogFragment implements Vie mAdapter.notifyDataSetChanged(); mNextPage = mNextPage +1; } + class OrderAdapter extends RecyclerView.Adapter{ private static final int ORDER_DETAIL_ITEM = 0; private static final int DAY_GROUP_ITEM = 1; @@ -352,6 +366,7 @@ public class OCHTaxiPersonalDialogFragment extends DialogFragment implements Vie public int getItemCount() { return orders.size(); } + @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) private void bindOrderDetailData(OrderQueryRespBean.Result queryRespBean, TextView orderTimeTv, TextView startStationTv, TextView endStationTv, Button orderStatusBt, Button orderTypeBt, TextView orderNumTv){ @@ -364,6 +379,7 @@ public class OCHTaxiPersonalDialogFragment extends DialogFragment implements Vie orderTypeBt.setText(getOrderType(queryRespBean.orderType,orderTypeBt)); orderNumTv.setText("订单编号:"+String.valueOf(queryRespBean.orderId)); } + @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) private String getOrderStatus(int status, Button button){ OrderStatusEnum orderStatus = OrderStatusEnum.valueOf(status); @@ -379,6 +395,7 @@ public class OCHTaxiPersonalDialogFragment extends DialogFragment implements Vie return "服务中"; } } + @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) private String getOrderType(int type, Button button){ if (type == OrderTypeEnum.Reserved.getType()){ @@ -391,6 +408,7 @@ public class OCHTaxiPersonalDialogFragment extends DialogFragment implements Vie } } + class OrderDetailViewHolder extends RecyclerView.ViewHolder{ protected TextView orderTimeTv; @@ -420,6 +438,7 @@ public class OCHTaxiPersonalDialogFragment extends DialogFragment implements Vie } } } + class DayGroupViewHolder extends OrderDetailViewHolder{ private TextView dayGroupTv; diff --git a/OCH/mogo-och-taxi/src/main/res/drawable-xhdpi-2560x1440/taxi_badcase_btn_bg.png b/OCH/mogo-och-taxi/src/main/res/drawable-xhdpi-2560x1440/taxi_badcase_btn_bg.png new file mode 100644 index 0000000000..89a6eaa5dc Binary files /dev/null and b/OCH/mogo-och-taxi/src/main/res/drawable-xhdpi-2560x1440/taxi_badcase_btn_bg.png differ 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 5a640a3415..e8e4a480c7 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 @@ -127,7 +127,7 @@ - + android:background="@drawable/taxi_setting_btn_bg" /> + app:layout_constraintLeft_toRightOf="@id/module_och_taxi_setting_layout"> - + android:background="@drawable/taxi_switch_map_bg" /> + +