[Taxi无人化] refactor: 抽取personal ;
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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)
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
Reference in New Issue
Block a user