完成了没有出行动态的时候的展示

This commit is contained in:
董宏宇
2020-08-11 14:58:04 +08:00
parent 3a7a84465a
commit 40905b916c
13 changed files with 297 additions and 50 deletions

View File

@@ -28,6 +28,7 @@ import com.mogo.service.module.IMogoActionManager;
import com.mogo.service.module.IMogoMarkerService;
import com.mogo.service.module.IMogoRegisterCenter;
import com.mogo.service.module.IMogoSearchManager;
import com.mogo.service.share.IMogoShareManager;
import com.mogo.service.statusmanager.IMogoStatusManager;
import com.mogo.service.strategy.IMogoRefreshStrategyController;
import com.mogo.service.windowview.IMogoTopViewManager;
@@ -64,6 +65,7 @@ public class V2XServiceManager {
private static IMogoRegisterCenter mMogoRegisterCenter;
private static IMogoRefreshStrategyController mIMogoRefreshStrategyController;
private static IMogoMarkerService mIMogoMarkerService;
private static IMogoShareManager mIMogoShareManager;
private static IMogoActionManager mMogoActionManager;
private static ICarsChattingProvider mCarsChattingProvider;
@@ -102,6 +104,7 @@ public class V2XServiceManager {
mMogoTopViewManager = mMogoServiceApis.getTopViewManager();
mIMogoSearchManager = mMogoServiceApis.getSearchManagerApi();
mIMogoMarkerService = mMogoServiceApis.getMarkerService();
mIMogoShareManager = mMogoServiceApis.getShareManager();
mMarkerManager = mMapService.getMarkerManager(context);
mNavi = mMapService.getNavi(context);
@@ -243,4 +246,8 @@ public class V2XServiceManager {
public static V2XCalculateServer getV2XCalculateServer() {
return mV2XCalculateServer;
}
public static IMogoShareManager getMogoShareManager() {
return mIMogoShareManager;
}
}

View File

@@ -79,7 +79,7 @@ class V2XEventPanelFragment : MvpFragment<V2XEventPanelFragment, EventPanelPrese
}
}
val historyMessage = V2XSQLiteUtils.getScenarioHistoryData()
val historyMessage = V2XSQLiteUtils.getScenarioHistoryUnDisposeData()
if (historyMessage != null && historyMessage.size > 0) {
tvEventCount.visibility = View.VISIBLE
tvEventCount.text = "${historyMessage.size}"

View File

@@ -2,8 +2,10 @@ package com.mogo.module.v2x.fragment;
import android.content.Context;
import android.util.Log;
import android.view.View;
import androidx.annotation.NonNull;
import androidx.coordinatorlayout.widget.CoordinatorLayout;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
@@ -16,6 +18,7 @@ import com.mogo.module.v2x.adapter.V2XScenarioHistoryAdapter;
import com.mogo.module.v2x.manager.IMoGoV2XStatusChangedListener;
import com.mogo.module.v2x.manager.V2XStatusDescriptor;
import com.mogo.module.v2x.presenter.ScenarioHistoryPresenter;
import com.mogo.module.v2x.view.V2XListEmptyView;
import com.mogo.utils.logger.Logger;
import com.mogo.utils.network.utils.GsonUtil;
@@ -31,6 +34,8 @@ public class V2XScenarioHistoryFragment
extends MvpFragment<V2XScenarioHistoryFragment, ScenarioHistoryPresenter> {
private String TAG = "ScenarioHistoryFragment";
private V2XListEmptyView mEmptyView;
private CoordinatorLayout mClHistoryList;
private RecyclerView mRecyclerView;
private V2XScenarioHistoryAdapter mV2XScenarioHistoryAdapter;
private ArrayList<V2XHistoryScenarioData> mV2XHistoryScenarioData = new ArrayList<>();
@@ -43,7 +48,10 @@ public class V2XScenarioHistoryFragment
@Override
protected void initViews() {
Log.d(TAG, "initViews --------> ");
mRecyclerView = (RecyclerView) findViewById(R.id.recyclerView);
mEmptyView = findViewById(R.id.viewEmpty);
mClHistoryList = findViewById(R.id.clHistoryList);
mRecyclerView = findViewById(R.id.recyclerView);
mV2XScenarioHistoryAdapter = new V2XScenarioHistoryAdapter(mV2XHistoryScenarioData);
mRecyclerView.setAdapter(mV2XScenarioHistoryAdapter);
mRecyclerView.addItemDecoration(new SpacesItemDecoration(14));
@@ -51,12 +59,28 @@ public class V2XScenarioHistoryFragment
LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false);
mRecyclerView.setLayoutManager(layoutManager);
initListener();
mEmptyView.setTripMessage("暂无交通事件");
mEmptyView.setRefreshVisibility(false);
}
/**
* 初始化页面用到得监听
*/
private void initListener() {
mEmptyView.setOnControlListener(new V2XListEmptyView.OnControlListener() {
@Override
public void onShearClick() {
V2XServiceManager.getMogoShareManager().showShareDialog();
}
@Override
public void onRefreshClick() {
}
});
V2XServiceManager.getMoGoV2XStatusManager()
.registerStatusChangedListener(
TAG,
@@ -85,7 +109,14 @@ public class V2XScenarioHistoryFragment
public void loadHistory(List<V2XHistoryScenarioData> v2XHistoryScenarioData) {
Logger.d(TAG, "查询到历史消息:" + GsonUtil.jsonFromObject(v2XHistoryScenarioData));
mV2XHistoryScenarioData.clear();
mV2XHistoryScenarioData.addAll(v2XHistoryScenarioData);
if (v2XHistoryScenarioData.size() > 0) {
mEmptyView.setVisibility(View.GONE);
mClHistoryList.setVisibility(View.VISIBLE);
mV2XHistoryScenarioData.addAll(v2XHistoryScenarioData);
} else {
mEmptyView.setVisibility(View.VISIBLE);
mClHistoryList.setVisibility(View.GONE);
}
mV2XScenarioHistoryAdapter.notifyDataSetChanged();
}

View File

@@ -73,6 +73,15 @@ public class V2XSQLiteUtils {
return getScenarioHistoryDao().query(new V2XHistoryScenarioData(), "triggerTime", true);
}
/**
* 查询当天的未评价V2X数据
*/
public static List<V2XHistoryScenarioData> getScenarioHistoryUnDisposeData() {
V2XHistoryScenarioData v2XHistoryScenarioData = new V2XHistoryScenarioData();
v2XHistoryScenarioData.isDispose = false;
return getScenarioHistoryDao().query(v2XHistoryScenarioData, "triggerTime", true);
}
/**
* 修改指定的数据
*/

View File

@@ -0,0 +1,97 @@
package com.mogo.module.v2x.view;
import android.content.Context;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.annotation.Nullable;
import com.mogo.module.v2x.R;
/**
* 列表空白布局View
*
* @author donghongyu
*/
public class V2XListEmptyView extends LinearLayout {
private ImageView mIvEmptyView;
private TextView mTvTrip;
private Button mBtnShear;
private Button mBtnRefresh;
private OnControlListener mOnControlListener;
public V2XListEmptyView(Context context) {
this(context, null);
}
public V2XListEmptyView(Context context, @Nullable AttributeSet attrs) {
this(context, attrs, 0);
}
public V2XListEmptyView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
LayoutInflater.from(context).inflate(R.layout.view_history_empty, this);
initView();
}
private void initView() {
mIvEmptyView = findViewById(R.id.ivEmptyView);
mTvTrip = findViewById(R.id.tvTrip);
mBtnShear = findViewById(R.id.btnShear);
mBtnRefresh = findViewById(R.id.btnRefresh);
mBtnShear.setOnClickListener(v -> {
if (mOnControlListener != null) {
mOnControlListener.onShearClick();
}
});
mBtnRefresh.setOnClickListener(v -> {
if (mOnControlListener != null) {
mOnControlListener.onRefreshClick();
}
});
}
public void setTripMessage(String tripMsg) {
if (mTvTrip != null) {
mTvTrip.setText(tripMsg);
}
}
public void setShearVisibility(boolean visibility) {
if (mBtnShear != null) {
if (visibility) {
mBtnShear.setVisibility(VISIBLE);
} else {
mBtnShear.setVisibility(GONE);
}
}
}
public void setRefreshVisibility(boolean visibility) {
if (mBtnRefresh != null) {
if (visibility) {
mBtnRefresh.setVisibility(VISIBLE);
} else {
mBtnRefresh.setVisibility(GONE);
}
}
}
public void setOnControlListener(OnControlListener onControlListener) {
this.mOnControlListener = onControlListener;
}
public interface OnControlListener {
void onShearClick();
void onRefreshClick();
}
}