[Taxi无人化] refactor: 抽取personal ;

This commit is contained in:
aibingbing
2023-08-23 18:25:10 +08:00
parent 7d115c6c77
commit 5ea0edccab
6 changed files with 43 additions and 53 deletions

View File

@@ -5,8 +5,7 @@ import android.os.Looper;
import com.mogo.commons.mvp.Presenter;
import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
import com.mogo.och.taxi.callback.ITaxiCarOperationalCallback;
import com.mogo.och.taxi.model.TaxiModel;
import com.mogo.och.taxi.ui.TaxiPersonalDialogFragment;
import com.mogo.och.taxi.ui.personal.TaxiPersonalDialogFragment;
import androidx.annotation.NonNull;
import androidx.lifecycle.LifecycleOwner;

View File

@@ -18,7 +18,7 @@ import com.mogo.och.taxi.R
import com.mogo.och.taxi.bean.QueryCurrentTaskRespBean
import com.mogo.och.taxi.model.TaxiModel
import com.mogo.och.taxi.network.LoginBusImpl
import com.mogo.och.taxi.ui.TaxiPersonalDialogFragment
import com.mogo.och.taxi.ui.personal.TaxiPersonalDialogFragment
import com.mogo.och.taxi.ui.TaxiTaskTabFragment
import com.mogo.och.taxi.utils.TPRouteDataTestUtils
import kotlinx.android.synthetic.main.taxi_base_fragment.module_mogo_och_operation_status

View File

@@ -1,4 +1,4 @@
package com.mogo.och.taxi.ui
package com.mogo.och.taxi.ui.personal
import android.annotation.SuppressLint
import android.content.Context

View File

