[2110] 打开状态下自动清理过期选中的线路和

This commit is contained in:
yangyakun
2022-09-26 16:04:16 +08:00
parent 905416610d
commit bdb274fca2
5 changed files with 22 additions and 13 deletions

View File

@@ -10,5 +10,5 @@ import com.mogo.och.bus.bean.BusQueryLinesResponse;
public interface IBusLinesCallback {
void onBusLinesChange(BusQueryLinesResponse lines);
void onChangeLineIdSuccess();
void onBusLineTasks(BusQueryLineTaskResponse o, int position);
void onBusLineTasks(BusQueryLineTaskResponse o, int position,boolean autoRefresh);
}

View File

@@ -71,17 +71,17 @@ public class BusLineModel {
* @param lineId
* @param position 位置
*/
public void queryBusLineTasksById(int lineId, int position){
public void queryBusLineTasksById(int lineId, int position,boolean autoRefresh){
BusServiceManager.getInstance().queryBusTaskByLineId(mContext, String.valueOf(lineId),new IBusServiceCallback<BusQueryLineTaskResponse>() {
@Override
public void onSuccess(BusQueryLineTaskResponse data) {
if (null == data && mBusLinesCallback != null) {
mBusLinesCallback.onBusLineTasks(null,position);
mBusLinesCallback.onBusLineTasks(null,position,autoRefresh);
return;
}
if (mBusLinesCallback != null){
mBusLinesCallback.onBusLineTasks(data,position);
mBusLinesCallback.onBusLineTasks(data,position,autoRefresh);
}
}

View File

@@ -76,9 +76,9 @@ public class BusLinePresenter extends Presenter<BusSwitchLineView> implements IB
if(close){
return;
}
BusLineModel.getInstance().queryBusLineTasksById(lineId,position);
BusLineModel.getInstance().queryBusLineTasksById(lineId,position,false);
subscribe = Observable.interval(3, TimeUnit.MINUTES).subscribe(aLong -> {
BusLineModel.getInstance().queryBusLineTasksById(lineId,position);
BusLineModel.getInstance().queryBusLineTasksById(lineId,position,true);
});
}
@@ -104,7 +104,7 @@ public class BusLinePresenter extends Presenter<BusSwitchLineView> implements IB
@Override
public void onBusLineTasks(BusQueryLineTaskResponse o, int position) {
mView.onBusLineTasks(o,position);
public void onBusLineTasks(BusQueryLineTaskResponse o, int position,boolean autoRefresh) {
mView.onBusLineTasks(o,position,autoRefresh);
}
}

View File

@@ -71,7 +71,6 @@ class BusSwitchLineActivity : MvpActivity<BusSwitchLineView?, BusLinePresenter?>
mLineCommitBtn.setOnClickListener(this)
mLinesListView = findViewById(R.id.switch_line_rv)
linearLayoutManager = LinearLayoutManager(this)
PagerSnapHelper().attachToRecyclerView(mLinesListView)
mLinesListView.setLayoutManager(linearLayoutManager)
mLinesListView.setItemAnimator(OpenItemAnimator())
mAdapter = SwitchLineAdapter(applicationContext, mData)
@@ -144,7 +143,7 @@ class BusSwitchLineActivity : MvpActivity<BusSwitchLineView?, BusLinePresenter?>
finish()
}
override fun onBusLineTasks(lineTaskInfo: BusQueryLineTaskResponse?, position: Int) {
override fun onBusLineTasks(lineTaskInfo: BusQueryLineTaskResponse?, position: Int,autoRefresh:Boolean) {
val result = mData[position]
if (result.taskList == null) {
result.taskList = ArrayList()
@@ -161,10 +160,20 @@ class BusSwitchLineActivity : MvpActivity<BusSwitchLineView?, BusLinePresenter?>
if (lineTaskInfo.data.size != result.taskList.size) { // 不相等有变动 重新赋值
result.taskList.clear()
result.taskList.addAll(lineTaskInfo.data)
if(autoRefresh) {
mAdapter.checkTaskId = -1
mAdapter.checkLineId = -1
lineTaskInfo.data.forEach {
if (it.id == mAdapter.checkTaskId) {
mAdapter.checkTaskId = it.id
mAdapter.checkLineId = result.lineId
}
}
}
// 打开操作
mAdapter.notifyItemChanged(position)
linearLayoutManager.stackFromEnd = (position==mData.size-1||position==mData.size-2)&&mData.size>6
mLinesListView.scrollToPosition(position)
mLinesListView.smoothScrollToPosition(position)
}else if(lineTaskInfo.data.isEmpty()){
mAdapter.notifyItemChanged(position)
}
@@ -198,7 +207,7 @@ class BusSwitchLineActivity : MvpActivity<BusSwitchLineView?, BusLinePresenter?>
if(mAdapter.checkLineId!=-1&&mAdapter.checkTaskId!=-1){
mPresenter?.commitSwitchLineId(mAdapter.checkTaskId,mAdapter.checkLineId)
}else{
ToastUtils.showLong("请选择时间")
ToastUtils.showLong("请选择任务")
}
}
}

View File

@@ -13,6 +13,6 @@ public interface BusSwitchLineView extends IView {
void onBusLinesChange(BusQueryLinesResponse data);
void onChangeLineIdSuccess();
void onBusLineTasks(BusQueryLineTaskResponse o, int position);
void onBusLineTasks(BusQueryLineTaskResponse o, int position,boolean autoRefresh);
}