Merge branch 'feature/v1.0.2' into feature/v1.0.3

This commit is contained in:
unknown
2020-03-25 13:41:12 +08:00
45 changed files with 471 additions and 153 deletions

View File

@@ -52,7 +52,7 @@ public class MarkerCarInfo implements Serializable {
this.carLiveInfo = carLiveInfo;
}
class CarLiveInfo implements Serializable {
public static class CarLiveInfo implements Serializable {
//rtmp视频直播地址rtmp://
private String videoUrl;
//直播频道【直播心跳接口参数】C_1

View File

@@ -23,6 +23,8 @@ import com.mogo.service.statusmanager.IMogoMsgCenterListener;
import com.mogo.service.statusmanager.IMogoStatusChangedListener;
import com.mogo.service.statusmanager.IMogoStatusManager;
import com.mogo.service.statusmanager.StatusDescriptor;
import com.mogo.utils.UiThreadHandler;
import com.mogo.utils.WorkThreadHandler;
import com.mogo.utils.logger.Logger;
import java.util.ArrayDeque;
@@ -87,7 +89,9 @@ public class ExtensionsPresenter extends Presenter< ExtensionsView > implements
@Override
public void onReceive( Context context, Intent intent ) {
try {
refreshTimeAndDate();
WorkThreadHandler.getInstance().post( () -> {
refreshTimeAndDate();
} );
} catch ( Exception e ) {
Logger.e( TAG, e, "error. " );
}
@@ -164,7 +168,14 @@ public class ExtensionsPresenter extends Presenter< ExtensionsView > implements
String timeStr = getContext().getResources().getString( R.string.module_ext_str_time_format, hour, minute > 9 ? String.valueOf( minute ) : "0" + minute );
String dateStr = getContext().getResources().getString( R.string.module_ext_str_date_format, month + 1, day, mWeeks[week - 1] );
mView.renderTime( dateStr, timeStr );
UiThreadHandler.post( () -> {
try {
mView.renderTime( dateStr, timeStr );
} catch ( Exception e ) {
e.printStackTrace();
}
} );
}
@Override
@@ -208,7 +219,7 @@ public class ExtensionsPresenter extends Presenter< ExtensionsView > implements
changeAutoSwitchVoiceTipsWordsStatus( true );
}
private void changeAutoSwitchVoiceTipsWordsStatus(boolean autoChange){
private void changeAutoSwitchVoiceTipsWordsStatus( boolean autoChange ) {
if ( !mHasTipWords ) {
return;
}

View File

@@ -195,6 +195,8 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
mCoverUpLayout = findViewById( R.id.module_main_id_cover_up );
mCardCoverUpBottomLayout = findViewById( R.id.module_main_id_card_cover_up_bottom );
// 避免事件穿透导致地图被滑动
mLeftShadowFrame.setOnClickListener( view -> {} );
WindowViewHandler.init( mFloatingLayout );
}
@@ -281,12 +283,6 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
if ( size == 0 ) {
showLayout();
} else if ( size == 1 ) {
UiThreadHandler.postDelayed( new Runnable() {
@Override
public void run() {
mMogoMapUIController.setPointToCenter( 0.5, 0.5 );
}
}, 1000 );
hideLayout();
}
} );

View File

