diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/OCHTaxiPersonalDialogFragment.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/OCHTaxiPersonalDialogFragment.java index ed8d7a61af..106b2c7d9f 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/OCHTaxiPersonalDialogFragment.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/OCHTaxiPersonalDialogFragment.java @@ -68,13 +68,18 @@ 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); + 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 +92,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,12 +101,13 @@ 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; - Log.d(TAG,"width= "+params.width+"height= "+params.height); + params.height = ViewGroup.LayoutParams.MATCH_PARENT; window.setAttributes(params); - window.getDecorView().setBackgroundColor(Color.parseColor("#00FFFFFF"));//设置背景, 不然显示不全 + //设置背景, 不然显示不全 + window.getDecorView().setBackgroundColor(Color.parseColor("#00FFFFFF")); window.setGravity(Gravity.LEFT|Gravity.BOTTOM); } + private void initView(View view) { initOperationTabDatas(view); mCloseIv = view.findViewById(R.id.module_och_taxi_order_list_close_iv); @@ -178,15 +186,28 @@ public class OCHTaxiPersonalDialogFragment extends DialogFragment implements Vie public void onPageScrollStateChanged(int state) { } }); - mOperationViewPager.setAdapter(new OrdersOperationFragmentAdapter(getChildFragmentManager(), FragmentPagerAdapter.BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT)); + 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(); + } } + + /** + * 更新运营数据 时间和订单数 + * @param dailyTimeDuration + * @param dailyOrderNum + */ 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 +253,20 @@ public class OCHTaxiPersonalDialogFragment extends DialogFragment implements Vie }); mOrdersRv.setAdapter(mAdapter); } + + /** + * 请求订单数据 + * @param page + * @param size + */ private void requestOrdersList(int page, int size){ mTaxiFragment.queryOrdersList(page,size); } + + /** + * 订单数据结果返回 + * @param ordersList + */ public void onOrdersListPageRefresh(List 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/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/layout/taxi_orders_list_view.xml b/OCH/mogo-och-taxi/src/main/res/layout/taxi_orders_list_view.xml index 65fe651d0d..6ca746cc6d 100644 --- a/OCH/mogo-och-taxi/src/main/res/layout/taxi_orders_list_view.xml +++ b/OCH/mogo-och-taxi/src/main/res/layout/taxi_orders_list_view.xml @@ -79,10 +79,11 @@ android:id="@+id/module_och_taxi_order_list" android:layout_width="match_parent" android:layout_height="wrap_content" - android:paddingBottom="94px"> + android:paddingBottom="50px"> +