Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
wangcongtao
2020-11-24 17:38:10 +08:00
23 changed files with 275 additions and 96 deletions

1
.idea/gradle.xml generated
View File

@@ -77,6 +77,7 @@
</set>
</option>
<option name="resolveModulePerSourceSet" value="false" />
<option name="useQualifiedModuleNames" value="true" />
</GradleProjectSettings>
</option>
</component>

View File

@@ -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, "关闭巡航成功" );
}

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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();
}
}

View File

@@ -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>

View File

@@ -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

View File

@@ -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();

View File

@@ -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);
}
}
/**
* 反馈路况正确
*/

View File

@@ -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() {

View File

@@ -0,0 +1,10 @@
package com.mogo.module.v2x.entity.panel;
import java.io.Serializable;
/**
* 返回刷新
*/
public class BackRefreshInfo implements Serializable {
}

View File

@@ -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()
}

View File

@@ -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);
}

View File

@@ -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设置为最上面

View File

@@ -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
}
}
}

View File

@@ -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" />

View File

@@ -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"

View File

@@ -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" />

View File

@@ -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>

View File

@@ -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" />