@@ -1,4 +1,4 @@
package com.mogo.och.taxi.ui
package com.mogo.och.taxi.ui.personal
import android.annotation.SuppressLint
import android.app.Dialog
@@ -15,7 +15,6 @@ import android.view.ViewGroup
import android.view.WindowManager
import android.widget.Button
import android.widget.ImageView
import android.widget.RelativeLayout
import android.widget.TextView
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.fragment.app.Fragment
@@ -23,13 +22,11 @@ import androidx.fragment.app.FragmentManager
import androidx.fragment.app.FragmentPagerAdapter
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import androidx.viewpager.widget.ViewPager
import androidx.viewpager.widget.ViewPager.OnPageChangeListener
import com.google.android.material.tabs.TabLayout
import com.mogo.commons.mvp.MvpDialogFragment
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.utils.DateTimeUtil
import com.mogo.och.taxi.R
import com.mogo.och.taxi.base.AvoidLeakDialog
import com.mogo.och.taxi.bean.QueryCurrentTaskRespBean
@@ -46,7 +43,6 @@ import kotlinx.android.synthetic.main.taxi_orders_list_view.module_och_taxi_orde
import kotlinx.android.synthetic.main.taxi_orders_list_view.operation_data_tablayout
import kotlinx.android.synthetic.main.taxi_orders_list_view.operation_data_viewpager
import me.jessyan.autosize.utils.AutoSizeUtils
import java.util.Calendar
/**
* @author: wangmingjun
@@ -86,10 +82,6 @@ class TaxiPersonalDialogFragment :
return TAG
}
override fun dismissAllowingStateLoss() {
super.dismissAllowingStateLoss()
}
override fun onStart() {
super.onStart()
isCancelable = false
@@ -101,7 +93,8 @@ class TaxiPersonalDialogFragment :
val params = window.attributes
params.x = 0
params.y = 0
val windowManager = requireContext().getSystemService(Context.WINDOW_SERVICE) as WindowManager
val windowManager =
requireContext().getSystemService(Context.WINDOW_SERVICE) as WindowManager
val point = Point()
windowManager.defaultDisplay.getSize(point)
params.width = (point.x * 0.375).toInt()
@@ -225,7 +218,8 @@ class TaxiPersonalDialogFragment :
context
)
module_och_taxi_order_list.layoutManager = manager
module_och_taxi_order_list.addOnScrollListener(object : OnTaxiOrderRvOnScrollListener() {
module_och_taxi_order_list.addOnScrollListener(object :
OnTaxiOrderRvOnScrollListener() {
override fun onLoadMore() {
if (!serverHadNoData) {
// mPresenter!!.queryOrdersList(mNextPage, mPerPageSize)

View File

@@ -37,7 +37,6 @@ import com.mogo.och.taxi.constant.TaxiUnmannedConst.Companion.TAXI_END_MAP_MAKER
import com.mogo.och.taxi.constant.TaxiUnmannedConst.Companion.TAXI_START_MAP_MAKER
import com.mogo.och.taxi.constant.TaxiUnmannedConst.Companion.TYPE_MARKER_TAXI_ORDER
import com.mogo.och.taxi.model.TaxiModel
import com.mogo.och.taxi.ui.TaxiOrderCancelDialog
import com.mogo.och.taxi.ui.base.TaxiFragment
import com.mogo.och.taxi.ui.unmanned.TaskWithOrderUIState
import com.mogo.och.taxi.ui.unmanned.UnmannedIntent

View File

@@ -1,4 +1,4 @@
package com.mogo.och.taxi.ui;
package com.mogo.och.taxi.ui.task;
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI;
@@ -6,7 +6,6 @@ import android.app.AlertDialog;
import android.content.Context;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Build;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.Display;
@@ -21,20 +20,19 @@ import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.TextView;
import androidx.annotation.RequiresApi;
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
import com.mogo.eagle.core.utilcode.util.ToastUtils;
import com.mogo.och.taxi.constant.TaxiOrderStatusEnum;
import com.mogo.och.taxi.R;
import com.mogo.och.taxi.constant.TaxiOrderCancelReasons;
import com.mogo.och.taxi.constant.TaxiOrderStatusEnum;
import java.lang.ref.WeakReference;
/**
* @author: wangmingjun
* @date: 2021/8/18
*/
public class TaxiOrderCancelDialog extends AlertDialog implements View.OnClickListener,AdapterView.OnItemClickListener {
public class TaxiOrderCancelDialog extends AlertDialog implements View.OnClickListener, AdapterView.OnItemClickListener {
private static final String TAG = "OCHTaxiOrderCancelDial";
protected WeakReference<Context> contextWeakReference;
@@ -42,11 +40,10 @@ public class TaxiOrderCancelDialog extends AlertDialog implements View.OnClickLi
private ContentAdapter mContentAdapter;
private int mOrderStatus;//1预约单其他为即时单的状态 主要是控制乘客上车 乘客下车这几个选项的显示
private String[] mContentArrays;
private CommitReasonListener mCommitListener = null;
public TaxiOrderCancelDialog(Context context, int orderStatus,CommitReasonListener commitListener) {
super(context,R.style.OrderCancelDialog);
public TaxiOrderCancelDialog(Context context, int orderStatus, CommitReasonListener commitListener) {
super(context, R.style.OrderCancelDialog);
this.mOrderStatus = orderStatus;
contextWeakReference = new WeakReference<>(context);
this.mCommitListener = commitListener;
@@ -65,14 +62,14 @@ public class TaxiOrderCancelDialog extends AlertDialog implements View.OnClickLi
case ArriveAtStart:
mContentArrays = new String[]{TaxiOrderCancelReasons.CarBroken.getMsg(), TaxiOrderCancelReasons.DeviceBroken.getMsg(),
TaxiOrderCancelReasons.BatteryLow.getMsg(), TaxiOrderCancelReasons.DriverIsIll.getMsg(),
TaxiOrderCancelReasons.PassengerNotArrive.getMsg(),TaxiOrderCancelReasons.UnContractPassenger.getMsg(),
TaxiOrderCancelReasons.PassengerCancel.getMsg(),TaxiOrderCancelReasons.Other.getMsg()};
TaxiOrderCancelReasons.PassengerNotArrive.getMsg(), TaxiOrderCancelReasons.UnContractPassenger.getMsg(),
TaxiOrderCancelReasons.PassengerCancel.getMsg(), TaxiOrderCancelReasons.Other.getMsg()};
break;
case OnTheWayToEnd:
case ArriveAtEnd:
mContentArrays = new String[]{TaxiOrderCancelReasons.CarBroken.getMsg(), TaxiOrderCancelReasons.DeviceBroken.getMsg(),
TaxiOrderCancelReasons.BatteryLow.getMsg(), TaxiOrderCancelReasons.DriverIsIll.getMsg(),
TaxiOrderCancelReasons.PassengerStopOver.getMsg(),TaxiOrderCancelReasons.Other.getMsg()};
TaxiOrderCancelReasons.PassengerStopOver.getMsg(), TaxiOrderCancelReasons.Other.getMsg()};
break;
default:
mContentArrays = new String[]{TaxiOrderCancelReasons.CarBroken.getMsg(), TaxiOrderCancelReasons.DeviceBroken.getMsg(),
@@ -80,7 +77,6 @@ public class TaxiOrderCancelDialog extends AlertDialog implements View.OnClickLi
TaxiOrderCancelReasons.PassengerNotArrive.getMsg(), TaxiOrderCancelReasons.PassengerStopOver.getMsg(),
TaxiOrderCancelReasons.Other.getMsg()};
break;
}
}
@@ -99,7 +95,7 @@ public class TaxiOrderCancelDialog extends AlertDialog implements View.OnClickLi
private void initWindowView() {
Window window = getWindow();
//dialog padding 去掉
window.getDecorView().setPadding(0,0,0,0);
window.getDecorView().setPadding(0, 0, 0, 0);
window.setDimAmount(0.5f);
window.getDecorView().setBackgroundColor(Color.parseColor("#00FFFFFF"));//设置背景 不然显示不全
@@ -127,16 +123,16 @@ public class TaxiOrderCancelDialog extends AlertDialog implements View.OnClickLi
@Override
public void onClick(View v) {
if (v.getId() == R.id.order_cancel_commit_tv) {//bt commit
if (!TextUtils.isEmpty(mCurrentReason) && TaxiOrderCancelReasons.getType(mCurrentReason) != 0) {
//todo 取消正在执行的任务
if (mCommitListener != null){
mCommitListener.cancelCurOrder(TaxiOrderCancelReasons.getType(mCurrentReason));
}
dismiss();
}else {
ToastUtils.showShort("取消原因不能为空");
}
}else if (v.getId() == R.id.order_dialog_cancel_tv){//close icon
if (!TextUtils.isEmpty(mCurrentReason) && TaxiOrderCancelReasons.getType(mCurrentReason) != 0) {
//todo 取消正在执行的任务
if (mCommitListener != null) {
mCommitListener.cancelCurOrder(TaxiOrderCancelReasons.getType(mCurrentReason));
}
dismiss();
} else {
ToastUtils.showShort("取消原因不能为空");
}
} else if (v.getId() == R.id.order_dialog_cancel_tv) {//close icon
mCurrentReason = "";
dismiss();
}
@@ -144,27 +140,27 @@ public class TaxiOrderCancelDialog extends AlertDialog implements View.OnClickLi
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
CallerLogger.INSTANCE.d(M_TAXI + TAG,"mCurrentReason ="+ mContentArrays[position]);
CallerLogger.INSTANCE.d(M_TAXI + TAG, "mCurrentReason =" + mContentArrays[position]);
mCurrentReason = mContentArrays[position];
mContentAdapter.notifyCurrentReasons(mCurrentReason);
}
interface CommitReasonListener{
interface CommitReasonListener {
void cancelCurOrder(int type);
}
class ContentAdapter extends BaseAdapter{
class ContentAdapter extends BaseAdapter {
private Context context;
private String[] datas;
private LayoutInflater layoutInflater;
private String currentReasons = "";
public ContentAdapter(Context context, String[] array){
public ContentAdapter(Context context, String[] array) {
this.context = context;
datas = array;
layoutInflater = LayoutInflater.from(context);
}
@Override
public int getCount() {
return datas.length;
@@ -183,26 +179,28 @@ public class TaxiOrderCancelDialog extends AlertDialog implements View.OnClickLi
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder = null;
if (convertView == null){
convertView = layoutInflater.inflate(R.layout.taxi_order_checkbox_item,null);
if (convertView == null) {
convertView = layoutInflater.inflate(R.layout.taxi_order_checkbox_item, null);
viewHolder = new ViewHolder();
viewHolder.checkBoxTv = convertView.findViewById(R.id.item_checkbox);
convertView.setTag(viewHolder);
}else {
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
viewHolder.checkBoxTv.setText(datas[position]);
if(viewHolder.checkBoxTv.getText().toString().equals(currentReasons)){
viewHolder.checkBoxTv.setCompoundDrawablesWithIntrinsicBounds(context.getResources().getDrawable(R.drawable.shape_size_taxi_selected_btn),null,null,null);
}else {
viewHolder.checkBoxTv.setCompoundDrawablesWithIntrinsicBounds(context.getResources().getDrawable(R.drawable.shape_size_taxi_unselected_btn),null,null,null);
if (viewHolder.checkBoxTv.getText().toString().equals(currentReasons)) {
viewHolder.checkBoxTv.setCompoundDrawablesWithIntrinsicBounds(context.getResources().getDrawable(R.drawable.shape_size_taxi_selected_btn), null, null, null);
} else {
viewHolder.checkBoxTv.setCompoundDrawablesWithIntrinsicBounds(context.getResources().getDrawable(R.drawable.shape_size_taxi_unselected_btn), null, null, null);
}
return convertView;
}
public void notifyCurrentReasons(String reason){
public void notifyCurrentReasons(String reason) {
currentReasons = reason;
notifyDataSetChanged();
}
class ViewHolder {
TextView checkBoxTv;
}