Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
1
.idea/gradle.xml
generated
1
.idea/gradle.xml
generated
@@ -77,6 +77,7 @@
|
||||
</set>
|
||||
</option>
|
||||
<option name="resolveModulePerSourceSet" value="false" />
|
||||
<option name="useQualifiedModuleNames" value="true" />
|
||||
</GradleProjectSettings>
|
||||
</option>
|
||||
</component>
|
||||
|
||||
@@ -338,11 +338,13 @@ public class NaviClient implements IMogoNavi {
|
||||
return;
|
||||
}
|
||||
if ( mAimlessModeStatus && !isNaviing() ) {
|
||||
mAMapNavi.startSpeak();
|
||||
mAMapNavi.startAimlessMode( AimLessMode.CAMERA_AND_SPECIALROAD_DETECTED );
|
||||
mAimlessStatus = true;
|
||||
Logger.d( TAG, "开启巡航成功" );
|
||||
} else {
|
||||
mAimlessStatus = false;
|
||||
mAMapNavi.stopSpeak();
|
||||
Logger.d( TAG, "开启巡航失败" );
|
||||
}
|
||||
}
|
||||
@@ -353,6 +355,7 @@ public class NaviClient implements IMogoNavi {
|
||||
return;
|
||||
}
|
||||
mAMapNavi.stopAimlessMode();
|
||||
mAMapNavi.stopSpeak();
|
||||
mAimlessStatus = false;
|
||||
Logger.d( TAG, "关闭巡航成功" );
|
||||
}
|
||||
|
||||
@@ -3,5 +3,5 @@
|
||||
<color name="module_authorize_loading_text">#99FFFFFF</color>
|
||||
<color name="module_authorize_text">#FFFFFF</color>
|
||||
<color name="module_authorize_affirm_text">#FFFFFF</color>
|
||||
<color name="module_authorize_color">#7F000000</color>
|
||||
<color name="module_authorize_color">#99000000</color>
|
||||
</resources>
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="module_commons_dlg_bkg">#7f000000</color>
|
||||
<color name="module_commons_dlg_bkg">#99000000</color>
|
||||
<color name="module_commons_wm_dialog_text_textColor">#FFFFFF</color>
|
||||
<color name="v2x_FFF_666">#FFFFFF</color>
|
||||
<color name="module_commons_FFF_333">#FFFFFF</color>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<item name="android:windowFrame">@null</item>
|
||||
<item name="android:windowNoTitle">true</item>
|
||||
<item name="android:windowBackground">@android:color/transparent</item>
|
||||
<item name="android:backgroundDimAmount">0.4</item>
|
||||
<item name="android:backgroundDimAmount">0.6</item>
|
||||
<item name="android:backgroundDimEnabled">true</item>
|
||||
<item name="android:windowContentOverlay">@null</item>
|
||||
<item name="android:fullBright">@android:color/transparent</item>
|
||||
|
||||
@@ -0,0 +1,101 @@
|
||||
package com.mogo.module.extensions.weather;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.Paint;
|
||||
import android.text.Layout;
|
||||
import android.text.TextPaint;
|
||||
import android.util.AttributeSet;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.widget.AppCompatTextView;
|
||||
|
||||
import com.mogo.skin.support.IMogoSkinCompatSupportable;
|
||||
import com.mogo.skin.support.helper.MogoSkinCompatTextHelperDelegate;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
|
||||
/**
|
||||
* 带边框的textView
|
||||
*
|
||||
* @author tongchenfei
|
||||
*/
|
||||
public class StrokeTextView extends AppCompatTextView implements IMogoSkinCompatSupportable {
|
||||
|
||||
private MogoSkinCompatTextHelperDelegate textHelperDelegate;
|
||||
|
||||
public StrokeTextView(Context context) {
|
||||
this(context,null);
|
||||
}
|
||||
|
||||
public StrokeTextView(Context context, @Nullable AttributeSet attrs) {
|
||||
this(context, attrs, 0);
|
||||
}
|
||||
|
||||
public StrokeTextView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
|
||||
super(context, attrs, defStyleAttr);
|
||||
textHelperDelegate = new MogoSkinCompatTextHelperDelegate(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTextAppearance(Context context, int resId) {
|
||||
super.setTextAppearance(context, resId);
|
||||
textHelperDelegate.onSetTextAppearance(context, resId);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
|
||||
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
|
||||
int widthMode = MeasureSpec.getMode(widthMeasureSpec);
|
||||
int widthSize = getMeasuredWidth();
|
||||
if (widthMode == MeasureSpec.AT_MOST) {
|
||||
widthSize += 20;
|
||||
Layout mLayout = getLayout();
|
||||
if (mLayout != null) {
|
||||
mLayout.increaseWidthTo(widthSize);
|
||||
}
|
||||
setMeasuredDimension(widthSize, getMeasuredHeight());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDraw(Canvas canvas) {
|
||||
int oriColor = getCurrentTextColor();
|
||||
// 先画边框
|
||||
TextPaint paint = getPaint();
|
||||
setCurTextColor(Color.YELLOW);
|
||||
paint.setStyle(Paint.Style.STROKE);
|
||||
paint.setShadowLayer(10F, 0F, 0F, Color.YELLOW);
|
||||
float b = getTextSize() / 20;
|
||||
float shadowWidth = Math.max(b, 2f);
|
||||
paint.setStrokeWidth(shadowWidth);
|
||||
super.onDraw(canvas);
|
||||
// 再画文字
|
||||
setCurTextColor(oriColor);
|
||||
paint.setStyle(Paint.Style.FILL);
|
||||
super.onDraw(canvas);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过反射直接设置mCurTextColor这个变量,直接调用{@link #setTextColor(int)}会出现重复递归的问题
|
||||
*
|
||||
* @param color 要设置的颜色值
|
||||
*/
|
||||
private void setCurTextColor(int color) {
|
||||
try {
|
||||
Field mCurTextColor = TextView.class.getDeclaredField("mCurTextColor");
|
||||
mCurTextColor.setAccessible(true);
|
||||
mCurTextColor.set(this,color);
|
||||
mCurTextColor.setAccessible(false);
|
||||
} catch (NoSuchFieldException | IllegalAccessException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void applySkin() {
|
||||
textHelperDelegate.applySkin();
|
||||
}
|
||||
}
|
||||
@@ -290,5 +290,4 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone"
|
||||
app:constraint_referenced_ids="btnShowDrawableTipNoSize,btnShowDrawableTip,btnShowTextTip,btnDebugCtrlNaviView,btnDebugCtrlSubView,btnDebugCtrlTopView,btnDebugAddBottomLayerView" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -39,6 +39,7 @@ dependencies {
|
||||
implementation rootProject.ext.dependencies.androidxappcompat
|
||||
implementation rootProject.ext.dependencies.androidxconstraintlayout
|
||||
implementation rootProject.ext.dependencies.arouter
|
||||
implementation rootProject.ext.dependencies.callchatprovider
|
||||
annotationProcessor rootProject.ext.dependencies.aroutercompiler
|
||||
compileOnly rootProject.ext.dependencies.adasapi
|
||||
compileOnly rootProject.ext.dependencies.adasconfigapi
|
||||
|
||||
@@ -21,6 +21,7 @@ import com.mogo.map.marker.IMogoMarker;
|
||||
import com.mogo.map.marker.IMogoMarkerClickListener;
|
||||
import com.mogo.map.uicontroller.EnumMapUI;
|
||||
import com.mogo.module.common.MogoApisHandler;
|
||||
import com.mogo.module.common.api.CallChatApi;
|
||||
import com.mogo.module.common.map.MapCenterPointStrategy;
|
||||
import com.mogo.module.common.map.Scene;
|
||||
import com.mogo.module.main.cards.MogoModulesManager;
|
||||
@@ -111,6 +112,7 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
|
||||
FloatingViewHandler.init( mFloatingLayout );
|
||||
|
||||
mServiceApis.getOnlineCarPanelApi().initContainer( R.id.module_main_id_message_history_fragment_container, this );
|
||||
CallChatApi.getInstance().getApiProvider().initVehicleTeamContainer("init", R.id.module_main_id_message_history_fragment_container, this);
|
||||
}
|
||||
|
||||
// 隐藏布局
|
||||
@@ -366,6 +368,7 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
|
||||
mServiceApis.getRefreshStrategyControllerApi().clearAllData();
|
||||
AIAssist.getInstance( this ).release();
|
||||
mServiceApis.getOnlineCarPanelApi().clear();
|
||||
CallChatApi.getInstance().getApiProvider().initVehicleTeamContainer("init", 0, null);
|
||||
ContextHolderUtil.releaseContext();
|
||||
MogoModulesManager.getInstance().onDestroy();
|
||||
SchemeIntent.getInstance().clear();
|
||||
|
||||
@@ -77,17 +77,31 @@ public class V2XSurroundingDetailAdapter extends RecyclerView.Adapter<V2XSurroun
|
||||
mAddressTv.setText(exploreWay.getAddr());
|
||||
mTimeTv.setText(DateTimeUtils.getTimeText(exploreWay.getGenerateTime(), DateTimeUtils.MM_Yue_dd_Ri_HH_mm));
|
||||
|
||||
showView(exploreWay.isFabulous());
|
||||
|
||||
mHeartLikeView.setOnClickCallListener(v -> {
|
||||
Logger.d(V2XConst.MODULE_NAME, "反馈有用");
|
||||
Logger.d(V2XConst.MODULE_NAME, "反馈有用 position = " + position);
|
||||
roadReportTrue(exploreWay);
|
||||
showView(true);
|
||||
});
|
||||
|
||||
mUnHeartLikeView.setOnClickCallListener(v -> {
|
||||
Logger.d(V2XConst.MODULE_NAME, "反馈无用");
|
||||
Logger.d(V2XConst.MODULE_NAME, "反馈无用 position = " + position);
|
||||
roadReportErr(exploreWay);
|
||||
showView(true);
|
||||
});
|
||||
}
|
||||
|
||||
private void showView(boolean isAlreadyShow) {
|
||||
if (isAlreadyShow) {
|
||||
mHeartLikeView.setVisibility(View.GONE);
|
||||
mUnHeartLikeView.setVisibility(View.GONE);
|
||||
} else {
|
||||
mHeartLikeView.setVisibility(View.VISIBLE);
|
||||
mUnHeartLikeView.setVisibility(View.VISIBLE);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 反馈路况正确
|
||||
*/
|
||||
|
||||
@@ -32,7 +32,7 @@ import com.mogo.module.v2x.voice.V2XVoiceManager;
|
||||
public class V2XFatigueDrivingVH extends V2XBaseViewHolder<V2XEventShowEntity> {
|
||||
|
||||
private TextView mTvAddress, mTvAddressDistance;
|
||||
private ImageView mIvToNav;
|
||||
private ImageView mIvToNav, mIvClose;
|
||||
private MarkerExploreWay mNoveltyInfo;
|
||||
private V2XPushMessageEntity mV2XPushMessageEntity;
|
||||
|
||||
@@ -45,7 +45,9 @@ public class V2XFatigueDrivingVH extends V2XBaseViewHolder<V2XEventShowEntity> {
|
||||
mTvAddress = itemView.findViewById(R.id.tvAddress);
|
||||
mTvAddressDistance = itemView.findViewById(R.id.tvAddressDistance);
|
||||
mIvToNav = itemView.findViewById(R.id.ivToNav);
|
||||
mIvClose = itemView.findViewById(R.id.ivClose);
|
||||
mIvToNav.setOnClickListener(v -> triggerStartNavi(mNoveltyInfo));
|
||||
mIvClose.setOnClickListener(v -> V2XFatigueDrivingScenario.getInstance().close());
|
||||
|
||||
// 设置视图状态监听
|
||||
itemView.addOnAttachStateChangeListener(new View.OnAttachStateChangeListener() {
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
package com.mogo.module.v2x.entity.panel;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 返回刷新
|
||||
*/
|
||||
public class BackRefreshInfo implements Serializable {
|
||||
|
||||
}
|
||||
@@ -9,7 +9,6 @@ import android.text.Spanned
|
||||
import android.text.style.AbsoluteSizeSpan
|
||||
import android.text.style.ForegroundColorSpan
|
||||
import android.text.style.StyleSpan
|
||||
import android.util.Log
|
||||
import android.view.View
|
||||
import android.widget.ImageView
|
||||
import android.widget.RadioButton
|
||||
@@ -31,6 +30,7 @@ import com.mogo.module.v2x.V2XConst.MODULE_NAME
|
||||
import com.mogo.module.v2x.V2XServiceManager
|
||||
import com.mogo.module.v2x.adapter.V2XEventPagerAdapter
|
||||
import com.mogo.module.v2x.adapter.V2XSurroundingDetailAdapter
|
||||
import com.mogo.module.v2x.entity.panel.BackRefreshInfo
|
||||
import com.mogo.module.v2x.entity.panel.SurroundingConstruction
|
||||
import com.mogo.module.v2x.presenter.EventPanelPresenter
|
||||
import com.mogo.module.v2x.utils.TrackUtils
|
||||
@@ -211,6 +211,7 @@ class V2XEventPanelFragment : MvpFragment<V2XEventPanelFragment, EventPanelPrese
|
||||
}
|
||||
|
||||
mBackImage?.setOnClickListener {
|
||||
EventBus.getDefault().post(BackRefreshInfo())
|
||||
showBaseUi(true)
|
||||
}
|
||||
|
||||
@@ -343,7 +344,11 @@ class V2XEventPanelFragment : MvpFragment<V2XEventPanelFragment, EventPanelPrese
|
||||
0 -> {
|
||||
try {
|
||||
mV2XScenarioHistoryFragment.fromVoice = true
|
||||
mRbScenarioHistory?.isChecked = true
|
||||
if (mRbScenarioHistory?.isChecked == true) {
|
||||
mV2XScenarioHistoryFragment.ttsForVoiceCheckout()
|
||||
} else {
|
||||
mRbScenarioHistory?.isChecked = true
|
||||
}
|
||||
} catch (e: java.lang.Exception) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
@@ -351,7 +356,11 @@ class V2XEventPanelFragment : MvpFragment<V2XEventPanelFragment, EventPanelPrese
|
||||
1 -> {
|
||||
try {
|
||||
mV2XSurroundingFragment.fromVoice = true
|
||||
mRbSurroundingEvent?.isChecked = true
|
||||
if (mRbSurroundingEvent?.isChecked == true) {
|
||||
mV2XSurroundingFragment.ttsForVoiceCheckout()
|
||||
} else {
|
||||
mRbSurroundingEvent?.isChecked = true
|
||||
}
|
||||
} catch (e: java.lang.Exception) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
@@ -359,7 +368,11 @@ class V2XEventPanelFragment : MvpFragment<V2XEventPanelFragment, EventPanelPrese
|
||||
2 -> {
|
||||
try {
|
||||
mV2XShareEventsFragment.fromVoice = true
|
||||
mRbShareEvents?.isChecked = true
|
||||
if (mRbShareEvents?.isChecked == true) {
|
||||
mV2XShareEventsFragment.ttsForVoiceCheckout()
|
||||
} else {
|
||||
mRbShareEvents?.isChecked = true
|
||||
}
|
||||
} catch (e: java.lang.Exception) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
|
||||
@@ -42,6 +42,7 @@ import com.mogo.module.v2x.V2XServiceManager;
|
||||
import com.mogo.module.v2x.adapter.V2XShareEventAdapter;
|
||||
import com.mogo.module.v2x.adapter.V2XSurroundingAdapter;
|
||||
import com.mogo.module.v2x.adapter.V2XSurroundingDetailAdapter;
|
||||
import com.mogo.module.v2x.entity.panel.BackRefreshInfo;
|
||||
import com.mogo.module.v2x.entity.panel.SurroundingConstruction;
|
||||
import com.mogo.module.v2x.listener.SurroundingItemClickListener;
|
||||
import com.mogo.module.v2x.presenter.SurroundingEventPresenter;
|
||||
@@ -55,6 +56,8 @@ import com.mogo.utils.WorkThreadHandler;
|
||||
import com.mogo.utils.logger.Logger;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
import org.greenrobot.eventbus.Subscribe;
|
||||
import org.greenrobot.eventbus.ThreadMode;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
@@ -125,7 +128,6 @@ public class V2XSurroundingFragment extends MvpFragment<SurroundingEventView, Su
|
||||
mRecyclerView.setAdapter(mAdapter);
|
||||
|
||||
initData();
|
||||
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@@ -137,6 +139,7 @@ public class V2XSurroundingFragment extends MvpFragment<SurroundingEventView, Su
|
||||
@Override
|
||||
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
EventBus.getDefault().register(this);
|
||||
surroundingEventPresenter = new SurroundingEventPresenter(getContext(), this);
|
||||
mApis = (IMogoServiceApis) ARouter.getInstance().build(MogoServicePaths.PATH_SERVICE_APIS).navigation(getContext());
|
||||
|
||||
@@ -304,6 +307,15 @@ public class V2XSurroundingFragment extends MvpFragment<SurroundingEventView, Su
|
||||
return poiTypes;
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onBackRefresh(final BackRefreshInfo event) {
|
||||
if (event == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
initData();
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理marker的显示
|
||||
*
|
||||
@@ -445,6 +457,7 @@ public class V2XSurroundingFragment extends MvpFragment<SurroundingEventView, Su
|
||||
@Override
|
||||
public void onDestroyView() {
|
||||
super.onDestroyView();
|
||||
EventBus.getDefault().unregister(this);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -16,6 +16,9 @@ import com.mogo.module.common.entity.MarkerLocation;
|
||||
import com.mogo.module.common.entity.MarkerNoveltyInfo;
|
||||
import com.mogo.module.common.entity.MarkerOnlineCar;
|
||||
import com.mogo.module.common.entity.MarkerShowEntity;
|
||||
import com.mogo.module.common.entity.V2XPoiTypeEnum;
|
||||
import com.mogo.module.common.entity.V2XRoadEventEntity;
|
||||
import com.mogo.module.common.utils.CarSeries;
|
||||
import com.mogo.module.service.ServiceConst;
|
||||
import com.mogo.module.service.Utils;
|
||||
import com.mogo.module.service.marker.IMarkerView;
|
||||
@@ -25,8 +28,6 @@ import com.mogo.module.v2x.MoGoV2XServicePaths;
|
||||
import com.mogo.module.v2x.V2XConst;
|
||||
import com.mogo.module.v2x.V2XServiceManager;
|
||||
import com.mogo.module.v2x.entity.net.V2XSpecialCarRes.V2XMarkerEntity;
|
||||
import com.mogo.module.common.entity.V2XPoiTypeEnum;
|
||||
import com.mogo.module.common.entity.V2XRoadEventEntity;
|
||||
import com.mogo.module.v2x.listener.V2XMarkerClickListener;
|
||||
import com.mogo.module.v2x.manager.IMoGoV2XMarkerManager;
|
||||
import com.mogo.module.v2x.marker.V2XMarkerAdapter;
|
||||
@@ -250,7 +251,13 @@ public class MoGoV2XMarkerManager implements IMoGoV2XMarkerManager {
|
||||
optionsRipple.anchor(0.5f, 0.5f);
|
||||
|
||||
// 由于性能问题,D车机不使用事件扩散动画
|
||||
optionsRipple.icon(V2XMarkerAdapter.getV2XRoadEventViewPng(context, roadEventEntity));
|
||||
if (!CarSeries.isF8xxSeries()) {
|
||||
optionsRipple.icon(V2XMarkerAdapter.getV2XRoadEventViewPng(context, roadEventEntity));
|
||||
} else {
|
||||
optionsRipple.icons(V2XMarkerAdapter.getV2XRoadEventViewGif(context, roadEventEntity));
|
||||
optionsRipple.period(3);
|
||||
}
|
||||
|
||||
mAlarmInfoMarker = V2XServiceManager.getMarkerManager().addMarker(V2X_EVENT_ALARM_POI, optionsRipple);
|
||||
// 当前Marker设置为最上面
|
||||
mAlarmInfoMarker.setToTop();
|
||||
@@ -526,7 +533,12 @@ public class MoGoV2XMarkerManager implements IMoGoV2XMarkerManager {
|
||||
optionsRipple.anchor(0.5f, 0.5f);
|
||||
|
||||
// 由于性能问题,D车机不使用事件扩散动画
|
||||
optionsRipple.icon(V2XMarkerAdapter.getV2XRoadEventViewPng(context, roadEventEntity));
|
||||
if (!CarSeries.isF8xxSeries()) {
|
||||
optionsRipple.icon(V2XMarkerAdapter.getV2XRoadEventViewPng(context, roadEventEntity));
|
||||
} else {
|
||||
optionsRipple.icons(V2XMarkerAdapter.getV2XRoadEventViewGif(context, roadEventEntity));
|
||||
optionsRipple.period(3);
|
||||
}
|
||||
|
||||
mAlarmInfoMarker = V2XServiceManager.getMarkerManager().addMarker(V2X_EVENT_ALARM_POI, optionsRipple);
|
||||
// 当前Marker设置为最上面
|
||||
|
||||
@@ -6,6 +6,7 @@ import android.graphics.Bitmap
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import androidx.constraintlayout.widget.ConstraintLayout
|
||||
import com.mogo.module.common.entity.MarkerExploreWay
|
||||
import com.mogo.module.common.entity.V2XPoiTypeEnum
|
||||
import com.mogo.module.common.entity.V2XRoadEventEntity
|
||||
import com.mogo.module.service.utils.ViewUtils
|
||||
@@ -101,17 +102,14 @@ class V2XMarkerRoadEventView(context: Context, alarmInfo: V2XRoadEventEntity) :
|
||||
// 故障车辆
|
||||
V2XPoiTypeEnum.ALERT_CAR_TROUBLE_WARNING.toString() -> {
|
||||
ivCar.setImageResource(R.drawable.icon_car_red)
|
||||
ivCarTop.visibility = View.VISIBLE
|
||||
}
|
||||
// 取快递
|
||||
V2XPoiTypeEnum.ALERT_TRAFFIC_EXPRESS -> {
|
||||
ivCar.setImageResource(R.drawable.v_to_x_marker_express)
|
||||
ivBg.visibility = View.GONE
|
||||
}
|
||||
// 顺风车
|
||||
V2XPoiTypeEnum.ALERT_TRAFFIC_TAXI -> {
|
||||
ivCar.setImageResource(R.drawable.v_to_x_marker_taxi)
|
||||
ivBg.visibility = View.GONE
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,7 +10,8 @@
|
||||
android:paddingTop="@dimen/dp_42"
|
||||
android:paddingEnd="@dimen/dp_62"
|
||||
android:paddingBottom="@dimen/dp_42"
|
||||
app:roundLayoutRadius="@dimen/dp_40">
|
||||
app:roundLayoutRadius="@dimen/dp_40"
|
||||
tools:layout_height="wrap_content">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/ivIconP"
|
||||
@@ -26,12 +27,12 @@
|
||||
android:layout_width="@dimen/v2x_driving_width"
|
||||
android:layout_height="@dimen/v2x_driving_heigt"
|
||||
android:layout_marginStart="@dimen/dp_30"
|
||||
android:gravity="center"
|
||||
android:layout_marginTop="@dimen/dp_20"
|
||||
android:background="@drawable/bg_fatigue_driving"
|
||||
android:gravity="center"
|
||||
android:text="@string/recommended_route"
|
||||
android:textColor="@color/v2x_item_white"
|
||||
android:textSize="@dimen/v2x_recommond_route_size"
|
||||
android:layout_marginTop="@dimen/dp_20"
|
||||
android:text="@string/recommended_route"
|
||||
app:layout_constraintBottom_toTopOf="@+id/tvAddress"
|
||||
app:layout_constraintStart_toEndOf="@+id/ivIconP"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
@@ -40,6 +41,7 @@
|
||||
android:id="@+id/tvAddress"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_15"
|
||||
android:layout_marginEnd="@dimen/dp_30"
|
||||
android:layout_marginBottom="@dimen/dp_20"
|
||||
android:textColor="@color/v2x_FFF_333"
|
||||
@@ -69,8 +71,18 @@
|
||||
android:id="@+id/ivToNav"
|
||||
android:layout_width="@dimen/module_v2x_event_button_size"
|
||||
android:layout_height="@dimen/module_v2x_event_button_size"
|
||||
android:layout_marginEnd="@dimen/dp_40"
|
||||
android:src="@drawable/selector_nav_btn"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@+id/ivClose"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/ivClose"
|
||||
android:layout_width="@dimen/module_v2x_event_button_size"
|
||||
android:layout_height="@dimen/module_v2x_event_button_size"
|
||||
android:src="@drawable/v2x_selector_icon_report_err"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
|
||||
@@ -8,69 +8,79 @@
|
||||
android:paddingStart="@dimen/dp_62"
|
||||
android:paddingTop="@dimen/dp_42"
|
||||
android:paddingEnd="@dimen/dp_62"
|
||||
android:paddingBottom="@dimen/dp_42">
|
||||
android:paddingBottom="@dimen/dp_42"
|
||||
tools:layout_height="wrap_content">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvImgTextContent"
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginEnd="@dimen/dp_7"
|
||||
android:background="@drawable/bg_v2x_event_type_orange"
|
||||
android:gravity="center_vertical"
|
||||
android:paddingStart="@dimen/dp_23"
|
||||
android:paddingTop="@dimen/dp_5"
|
||||
android:paddingEnd="@dimen/dp_23"
|
||||
android:paddingBottom="@dimen/dp_5"
|
||||
android:text="求助信息"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="@dimen/module_v2x_event_type_title_text_size"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintVertical_chainStyle="packed" />
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<com.mogo.service.imageloader.MogoImageView
|
||||
android:id="@+id/ivFaultHelpHead"
|
||||
android:layout_width="@dimen/module_v2x_event_help_head_size"
|
||||
android:layout_height="@dimen/module_v2x_event_help_head_size"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_marginTop="@dimen/dp_21"
|
||||
android:layout_marginEnd="@dimen/dp_31"
|
||||
app:layout_constraintEnd_toEndOf="@+id/rlRoadEventList"
|
||||
app:layout_constraintStart_toStartOf="@+id/tvImgTextContent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tvImgTextContent"
|
||||
app:miv_borderColor="#4cffffff"
|
||||
app:miv_failureHolder="@drawable/icon_default_user_head"
|
||||
app:miv_overlayImageId="@drawable/icon_default_user_head"
|
||||
app:miv_placeHolder="@drawable/icon_default_user_head"
|
||||
app:miv_shape="circle"
|
||||
app:miv_shapeBorderWidth="@dimen/dp_4" />
|
||||
<TextView
|
||||
android:id="@+id/tvImgTextContent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginEnd="@dimen/dp_7"
|
||||
android:background="@drawable/bg_v2x_event_type_orange"
|
||||
android:gravity="center_vertical"
|
||||
android:paddingStart="@dimen/dp_23"
|
||||
android:paddingTop="@dimen/dp_5"
|
||||
android:paddingEnd="@dimen/dp_23"
|
||||
android:paddingBottom="@dimen/dp_5"
|
||||
android:text="求助信息"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="@dimen/module_v2x_event_type_title_text_size"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintVertical_chainStyle="packed" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvFaultHelpName"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_10"
|
||||
android:textColor="@color/v2x_FFF_333"
|
||||
android:textSize="@dimen/module_v2x_event_help_title_text_size"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintStart_toEndOf="@id/ivFaultHelpHead"
|
||||
app:layout_constraintTop_toTopOf="@+id/ivFaultHelpHead"
|
||||
app:layout_constraintVertical_chainStyle="packed"
|
||||
app:layout_goneMarginStart="@dimen/dp_22"
|
||||
tools:text="车主昵称" />
|
||||
<com.mogo.service.imageloader.MogoImageView
|
||||
android:id="@+id/ivFaultHelpHead"
|
||||
android:layout_width="@dimen/module_v2x_event_help_head_size"
|
||||
android:layout_height="@dimen/module_v2x_event_help_head_size"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_marginTop="@dimen/dp_21"
|
||||
android:layout_marginEnd="@dimen/dp_31"
|
||||
app:layout_constraintEnd_toEndOf="@+id/rlRoadEventList"
|
||||
app:layout_constraintStart_toStartOf="@+id/tvImgTextContent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tvImgTextContent"
|
||||
app:miv_borderColor="#4cffffff"
|
||||
app:miv_failureHolder="@drawable/icon_default_user_head"
|
||||
app:miv_overlayImageId="@drawable/icon_default_user_head"
|
||||
app:miv_placeHolder="@drawable/icon_default_user_head"
|
||||
app:miv_shape="circle"
|
||||
app:miv_shapeBorderWidth="@dimen/dp_4" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvFaultHelpEventTime"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:alpha="0.59"
|
||||
android:textColor="@color/v2x_FFF_999"
|
||||
android:textSize="@dimen/module_v2x_event_help_sub_title_text_size"
|
||||
app:layout_constraintStart_toStartOf="@id/tvFaultHelpName"
|
||||
app:layout_constraintTop_toBottomOf="@id/tvFaultHelpName"
|
||||
tools:text="15:30发布求助信息" />
|
||||
<TextView
|
||||
android:id="@+id/tvFaultHelpName"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_10"
|
||||
android:textColor="@color/v2x_FFF_333"
|
||||
android:textSize="@dimen/module_v2x_event_help_title_text_size"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintStart_toEndOf="@id/ivFaultHelpHead"
|
||||
app:layout_constraintTop_toTopOf="@+id/ivFaultHelpHead"
|
||||
app:layout_constraintVertical_chainStyle="packed"
|
||||
app:layout_goneMarginStart="@dimen/dp_22"
|
||||
tools:text="车主昵称" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvFaultHelpEventTime"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:alpha="0.59"
|
||||
android:textColor="@color/v2x_FFF_999"
|
||||
android:textSize="@dimen/module_v2x_event_help_sub_title_text_size"
|
||||
app:layout_constraintStart_toStartOf="@id/tvFaultHelpName"
|
||||
app:layout_constraintTop_toBottomOf="@id/tvFaultHelpName"
|
||||
tools:text="15:30发布求助信息" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvFaultHelpDistance"
|
||||
|
||||
@@ -87,7 +87,7 @@
|
||||
android:layout_width="@dimen/dp_79"
|
||||
android:layout_height="@dimen/dp_79"
|
||||
android:layout_marginRight="@dimen/dp_50"
|
||||
android:background="@drawable/v2x_selector_colse"
|
||||
android:background="@drawable/v2x_selector_close"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/rgTabSelect"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@+id/rgTabSelect" />
|
||||
|
||||
@@ -24,24 +24,11 @@
|
||||
android:id="@+id/ivCar"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:rotation="90"
|
||||
android:rotation="45"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/ivBg"
|
||||
app:layout_constraintEnd_toEndOf="@+id/ivBg"
|
||||
app:layout_constraintStart_toStartOf="@+id/ivBg"
|
||||
app:layout_constraintTop_toTopOf="@+id/ivBg"
|
||||
tools:src="@drawable/v_to_x_warning_car_red" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/ivCarTop"
|
||||
android:layout_width="@dimen/dp_88"
|
||||
android:layout_height="@dimen/dp_138"
|
||||
android:layout_gravity="center"
|
||||
android:src="@drawable/v_to_x_marker_car_error"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/ivBg"
|
||||
app:layout_constraintEnd_toEndOf="@+id/ivBg"
|
||||
app:layout_constraintStart_toStartOf="@+id/ivBg"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintVertical_bias="0"
|
||||
tools:visibility="visible" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -24,9 +24,9 @@
|
||||
android:id="@+id/btnCloseWindow"
|
||||
android:layout_width="@dimen/dp_88"
|
||||
android:layout_height="@dimen/dp_88"
|
||||
android:layout_marginEnd="@dimen/dp_28"
|
||||
android:layout_marginEnd="@dimen/dp_32"
|
||||
android:layout_marginBottom="@dimen/dp_40"
|
||||
android:background="@drawable/v2x_panel_close"
|
||||
android:background="@drawable/v2x_selector_close"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent" />
|
||||
|
||||
|
||||
Reference in New Issue
Block a user