Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
@@ -62,7 +62,9 @@ public class MogoApplication extends AbsMogoApplication {
|
||||
crashSystem.setDebug( BuildConfig.DEBUG );
|
||||
Logger.init( BuildConfig.DEBUG ? LogLevel.VERBOSE : LogLevel.VERBOSE );
|
||||
|
||||
MogoModulePaths.addModule( new MogoModule( PATH_GUIDE_FRAGMENT, PATH_GUIDE_MODULE_NAME ) );
|
||||
if( DebugConfig.isMapBased() ){
|
||||
MogoModulePaths.addModule( new MogoModule( PATH_GUIDE_FRAGMENT, PATH_GUIDE_MODULE_NAME ) );
|
||||
}
|
||||
MogoModulePaths.addModule( new MogoModule( MogoServicePaths.PATH_AGREEMENT, AuthorizeConstant.PATH_AGREEMENT_MODULE_NAME ) );
|
||||
|
||||
if ( DebugConfig.isLauncher() ) {
|
||||
@@ -72,7 +74,7 @@ public class MogoApplication extends AbsMogoApplication {
|
||||
MogoModulePaths.addModule( new MogoModule( ServiceConst.PATH_TTS_CONFIG, ServiceConst.PATH_TTS_CONFIG ) );
|
||||
|
||||
MogoModulePaths.addBaseModule( new MogoModule( MogoServicePaths.PATH_WIDGETS, MogoServicePaths.PATH_WIDGETS ) );
|
||||
if ( DebugConfig.getCarMachineType() != DebugConfig.CAR_MACHINE_TYPE_BYD ) {
|
||||
if ( DebugConfig.isMapBased() ) {
|
||||
MogoModulePaths.addModule( new MogoModule( CallChatConstant.PROVIDER, CallChatConstant.MODULE_NAME ) );
|
||||
}
|
||||
|
||||
|
||||
@@ -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, "关闭巡航成功" );
|
||||
}
|
||||
|
||||
@@ -75,9 +75,9 @@ public class AppNavigatorFragment extends MvpFragment< AppNavigatorView, AppNavi
|
||||
|
||||
mAnim = new AnimWrapper( mAIAssist );
|
||||
boolean naviStatus = AppServiceHandler.getApis().getMapServiceApi().getNavi( getContext() ).isNaviing();
|
||||
if ( naviStatus ) {
|
||||
setCurrentXiaoZhiEmoji( AnimRes.EmojiType.Navigation );
|
||||
}
|
||||
// if ( naviStatus ) {
|
||||
// setCurrentXiaoZhiEmoji( AnimRes.EmojiType.Navigation );
|
||||
// }
|
||||
|
||||
mAIAssist.setOnClickListener( new OnAiAssistClickListener() );
|
||||
mAIAssistContainer.setOnClickListener( view -> {
|
||||
@@ -109,12 +109,12 @@ public class AppNavigatorFragment extends MvpFragment< AppNavigatorView, AppNavi
|
||||
|
||||
@Override
|
||||
public void setCurrentXiaoZhiEmoji( AnimRes.EmojiType type ) {
|
||||
boolean started = mAnim.isStarted();
|
||||
mAnim.stop();
|
||||
mAnim.setCurrentAnim( type );
|
||||
if ( started ) {
|
||||
mAnim.start();
|
||||
}
|
||||
// boolean started = mAnim.isStarted();
|
||||
// mAnim.stop();
|
||||
// mAnim.setCurrentAnim( type );
|
||||
// if ( started ) {
|
||||
// mAnim.start();
|
||||
// }
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -4,9 +4,6 @@ import com.alibaba.android.arouter.launcher.ARouter
|
||||
import com.mogo.module.authorize.authprovider.invoke.AuthorizeConstant
|
||||
import com.mogo.module.authorize.authprovider.invoke.AuthorizeInvokerConstant.Companion.AUTHORIZE_TYPE_LAUNCHER_MAIN
|
||||
import com.mogo.module.authorize.authprovider.module.IMogoAuthorizeModuleManager
|
||||
import com.mogo.module.common.utils.CarSeries
|
||||
import com.mogo.module.common.utils.CarSeries.CAR_SERIES_C80X
|
||||
import com.mogo.module.common.utils.CarSeries.CAR_SERIES_F80X
|
||||
import com.mogo.module.guide.GuideConstant.Companion.PATH_GUIDE_MODULE_NAME
|
||||
import com.mogo.module.guide.fragment.GuideFragment
|
||||
import com.mogo.module.guide.util.SharedPreferenceUtil.hasGuide
|
||||
@@ -50,9 +47,7 @@ object GuideBizManager {
|
||||
Logger.d("GuideBizManager", "removeGuideFragmentToStack")
|
||||
setGuideFinish()
|
||||
setGuideRecord()
|
||||
serviceApi?.let {
|
||||
it.fragmentManagerApi.pop()
|
||||
}
|
||||
serviceApi?.fragmentManagerApi?.pop()
|
||||
serviceApi?.adasControllerApi?.showADAS()
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
// 隐藏布局
|
||||
@@ -277,7 +279,6 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
mMogoStatusManager.setMainPageResumeStatus( TAG, true );
|
||||
mMogoStatusManager.setMainPageLaunchedStatus( TAG, true );
|
||||
mMogoStatusManager.setMainPageIsBackgroundStatus( TAG, false );
|
||||
if ( mCoverUpLayout.getVisibility() != View.VISIBLE ) {
|
||||
mServiceApis.getAdasControllerApi().showADAS();
|
||||
@@ -291,8 +292,10 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
|
||||
protected void onPause() {
|
||||
super.onPause();
|
||||
mMogoStatusManager.setMainPageResumeStatus( TAG, false );
|
||||
mMogoStatusManager.setMainPageLaunchedStatus( TAG, false );
|
||||
mServiceApis.getAuthManagerApi().dismiss();
|
||||
if ( shouldCloseADASPanelWhenPause() ) {
|
||||
mServiceApis.getAdasControllerApi().closeADAS();
|
||||
}
|
||||
if ( mServiceApis.getLauncherApi() != null ) {
|
||||
mServiceApis.getLauncherApi().setFloatButtonVisible( true );
|
||||
}
|
||||
@@ -309,9 +312,6 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
|
||||
protected void onStop() {
|
||||
super.onStop();
|
||||
mMogoStatusManager.setMainPageIsBackgroundStatus( TAG, true );
|
||||
if ( shouldCloseADASPanelWhenPause() ) {
|
||||
mServiceApis.getAdasControllerApi().closeADAS();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -368,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();
|
||||
|
||||
@@ -755,6 +755,10 @@ public class MogoServices implements IMogoMapListener,
|
||||
return;
|
||||
}
|
||||
|
||||
if (!mStatusManager.isMainPageOnResume()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (mStatusManager.isV2XShow()) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ public enum LauncherCardRefreshType {
|
||||
Weather( "News", "weather", "天气" ),
|
||||
News( "NearRoads", "news", "新闻" ),
|
||||
NearRoads( "ExplorerWay", "nearRoads", "近路" ),
|
||||
// TrafficRestriction( "NearRoads", "trafficRestriction" ),
|
||||
TrafficRestriction( "NearRoads", "trafficRestriction", "限行" ),
|
||||
ExplorerWay( "OnlineCar", "friendAndPois", "道路事件" ),
|
||||
OnlineCar( "Weather", "friendAndPois", "车友" );
|
||||
|
||||
|
||||
@@ -33,6 +33,7 @@ import com.mogo.utils.storage.SharedPrefsMgr;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -455,6 +456,9 @@ class LauncherCardRefresher {
|
||||
if ( trafficRestriction == null || TextUtils.isEmpty( trafficRestriction.tts ) ) {
|
||||
continue;
|
||||
}
|
||||
final Map< String, Object > properties = new HashMap<>();
|
||||
properties.put( "type", LauncherCardRefreshType.TrafficRestriction.name() );
|
||||
MogoApisHandler.getInstance().getApis().getAnalyticsApi().track( "v2x_play", properties );
|
||||
speakTTS( trafficRestriction.tts, false );
|
||||
return;
|
||||
}
|
||||
@@ -618,6 +622,10 @@ class LauncherCardRefresher {
|
||||
*/
|
||||
private void writeNextLoadType( LauncherCardRefreshType type ) {
|
||||
SharedPrefsMgr.getInstance( mContext ).putString( KEY_LAST_LOAD_TTS_TYPE, type.getNext() );
|
||||
|
||||
final Map< String, Object > properties = new HashMap<>();
|
||||
properties.put( "type", type.name() );
|
||||
MogoApisHandler.getInstance().getApis().getAnalyticsApi().track( "v2x_play", properties );
|
||||
Logger.d( TAG, "本次播报:%s,下次播报:%s", type.name(), LauncherCardRefreshType.valueOf( type.getNext() ).name() );
|
||||
SharedPrefsMgr.getInstance( mContext ).putLong( KEY_LAST_LOAD_TTS_DATE, System.currentTimeMillis() );
|
||||
}
|
||||
|
||||
@@ -75,30 +75,37 @@ public class GlobalUnwakeManager implements IProvider, IMogoIntentListener, IMog
|
||||
break;
|
||||
case VOICE_QUERY_HISTORY_INDEX:
|
||||
Log.d("语音指令","VOICE_QUERY_HISTORY_INDEX");
|
||||
Intent startForHis = new Intent( Intent.ACTION_VIEW );
|
||||
startForHis.addFlags( Intent.FLAG_ACTIVITY_NEW_TASK );
|
||||
startForHis.setData( Uri.parse( "mogo://launcher/main/switch2?type=showHistoryPanel" ) );
|
||||
context.startActivity( startForHis );
|
||||
showPanelByStatus("showHistoryPanel", 0);
|
||||
break;
|
||||
case VOICE_QUERY_SURROUNDING_INDEX:
|
||||
Log.d("语音指令","VOICE_QUERY_SURROUNDING_INDEX");
|
||||
Intent startForSurrounding = new Intent( Intent.ACTION_VIEW );
|
||||
startForSurrounding.addFlags( Intent.FLAG_ACTIVITY_NEW_TASK );
|
||||
startForSurrounding.setData( Uri.parse( "mogo://launcher/main/switch2?type=showSurroundingPanel" ) );
|
||||
context.startActivity( startForSurrounding );
|
||||
showPanelByStatus("showSurroundingPanel", 1);
|
||||
break;
|
||||
case VOICE_QUERY_HEART_INDEX:
|
||||
Log.d("语音指令","VOICE_QUERY_HEART_INDEX");
|
||||
Intent start = new Intent( Intent.ACTION_VIEW );
|
||||
start.addFlags( Intent.FLAG_ACTIVITY_NEW_TASK );
|
||||
start.setData( Uri.parse( "mogo://launcher/main/switch2?type=showSharePanel" ) );
|
||||
context.startActivity( start );
|
||||
showPanelByStatus("showSharePanel", 2);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据主页状态调用不同打开方式
|
||||
* @param target 面板类型
|
||||
* @param type 面板位置索引
|
||||
*/
|
||||
private void showPanelByStatus(String target, int type){
|
||||
if ( MogoApisHandler.getInstance().getApis().getStatusManagerApi().isMainPageOnResume() ) {
|
||||
MogoApisHandler.getInstance().getApis().getEventPanelManager().showPanelWithSelectedItem(type);
|
||||
} else {
|
||||
Intent start = new Intent( Intent.ACTION_VIEW );
|
||||
start.addFlags( Intent.FLAG_ACTIVITY_NEW_TASK );
|
||||
start.setData( Uri.parse( "mogo://launcher/main/switch2?type="+target ) );
|
||||
context.startActivity( start );
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCmdSelected(String cmd) {
|
||||
Logger.d(TAG, "收到免唤醒词指令: " + cmd);
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -257,23 +258,11 @@ class V2XEventPanelFragment : MvpFragment<V2XEventPanelFragment, EventPanelPrese
|
||||
* 语音查询热心指数需求
|
||||
* */
|
||||
fun showPanelWithSelectedItem(item: Int) {
|
||||
if (isPanelShow()) {
|
||||
try {
|
||||
when (item) {
|
||||
0 -> mV2XScenarioHistoryFragment.ttsForVoiceCheckout()
|
||||
1 -> mV2XSurroundingFragment.ttsForVoiceCheckout()
|
||||
else -> mV2XShareEventsFragment.ttsForVoiceCheckout()
|
||||
}
|
||||
} catch (e: java.lang.Exception) {
|
||||
|
||||
}
|
||||
|
||||
} else {
|
||||
showPanel()
|
||||
selectWithItem(item)
|
||||
}
|
||||
showPanel()
|
||||
selectWithItem(item)
|
||||
}
|
||||
|
||||
|
||||
private fun initDetail() {
|
||||
mDetailRecyclerView!!.addItemDecoration(SpacesItemDecoration(resources.getDimension(R.dimen.share_item_padding).toInt()))
|
||||
mSurroundingDetailAdapter = V2XSurroundingDetailAdapter(activity, markerExploreWays)
|
||||
@@ -355,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()
|
||||
}
|
||||
@@ -363,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()
|
||||
}
|
||||
@@ -371,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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,7 +41,7 @@ public class V2XAnimationScenario extends AbsV2XScenario<V2XPushMessageEntity> {
|
||||
@Override
|
||||
public void init(@Nullable V2XMessageEntity<V2XPushMessageEntity> v2XMessageEntity) {
|
||||
if (!isSameScenario(v2XMessageEntity)
|
||||
&& V2XServiceManager.getMoGoStatusManager().isMainPageLaunched()) {
|
||||
&& V2XServiceManager.getMoGoStatusManager().isMainPageOnResume()) {
|
||||
boolean isV2XAnimationShow = V2XServiceManager.getMoGoV2XStatusManager().isV2XAnimationShow();
|
||||
if (isV2XAnimationShow) {
|
||||
close();
|
||||
|
||||
@@ -59,7 +59,7 @@ public class V2XFatigueDrivingScenario extends AbsV2XScenario<V2XPushMessageEnti
|
||||
.registerWakeCmd(V2XVoiceConstants.COMMAND_ZHIDAO_V2X_NAVI, mNaviCb)
|
||||
.registerUnWakeVoice(V2XVoiceConstants.COMMAND_V2X_TO_NAVI_UN_WAKEUP, mNaviCb);
|
||||
if (v2XMessageEntity.isShowState()
|
||||
&& V2XServiceManager.getMoGoStatusManager().isMainPageLaunched()) {
|
||||
&& V2XServiceManager.getMoGoStatusManager().isMainPageOnResume()) {
|
||||
show();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,7 +49,7 @@ public class V2XPushLiveCarScenario extends AbsV2XScenario<V2XPushMessageEntity>
|
||||
@Override
|
||||
public void init(@Nullable V2XMessageEntity<V2XPushMessageEntity> v2XMessageEntity) {
|
||||
if (!isSameScenario(v2XMessageEntity)
|
||||
&& V2XServiceManager.getMoGoStatusManager().isMainPageLaunched()) {
|
||||
&& V2XServiceManager.getMoGoStatusManager().isMainPageOnResume()) {
|
||||
boolean isWindowShow = V2XServiceManager.getMoGoV2XStatusManager().isLeftLiveVideoShow();
|
||||
if (isWindowShow) {
|
||||
close();
|
||||
|
||||
@@ -51,7 +51,7 @@ public class V2XIllegalParkScenario extends AbsV2XScenario<List<MarkerExploreWay
|
||||
|
||||
@Override
|
||||
public void show() {
|
||||
if (V2XServiceManager.getMoGoStatusManager().isMainPageLaunched()) {
|
||||
if (V2XServiceManager.getMoGoStatusManager().isMainPageOnResume()) {
|
||||
drawPOI();
|
||||
}
|
||||
showWindow();
|
||||
@@ -75,7 +75,7 @@ public class V2XIllegalParkScenario extends AbsV2XScenario<List<MarkerExploreWay
|
||||
v2XRoadEventEntity.setAlarmContent("违章停车");
|
||||
v2XRoadEventEntity.setExpireTime(20000);
|
||||
v2XRoadEventEntity.setPoiType(V2XPoiTypeEnum.ALERT_ILLEGAL_PARK);
|
||||
if (V2XServiceManager.getMoGoStatusManager().isMainPageLaunched()) {
|
||||
if (V2XServiceManager.getMoGoStatusManager().isMainPageOnResume()) {
|
||||
v2XRoadEventEntity.setTts(markerExploreWay.getAddr() + "可能被罚违章停车,您可以说,有用或没用来帮助其它车友。");
|
||||
((V2XIllegalParkWindow) getV2XWindow()).show(markerExploreWay, true);
|
||||
TrackUtils.trackV2xRoadShow(markerExploreWay.getInfoId(), V2XPoiTypeEnum.ALERT_ILLEGAL_PARK, "1");
|
||||
|
||||
@@ -51,7 +51,7 @@ public class V2XPushEventScenario extends AbsV2XScenario<V2XPushMessageEntity> i
|
||||
Logger.w(MODULE_NAME, "处理推送场景:" + GsonUtil.jsonFromObject(v2XMessageEntity));
|
||||
|
||||
if (!isSameScenario(v2XMessageEntity)
|
||||
&& V2XServiceManager.getMoGoStatusManager().isMainPageLaunched()) {
|
||||
&& V2XServiceManager.getMoGoStatusManager().isMainPageOnResume()) {
|
||||
setV2XMessageEntity(v2XMessageEntity);
|
||||
show();
|
||||
} else {
|
||||
|
||||
@@ -96,7 +96,7 @@ public class V2XRoadEventScenario extends AbsV2XScenario<V2XRoadEventEntity> imp
|
||||
saveLocalStory(V2XMessageEntity.V2XTypeEnum.ALERT_ROAD_WARNING,
|
||||
getV2XMessageEntity().getContent().getNoveltyInfo());
|
||||
|
||||
if (V2XServiceManager.getMoGoStatusManager().isMainPageLaunched()) {
|
||||
if (V2XServiceManager.getMoGoStatusManager().isMainPageOnResume()) {
|
||||
showWindow();
|
||||
}
|
||||
|
||||
@@ -197,7 +197,7 @@ public class V2XRoadEventScenario extends AbsV2XScenario<V2XRoadEventEntity> imp
|
||||
@Override
|
||||
public void onViewAdded(View view) {
|
||||
Logger.d(MODULE_NAME, "展示 Window 动画结束");
|
||||
if (V2XServiceManager.getMoGoStatusManager().isMainPageLaunched()) {
|
||||
if (V2XServiceManager.getMoGoStatusManager().isMainPageOnResume()) {
|
||||
if (getV2XMessageEntity() != null && getV2XMessageEntity().isNeedAddLine() == true) {
|
||||
drawPOI();
|
||||
}
|
||||
|
||||
@@ -81,7 +81,7 @@ public class V2XSeekHelpScenario extends AbsV2XScenario<List<V2XMarkerEntity>> i
|
||||
|
||||
saveLocalStory(V2XMessageEntity.V2XTypeEnum.ALERT_SEEK_WARNING, mV2XPushMessageEntity);
|
||||
|
||||
if (V2XServiceManager.getMoGoStatusManager().isMainPageLaunched()) {
|
||||
if (V2XServiceManager.getMoGoStatusManager().isMainPageOnResume()) {
|
||||
if (getV2XMessageEntity() != null &&
|
||||
!V2XServiceManager.getMoGoV2XStatusManager().isOtherSeekHelpWindowShow()) {
|
||||
show();
|
||||
|
||||
@@ -51,7 +51,7 @@ public class V2XEventUgcScenario extends AbsV2XScenario<V2XRoadEventEntity> impl
|
||||
setV2XMessageEntity(v2XMessageEntity);
|
||||
if (v2XMessageEntity != null) {
|
||||
if (v2XMessageEntity.isShowState()
|
||||
&& V2XServiceManager.getMoGoStatusManager().isMainPageLaunched()) {
|
||||
&& V2XServiceManager.getMoGoStatusManager().isMainPageOnResume()) {
|
||||
show();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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