@@ -56,8 +56,8 @@ public class HorizentalStackTransformer extends HorizentalBaseTransformer {
page.setTranslationX( -page.getHeight() * position + ( page.getHeight() * 0.5f ) * ( 1 - scale ) + spaceBetweenFirAndSecHeight * position );
}else{
float currentPage;
if(offsetScroll > 0.2f){
currentPage = 0.2f;
if(offsetScroll > 0.1f){
currentPage = 0.1f;
}else{
currentPage = offsetScroll;
}

View File

@@ -2,7 +2,7 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape>
<gradient android:angle="270" android:endColor="#00222222" android:startColor="#99000000" />
<gradient android:angle="270" android:endColor="#00222222" android:startColor="#79000000" />
</shape>
</item>
</selector>

View File

@@ -64,7 +64,7 @@
android:id="@+id/module_main_id_card_cover_up_bottom"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_26"
android:layout_marginTop="@dimen/cards_container_dp_600"
android:layout_marginTop="@dimen/cards_container_shadow_dp_margin_top"
android:layout_marginLeft="@dimen/dp_64"
android:layout_marginRight="@dimen/dp_64"
android:visibility="invisible"

View File

@@ -14,5 +14,6 @@
<dimen name="module_main_card_cover_up_margin">352px</dimen>
<dimen name="cards_container_dp_600">320px</dimen>
<dimen name="cards_container_shadow_dp_margin_top">319px</dimen>
</resources>

View File

@@ -13,5 +13,6 @@
<dimen name="module_main_top_shadow_height">270px</dimen>
<dimen name="module_main_card_cover_up_margin">660px</dimen>
<dimen name="cards_container_dp_600">600px</dimen>
<dimen name="cards_container_shadow_dp_margin_top">599px</dimen>
</resources>

View File

@@ -17,6 +17,7 @@ import com.mogo.commons.voice.IMogoVoiceCmdCallBack;
import com.mogo.map.navi.IMogoNavi;
import com.mogo.map.uicontroller.EnumMapUI;
import com.mogo.module.common.MogoModulePaths;
import com.mogo.service.IMogoServiceApis;
import com.mogo.service.MogoServicePaths;
import com.mogo.service.intent.IMogoIntentListener;
import com.mogo.service.intent.IMogoIntentManager;
@@ -82,12 +83,11 @@ public class MapPresenter extends Presenter<MapView> implements
mView.getUIController().changeMapMode(EnumMapUI.CarUp_2D);
} else if (opera_type == 1) {
mView.getUIController().changeMapMode(EnumMapUI.NorthUP_2D);
AIAssist.getInstance(getContext()).speakTTSVoice("已切换", null);
//AIAssist.getInstance(getContext()).speakTTSVoice("已切换", null);
} else if (opera_type == 2) {
mView.getUIController().changeMapMode(EnumMapUI.CarUp_3D);
AIAssist.getInstance(getContext()).speakTTSVoice("已切换", null);
//AIAssist.getInstance(getContext()).speakTTSVoice("已切换", null);
}
}
@@ -156,24 +156,18 @@ public class MapPresenter extends Presenter<MapView> implements
@Override
public void onCreate(@NonNull LifecycleOwner owner) {
super.onCreate(owner);
mMogoMapService = (IMogoMapService) ARouter.getInstance()
.build(MogoServicePaths.PATH_SERVICES_MAP)
.navigation(getContext());
mMogoIntentManager = (IMogoIntentManager) ARouter.getInstance()
.build(MogoServicePaths.PATH_INTENT_MANAGER)
.navigation(getContext());
mSearchManager = (IMogoSearchManager) ARouter.getInstance()
.build(MogoServicePaths.PATH_SEARCH_MANAGER)
.navigation(getContext());
IMogoServiceApis apis = ( IMogoServiceApis ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICE_APIS ).navigation( getContext() );
mMogoMapService = apis.getMapServiceApi();
mMogoIntentManager = apis.getIntentManagerApi();
mSearchManager = apis.getSearchManagerApi();
IMogoNavi mogoNavi = mMogoMapService.getNavi(getContext());
mogoNavi.setCalculatePathDisplayBounds(new Rect(
ResourcesHelper.getDimensionPixelSize(getContext(), R.dimen.dp_730)
+ WindowUtils.dip2px(getContext(), 80),
ResourcesHelper.getDimensionPixelSize(getContext(), R.dimen.dp_120)
+ WindowUtils.dip2px(getContext(), 80),
WindowUtils.dip2px(getContext(), 80),
WindowUtils.dip2px(getContext(), 80)
ResourcesHelper.getDimensionPixelSize(getContext(), R.dimen.module_map_display_overview_left_margin),
ResourcesHelper.getDimensionPixelSize(getContext(), R.dimen.module_map_display_overview_top_margin),
ResourcesHelper.getDimensionPixelSize(getContext(), R.dimen.module_map_display_overview_right_margin),
ResourcesHelper.getDimensionPixelSize(getContext(), R.dimen.module_map_display_overview_bottom_margin)
));
}
@@ -252,7 +246,7 @@ public class MapPresenter extends Presenter<MapView> implements
AIAssist.getInstance(getContext()).speakTTSVoice("已切换", null);
case VoiceConstants.CMD_MAP_NORTH_UP_MODE:
mView.getUIController().changeMapMode(EnumMapUI.NorthUP_2D);
AIAssist.getInstance(getContext()).speakTTSVoice("已切换", null);
//AIAssist.getInstance(getContext()).speakTTSVoice("已切换", null);
break;
case VoiceConstants.CMD_MAP_3D_UN_WAKEUP:

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="module_map_display_overview_left_margin">558px</dimen>
<dimen name="module_map_display_overview_top_margin">174px</dimen>
<dimen name="module_map_display_overview_bottom_margin">32px</dimen>
<dimen name="module_map_display_overview_right_margin">80px</dimen>
</resources>

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="module_map_display_overview_left_margin">977px</dimen>
<dimen name="module_map_display_overview_top_margin">249px</dimen>
<dimen name="module_map_display_overview_bottom_margin">61px</dimen>
<dimen name="module_map_display_overview_right_margin">80px</dimen>
</resources>

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="module_map_display_overview_left_margin">977px</dimen>
<dimen name="module_map_display_overview_top_margin">249px</dimen>
<dimen name="module_map_display_overview_bottom_margin">61px</dimen>
<dimen name="module_map_display_overview_right_margin">80px</dimen>
</resources>

View File

@@ -45,7 +45,6 @@ dependencies {
annotationProcessor rootProject.ext.dependencies.aroutercompiler
implementation rootProject.ext.dependencies.rxjava
implementation rootProject.ext.dependencies.rxandroid
// implementation rootProject.ext.dependencies.moduleonlinecar
if (Boolean.valueOf(RELEASE)) {
api rootProject.ext.dependencies.mogomap

View File

@@ -12,10 +12,15 @@ import com.mogo.module.common.entity.MarkerShowEntity;
import com.mogo.module.service.marker.MapMarkerManager;
import com.mogo.service.IMogoServiceApis;
import com.mogo.service.MogoServicePaths;
import com.mogo.service.adas.IMogoADASController;
import com.mogo.service.analytics.IMogoAnalytics;
import com.mogo.service.cardmanager.IMogoCardManager;
import com.mogo.service.connection.IMogoSocketManager;
import com.mogo.service.datamanager.IMogoDataManager;
import com.mogo.service.fragmentmanager.IMogoFragmentManager;
import com.mogo.service.imageloader.IMogoImageloader;
import com.mogo.service.intent.IMogoIntentManager;
import com.mogo.service.launcher.IMogoLauncher;
import com.mogo.service.map.IMogoMapService;
import com.mogo.service.module.IMogoActionManager;
import com.mogo.service.module.IMogoRegisterCenter;
@@ -45,6 +50,11 @@ public class MarkerServiceHandler {
private static IMogoAnalytics mMogoAnalytics;
private static IMogoRegisterCenter mRegisterCenter;
private static IMogoActionManager mActionManager;
private static IMogoDataManager mDataManager;
private static IMogoIntentManager mIntentManager;
private static IMogoADASController mADASController;
private static IMogoLauncher mLauncher;
private static IMogoFragmentManager mFragmentManager;
private static MapMarkerManager mMapMarkerManager;
@@ -62,6 +72,11 @@ public class MarkerServiceHandler {
mLocationClient = mMapService.getSingletonLocationClient( context );
mRegisterCenter = mApis.getRegisterCenterApi();
mActionManager = mApis.getActionManagerApi();
mDataManager = mApis.getDataManagerApi();
mIntentManager = mApis.getIntentManagerApi();
mADASController = mApis.getAdasControllerApi();
mLauncher = mApis.getLauncherApi();
mFragmentManager = mApis.getFragmentManagerApi();
mMapMarkerManager = MapMarkerManager.getInstance();
mMapMarkerManager.init( context );
@@ -119,6 +134,26 @@ public class MarkerServiceHandler {
return mActionManager;
}
public static IMogoIntentManager getIntentManager() {
return mIntentManager;
}
public static IMogoADASController getADASController() {
return mADASController;
}
public static IMogoLauncher getLauncher() {
return mLauncher;
}
public static IMogoFragmentManager getFragmentManager() {
return mFragmentManager;
}
public static IMogoDataManager getDataManager() {
return mDataManager;
}
//TODO -------------以下方法是临时过度使用的后面统一使用getMapMarkerManager进行调用
/**

View File

@@ -152,6 +152,8 @@ public class MogoServices implements IMogoMapListener,
private IMogoFragmentManager mFragmentManager;
private IMogoNavi mNavi;
private IMogoRegisterCenter mRegisterCenter;
/**
* 地图视图初始化
*/
@@ -272,30 +274,30 @@ public class MogoServices implements IMogoMapListener,
public void init( Context context ) {
mContext = context;
MarkerServiceHandler.init( mContext );
mRefreshModel = new RefreshModel( context );
IMogoServiceApis apis = ( IMogoServiceApis ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICE_APIS ).navigation();
mMogoMapService = apis.getMapServiceApi();
mMogoMapService = MarkerServiceHandler.getMapService();
mUiController = mMogoMapService.getMapUIController();
mNavi = mMogoMapService.getNavi( context );
mStatusManager = apis.getStatusManagerApi();
mStatusManager = MarkerServiceHandler.getMogoStatusManager();
mStatusManager.registerStatusChangedListener( ServiceConst.TYPE, StatusDescriptor.USER_INTERACTED, this );
mStatusManager.registerStatusChangedListener( ServiceConst.TYPE, StatusDescriptor.SEARCH_UI, this );
mStatusManager.registerStatusChangedListener( ServiceConst.TYPE, StatusDescriptor.ADAS_UI, this );
mStatusManager.registerStatusChangedListener( ServiceConst.TYPE, StatusDescriptor.MAIN_PAGE_RESUME, this );
MarkerServiceHandler.init( mContext );
registerMogoReceiver( context );
registerInternalUnWakeupWords();
IMogoRegisterCenter registerCenter = apis.getRegisterCenterApi();
registerCenter.registerMogoLocationListener( ServiceConst.TYPE, this );
registerCenter.registerMogoNaviListener( ServiceConst.TYPE, this );
registerCenter.registerMogoMapListener( ServiceConst.TYPE, this );
registerCenter.registerMogoAimlessModeListener( ServiceConst.TYPE, this );
mRegisterCenter = MarkerServiceHandler.getRegisterCenter();
mRegisterCenter.registerMogoLocationListener( ServiceConst.TYPE, this );
mRegisterCenter.registerMogoNaviListener( ServiceConst.TYPE, this );
mRegisterCenter.registerMogoMapListener( ServiceConst.TYPE, this );
mRegisterCenter.registerMogoAimlessModeListener( ServiceConst.TYPE, this );
mActionManager = apis.getActionManagerApi();
mActionManager = MarkerServiceHandler.getActionManager();
mIntentManager = apis.getIntentManagerApi();
mIntentManager = MarkerServiceHandler.getIntentManager();
mIntentManager.registerIntentListener( MogoReceiver.ACTIION_ADAS, this );
mIntentManager.registerIntentListener( Intent.ACTION_POWER_CONNECTED, this );
mIntentManager.registerIntentListener( Intent.ACTION_POWER_DISCONNECTED, this );
@@ -308,11 +310,12 @@ public class MogoServices implements IMogoMapListener,
mIntentManager.registerIntentListener( MogoReceiver.ACTION_ADAS_STATUS, this );
mIntentManager.registerIntentListener( ServiceConst.COMMAND_OPERATION, this );
mIntentManager.registerIntentListener( MogoReceiver.ACTION_VOICE_READY, this );
mIntentManager.registerIntentListener( MogoReceiver.ACTION_MOCK, this );
mADASController = apis.getAdasControllerApi();
mLauncher = apis.getLauncherApi();
mFragmentManager = apis.getFragmentManagerApi();
mCardManager = apis.getCardManagerApi();
mADASController = MarkerServiceHandler.getADASController();
mLauncher = MarkerServiceHandler.getLauncher();
mFragmentManager = MarkerServiceHandler.getFragmentManager();
mCardManager = MarkerServiceHandler.getMogoCardManager();
mFragmentManager.addMainFragmentStackTransactionListener( this );
initWorkThread();
@@ -372,6 +375,7 @@ public class MogoServices implements IMogoMapListener,
filter.addAction( MogoReceiver.ACTION_VOICE_UI );
filter.addAction( MogoReceiver.ACTION_ADAS_STATUS );
filter.addAction( MogoReceiver.ACTION_VOICE_READY );
filter.addAction( MogoReceiver.ACTION_MOCK );
try {
context.getApplicationContext().registerReceiver( mAIAssistReceiver, filter );
Logger.i( TAG, "register voice receiver." );
@@ -436,6 +440,7 @@ public class MogoServices implements IMogoMapListener,
}
break;
case MotionEvent.ACTION_UP:
mStatusManager.setUserInteractionStatus( TAG, true, true );
break;
}
}
@@ -617,7 +622,7 @@ public class MogoServices implements IMogoMapListener,
@Override
public void onStatusChanged( StatusDescriptor descriptor, boolean isTrue ) {
Logger.d( TAG, "状态发生改变---descriptor---" + descriptor + "----isTrue---" + isTrue );
//Logger.d( TAG, "状态发生改变---descriptor---" + descriptor + "----isTrue---" + isTrue );
switch ( descriptor ) {
case USER_INTERACTED:
if ( isTrue ) {
@@ -656,14 +661,14 @@ public class MogoServices implements IMogoMapListener,
}
}
private void onAdasOn(){
private void onAdasOn() {
// ADAS 时,不在自动刷新打点策略
stopAutoRefreshStrategy();
// 清除所有的打点信息记录
MarkerServiceHandler.getMapMarkerManager().alreadySmallMarker.clear();
}
private void onAdasClosed(){
private void onAdasClosed() {
refreshStrategy();
// ADAS关闭后打开打点策略
if ( mAutoRefreshCallback != null ) {
@@ -816,6 +821,13 @@ public class MogoServices implements IMogoMapListener,
if ( mStatusManager.isMainPageOnResume() ) {
mUiController.recoverLockMode();
}
} else if ( MogoReceiver.ACTION_MOCK.equals( command ) ) {
final int oper = intent.getIntExtra( "oper", -1 );
switch ( oper ) {
case 1:
mUiController.showMyLocation( true );
break;
}
}
}
@@ -953,9 +965,12 @@ public class MogoServices implements IMogoMapListener,
@Override
public void onTransaction( int size ) {
if ( size == 0 ) {
mUiController.setPointToCenter( 0.66145, 0.661094 );
AIAssist.getInstance( mContext ).unregisterUnWakeupCommand( ServiceConst.CMD_BACK );
} else {
AIAssist.getInstance( mContext ).registerUnWakeupCommand( ServiceConst.CMD_BACK, ServiceConst.CMD_BACK_WORDS, this );
mUiController.setPointToCenter( 0.5, 0.5 );
}
}
}

View File

@@ -98,20 +98,26 @@ public class MogoDataHandler implements IMogoDataManager {
}
public void invoke( String tag, Object data ) {
if ( tag == null || mListeners.get( tag ) == null ) {
@Override
public void syncData( String module, Object object ) {
if ( module == null || mListeners.get( module ) == null ) {
return;
}
try {
Iterator< IMogoDataChangedListener > iterator = mListeners.get( tag ).iterator();
Iterator< IMogoDataChangedListener > iterator = mListeners.get( module ).iterator();
while ( iterator.hasNext() ) {
IMogoDataChangedListener listener = iterator.next();
if ( listener != null ) {
listener.onDataSetChanged( data );
listener.onDataSetChanged( object );
}
}
} catch ( Exception e ) {
Logger.e( TAG, e, "error." );
}
}
@Deprecated
public void invoke( String tag, Object data ) {
syncData( tag, data );
}
}

View File

@@ -36,6 +36,11 @@ public class MogoDataManager implements IMogoDataManager {
MogoDataHandler.getInstance().removeDataFrom( module, object );
}
@Override
public void syncData( String module, Object object ) {
MogoDataHandler.getInstance().syncData( module, object );
}
@Override
public void init( Context context ) {
MogoDataHandler.getInstance().init( context );

View File

@@ -153,8 +153,8 @@ public class MapMarkerInfoView extends MapMarkerBaseView {
break;
case MarkerPoiTypeEnum.FOURS_FOG:
ivIcon.setImageResource(R.drawable.module_service_ic_rc_dark_frog2);
clMarkerContent.setBackgroundResource(R.drawable.bg_map_marker_blue_info);
ivReverseTriangle.setImageResource(R.drawable.bg_shape_reverse_triangle_blue);
clMarkerContent.setBackgroundResource(R.drawable.bg_map_marker_grey_info);
ivReverseTriangle.setImageResource(R.drawable.bg_shape_reverse_triangle_grey);
break;
case MarkerPoiTypeEnum.FOURS_ICE:
ivIcon.setImageResource(R.drawable.module_service_ic_rc_freeze2);
@@ -163,13 +163,13 @@ public class MapMarkerInfoView extends MapMarkerBaseView {
break;
case MarkerPoiTypeEnum.FOURS_PARKING:
ivIcon.setImageResource(R.drawable.module_service_ic_rc_parking2);
clMarkerContent.setBackgroundResource(R.drawable.bg_map_marker_blue_info);
ivReverseTriangle.setImageResource(R.drawable.bg_shape_reverse_triangle_blue);
clMarkerContent.setBackgroundResource(R.drawable.bg_map_marker_dark_blue_info);
ivReverseTriangle.setImageResource(R.drawable.bg_shape_reverse_triangle_dark_blue);
break;
case MarkerPoiTypeEnum.FOURS_ACCIDENT:
ivIcon.setImageResource(R.drawable.module_service_ic_rc_accident2);
clMarkerContent.setBackgroundResource(R.drawable.bg_map_marker_blue_info);
ivReverseTriangle.setImageResource(R.drawable.bg_shape_reverse_triangle_blue);
clMarkerContent.setBackgroundResource(R.drawable.bg_map_marker_red_info);
ivReverseTriangle.setImageResource(R.drawable.bg_shape_reverse_triangle_red);
break;
default:
ivIcon.setImageResource(R.drawable.icon_map_marker_shear_news);

View File

@@ -24,7 +24,6 @@ import com.mogo.module.common.entity.MarkerShowEntity;
import com.mogo.module.service.MarkerServiceHandler;
import com.mogo.module.service.ServiceConst;
import com.mogo.module.service.Utils;
import com.mogo.module.service.datamanager.MogoDataHandler;
import com.mogo.module.service.utils.ViewUtils;
import com.mogo.service.cardmanager.IMogoCardChangedListener;
import com.mogo.service.connection.IMogoOnMessageListener;
@@ -697,7 +696,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
}
try {
Logger.d( TAG, "dispatch data to %s", biz );
MogoDataHandler.getInstance().invoke( biz, object );
MarkerServiceHandler.getDataManager().syncData( biz, object );
} catch ( Exception e ) {
e.printStackTrace();
}

View File

@@ -55,6 +55,8 @@ public class MogoReceiver extends BroadcastReceiver {
*/
public static final String ACTION_VOICE_READY = "com.zhidao.auto.AIAssist.ready";
public static final String ACTION_MOCK = "com.mogo.mock";
private IMogoIntentManager mMogoIntentManager;
public MogoReceiver( Context context ) {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<gradient
android:angle="90"
android:endColor="#B5B5B5"
android:startColor="#4D4F64 " />
<corners android:radius="360dp" />
<padding
android:bottom="@dimen/dp_6"
android:left="@dimen/dp_6"
android:right="@dimen/dp_40"
android:top="@dimen/dp_6" />
</shape >

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/shape_id" >
<!-- 倒三角 -->
<rotate
android:fromDegrees="45"
android:pivotX="135%"
android:pivotY="15%"
android:toDegrees="45" >
<shape android:shape="rectangle" >
<size android:width="@dimen/dp_20"
android:height="@dimen/dp_20"/>
<solid android:color="#4D4F64" />
</shape >
</rotate >
</item >
</layer-list >

View File

@@ -55,8 +55,8 @@
<ImageView
android:id="@+id/ivCar"
android:layout_width="@dimen/dp_34"
android:layout_height="@dimen/dp_64"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon_map_marker_car_gray"
app:layout_constraintEnd_toEndOf="@+id/ivBg"
app:layout_constraintStart_toStartOf="@+id/ivBg"

View File

@@ -79,8 +79,8 @@
<ImageView
android:id="@+id/ivCar"
android:layout_width="@dimen/dp_34"
android:layout_height="@dimen/dp_64"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon_map_marker_car_gray"
android:translationY="-10dp" />
</LinearLayout >

View File

@@ -3,7 +3,11 @@ package com.mogo.module.share;
import android.content.Context;
import android.util.Log;
import com.alibaba.android.arouter.launcher.ARouter;
import com.mogo.module.share.dialog.LaucherShareDialog;
import com.mogo.service.IMogoServiceApis;
import com.mogo.service.MogoServicePaths;
import com.mogo.utils.logger.Logger;
/**
* @author lixiaopeng
@@ -16,8 +20,12 @@ public class ShareControl implements IShareControl {
private Context mContext;
private LaucherShareDialog mShareDialog;
private IMogoServiceApis mogoServiceApis;
private ShareControl(Context context) {
mContext = context;
mogoServiceApis =
(IMogoServiceApis) ARouter.getInstance().build(MogoServicePaths.PATH_SERVICE_APIS).navigation(context);
}
public static ShareControl getInstance(Context context) {
@@ -34,6 +42,13 @@ public class ShareControl implements IShareControl {
@Override
public void showDialog() {
boolean isAdasShow = mogoServiceApis.getStatusManagerApi().isADASShow();
Logger.d("ShareControl", "showDialog 判断adas是否展示: " + isAdasShow);
if (isAdasShow) {
mogoServiceApis.getAdasControllerApi().closeADAS();
}
mShareDialog = new LaucherShareDialog(mContext);
mShareDialog.setCanceledOnTouchOutside(true);
mShareDialog.show();

View File

@@ -29,7 +29,8 @@
android:id="@+id/btn_block_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/share_module_first_margin_left">
android:layout_marginEnd="@dimen/share_module_margin_left"
android:layout_toLeftOf="@+id/traffic_check_layout">
<ImageView
android:id="@+id/block_up_iv"
@@ -54,6 +55,7 @@
android:id="@+id/oil_price_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
android:layout_marginLeft="@dimen/share_module_margin_left"
android:layout_toRightOf="@+id/btn_block_layout">
@@ -80,8 +82,7 @@
android:id="@+id/traffic_check_layout"
android:layout_width="@dimen/share_module_image_width_second"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/share_module_margin_left"
android:layout_toRightOf="@+id/oil_price_layout">
android:layout_centerHorizontal="true">
<ImageView
android:id="@+id/traffic_check_iv"
@@ -136,7 +137,7 @@
android:layout_below="@+id/btn_block_layout"
android:layout_marginTop="@dimen/share_module_bottom_margin_top"
android:gravity="center"
android:text="可以对小智说:上报拥堵、分享油价、上报交通检查、上报封路"
android:text="可以对小智说:上报拥堵、上报交通检查、上报封路"
android:textColor="@color/white_40"
android:textSize="@dimen/share_module_bottom_size"
android:textStyle="bold" />

View File

@@ -5,8 +5,8 @@
<dimen name="share_module_height">320px</dimen>
<dimen name="share_module_margin_top">34px</dimen>
<dimen name="share_module_title_margin_top">43px</dimen>
<dimen name="share_module_first_margin_left">80px</dimen>
<dimen name="share_module_margin_left">64px</dimen>
<dimen name="share_module_first_margin_left">100px</dimen>
<dimen name="share_module_margin_left">118px</dimen>
<dimen name="share_module_tv_margin_top">15px</dimen>
<dimen name="share_module_image_width">85px</dimen>
<dimen name="share_module_image_width_second">110px</dimen>

View File

@@ -4,8 +4,8 @@
<dimen name="share_module_height">600px</dimen>
<dimen name="share_module_margin_top">64px</dimen>
<dimen name="share_module_title_margin_top">80px</dimen>
<dimen name="share_module_first_margin_left">150px</dimen>
<dimen name="share_module_margin_left">120px</dimen>
<dimen name="share_module_first_margin_left">200px</dimen>
<dimen name="share_module_margin_left">210px</dimen>
<dimen name="share_module_tv_margin_top">30px</dimen>
<dimen name="share_module_image_width">160px</dimen>
<dimen name="share_module_image_width_second">198px</dimen>

View File

@@ -4,8 +4,8 @@
<dimen name="share_module_height">600px</dimen>
<dimen name="share_module_margin_top">64px</dimen>
<dimen name="share_module_title_margin_top">80px</dimen>
<dimen name="share_module_first_margin_left">150px</dimen>
<dimen name="share_module_margin_left">120px</dimen>
<dimen name="share_module_first_margin_left">200px</dimen>
<dimen name="share_module_margin_left">210px</dimen>
<dimen name="share_module_tv_margin_top">30px</dimen>
<dimen name="share_module_image_width">160px</dimen>
<dimen name="share_module_image_width_second">198px</dimen>