From babbbde03779e7ac28b99d904b152eaae81e74bb Mon Sep 17 00:00:00 2001 From: wujifei Date: Tue, 24 Nov 2020 13:14:37 +0800 Subject: [PATCH 01/12] =?UTF-8?q?new#=E5=88=9D=E5=A7=8B=E5=8C=96initVehicl?= =?UTF-8?q?eTeamContainer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/mogo-module-main/build.gradle | 1 + .../com/mogo/module/main/MainActivity.java | 209 +++++++++--------- 2 files changed, 107 insertions(+), 103 deletions(-) diff --git a/modules/mogo-module-main/build.gradle b/modules/mogo-module-main/build.gradle index 62b7e4e96a..e1ebdfcbef 100644 --- a/modules/mogo-module-main/build.gradle +++ b/modules/mogo-module-main/build.gradle @@ -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 diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java index 95c4d02378..c968e1ba9f 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java @@ -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; @@ -46,7 +47,7 @@ import java.util.List; *

* 描述:加载各个模块 */ -public class MainActivity extends MvpActivity< MainView, MainPresenter > implements MainView, +public class MainActivity extends MvpActivity implements MainView, IMogoLocationListener, IMogoMarkerClickListener, IMogoADASControlStatusChangedListener { @@ -68,16 +69,16 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme @Override protected int getLayoutId() { - if ( !DebugConfig.isMapBased() ) { + if (!DebugConfig.isMapBased()) { return R.layout.module_main_activity_main_no_map; } return R.layout.module_main_activity_main; } @Override - protected void beforeSetContentView( Bundle savedInstanceState ) { + protected void beforeSetContentView(Bundle savedInstanceState) { init(); - installSkinManager( savedInstanceState ); + installSkinManager(savedInstanceState); } /** @@ -85,117 +86,118 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme * * @param savedInstanceState */ - private void installSkinManager( Bundle savedInstanceState ) { - mServiceApis.getMapServiceApi().getMapViewInstanceHandler().createMapViewInstance( this ); - mServiceApis.getSkinSupportInstallerApi().install( getApplication() ); - mServiceApis.getSkinSupportInstallerApi().onCompensateActivityCreated( this, savedInstanceState ); + private void installSkinManager(Bundle savedInstanceState) { + mServiceApis.getMapServiceApi().getMapViewInstanceHandler().createMapViewInstance(this); + mServiceApis.getSkinSupportInstallerApi().install(getApplication()); + mServiceApis.getSkinSupportInstallerApi().onCompensateActivityCreated(this, savedInstanceState); } @Override protected void initViews() { - getWindow().setBackgroundDrawable( null ); + getWindow().setBackgroundDrawable(null); - mApps = findViewById( R.id.module_main_id_apps_fragment_container ); - mEntrance = findViewById( R.id.module_main_id_entrance_fragment_container ); - mEventPanel = findViewById( R.id.module_main_id_event_panel_fragment_container ); - mFloatingLayout = findViewById( R.id.module_main_id_floating_view ); - mLeftShadowFrame = findViewById( R.id.module_main_id_map_left_shadow_frame ); - mCoverUpLayout = findViewById( R.id.module_main_id_cover_up ); - mLeftPanelLayout = findViewById( R.id.module_main_id_left_panel_fragment_container ); - mHistoryMessagePanel = findViewById( R.id.module_main_id_message_history_fragment_container ); + mApps = findViewById(R.id.module_main_id_apps_fragment_container); + mEntrance = findViewById(R.id.module_main_id_entrance_fragment_container); + mEventPanel = findViewById(R.id.module_main_id_event_panel_fragment_container); + mFloatingLayout = findViewById(R.id.module_main_id_floating_view); + mLeftShadowFrame = findViewById(R.id.module_main_id_map_left_shadow_frame); + mCoverUpLayout = findViewById(R.id.module_main_id_cover_up); + mLeftPanelLayout = findViewById(R.id.module_main_id_left_panel_fragment_container); + mHistoryMessagePanel = findViewById(R.id.module_main_id_message_history_fragment_container); // 避免事件穿透导致地图被滑动 - mLeftShadowFrame.setOnClickListener( view -> { - } ); - FloatingViewHandler.init( mFloatingLayout ); + mLeftShadowFrame.setOnClickListener(view -> { + }); + FloatingViewHandler.init(mFloatingLayout); - mServiceApis.getOnlineCarPanelApi().initContainer( R.id.module_main_id_message_history_fragment_container, this ); + 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); } // 隐藏布局 protected void hideLayout() { - mEntrance.setVisibility( View.GONE ); - mEventPanel.setVisibility( View.GONE ); - mFloatingLayout.setVisibility( View.GONE ); + mEntrance.setVisibility(View.GONE); + mEventPanel.setVisibility(View.GONE); + mFloatingLayout.setVisibility(View.GONE); } // 显示布局 protected void showLayout() { - mEntrance.setVisibility( View.VISIBLE ); - mEventPanel.setVisibility( View.VISIBLE ); - mFloatingLayout.setVisibility( View.VISIBLE ); + mEntrance.setVisibility(View.VISIBLE); + mEventPanel.setVisibility(View.VISIBLE); + mFloatingLayout.setVisibility(View.VISIBLE); } @Override - protected void onCreate( @Nullable Bundle savedInstanceState ) { - super.onCreate( savedInstanceState ); - ContextHolderUtil.holdContext( this ); + protected void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + ContextHolderUtil.holdContext(this); mPresenter.postLoadModuleMsg(); } private void init() { - if ( mServiceApis == null ) { + if (mServiceApis == null) { mServiceApis = MogoApisHandler.getInstance().getApis(); } - mServiceApis.getShareManager().resetContext( this ); - mServiceApis.getAuthManagerApi().showAuth( this ); + mServiceApis.getShareManager().resetContext(this); + mServiceApis.getAuthManagerApi().showAuth(this); mMogoStatusManager = mServiceApis.getStatusManagerApi(); - mMogoStatusManager.setMainPageLaunchedStatus( TAG, true ); - AutopilotServiceManage.getInstance().init( getContext() ); + mMogoStatusManager.setMainPageLaunchedStatus(TAG, true); + AutopilotServiceManage.getInstance().init(getContext()); } @Override public void loadModules() { final long start = System.currentTimeMillis(); - MogoModulesManager.getInstance().init( this ); + MogoModulesManager.getInstance().init(this); loadSplash(); - if ( DebugConfig.isMapBased() ) { - if ( mServiceApis.getMapServiceApi() != null ) { - mServiceApis.getMapServiceApi().getHostListenerRegister().registerHostMapListener( EventDispatchCenter.getInstance() ); - mServiceApis.getMapServiceApi().getHostListenerRegister().registerHostNaviListener( EventDispatchCenter.getInstance() ); - mServiceApis.getMapServiceApi().getHostListenerRegister().registerHostAimlessModeListener( EventDispatchCenter.getInstance() ); - mServiceApis.getMapServiceApi().getHostListenerRegister().registerMarkerClickListener( this ); + if (DebugConfig.isMapBased()) { + if (mServiceApis.getMapServiceApi() != null) { + mServiceApis.getMapServiceApi().getHostListenerRegister().registerHostMapListener(EventDispatchCenter.getInstance()); + mServiceApis.getMapServiceApi().getHostListenerRegister().registerHostNaviListener(EventDispatchCenter.getInstance()); + mServiceApis.getMapServiceApi().getHostListenerRegister().registerHostAimlessModeListener(EventDispatchCenter.getInstance()); + mServiceApis.getMapServiceApi().getHostListenerRegister().registerMarkerClickListener(this); } } - if ( DebugConfig.isSkinSupported() ) { + if (DebugConfig.isSkinSupported()) { initAdasControlStatusListener(); } - if ( DebugConfig.isMapBased() ) { - EventDispatchCenter.getInstance().setMapLoadedCallback( () -> { - Logger.d( TAG, "map loaded." + Thread.currentThread().getName() ); + if (DebugConfig.isMapBased()) { + EventDispatchCenter.getInstance().setMapLoadedCallback(() -> { + Logger.d(TAG, "map loaded." + Thread.currentThread().getName()); resetMapCenterPoint(); loadOthersModules(); - Log.i( "timer", "cost " + ( System.currentTimeMillis() - start ) + "ms" ); - } ); - MogoModulesManager.getInstance().loadMapModule( R.id.module_main_id_map_fragment_container ); + Log.i("timer", "cost " + (System.currentTimeMillis() - start) + "ms"); + }); + MogoModulesManager.getInstance().loadMapModule(R.id.module_main_id_map_fragment_container); } else { loadOthersModules(); } mMogoFragmentManager = mServiceApis.getFragmentManagerApi(); - mMogoFragmentManager.init( this, R.id.module_main_id_search_fragment ); - mMogoFragmentManager.initMessageHistoryContainerId( R.id.module_main_id_message_history_fragment_container ); - mMogoFragmentManager.registerMainFragmentStackTransactionListener( ( size ) -> { - if ( size == 0 ) { + mMogoFragmentManager.init(this, R.id.module_main_id_search_fragment); + mMogoFragmentManager.initMessageHistoryContainerId(R.id.module_main_id_message_history_fragment_container); + mMogoFragmentManager.registerMainFragmentStackTransactionListener((size) -> { + if (size == 0) { showLayout(); - } else if ( size == 1 ) { + } else if (size == 1) { hideLayout(); } - } ); + }); } private void resetMapCenterPoint() { // 右移地图中心点 MapCenterPointStrategy.init(); - MapCenterPointStrategy.setMapCenterPointByScene( mServiceApis.getMapServiceApi().getMapUIController(), Scene.AIMLESS ); + MapCenterPointStrategy.setMapCenterPointByScene(mServiceApis.getMapServiceApi().getMapUIController(), Scene.AIMLESS); } private void loadOthersModules() { @@ -209,66 +211,66 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme } private void initAdasControlStatusListener() { - mServiceApis.getRegisterCenterApi().registerADASControlStatusChangedListener( TAG, this ); - AdasConfigApiController.getInstance().registerAdasSettingUiListener( EventDispatchCenter.getInstance() ); - AdasConfigApiController.getInstance().registerAdasSettingSkinModelListener( EventDispatchCenter.getInstance() ); - AdasConfigApiController.getInstance().init( getApplicationContext() ); - LoggerController.setPrinterLog( DebugConfig.isDebug() ); + mServiceApis.getRegisterCenterApi().registerADASControlStatusChangedListener(TAG, this); + AdasConfigApiController.getInstance().registerAdasSettingUiListener(EventDispatchCenter.getInstance()); + AdasConfigApiController.getInstance().registerAdasSettingSkinModelListener(EventDispatchCenter.getInstance()); + AdasConfigApiController.getInstance().init(getApplicationContext()); + LoggerController.setPrinterLog(DebugConfig.isDebug()); } private void startBaseService() { - Intent intent = new Intent( this, MogoMainService.class ); - startService( intent ); + Intent intent = new Intent(this, MogoMainService.class); + startService(intent); } protected void loadContainerModules() { - MogoModulesManager.getInstance().loadEntrancesModule( R.id.module_main_id_entrance_fragment_container ); - MogoModulesManager.getInstance().loadEventPanelModule( R.id.module_main_id_event_panel_fragment_container ); - MogoModulesManager.getInstance().loadLeftPanelModule( R.id.module_main_id_left_panel_fragment_container ); + MogoModulesManager.getInstance().loadEntrancesModule(R.id.module_main_id_entrance_fragment_container); + MogoModulesManager.getInstance().loadEventPanelModule(R.id.module_main_id_event_panel_fragment_container); + MogoModulesManager.getInstance().loadLeftPanelModule(R.id.module_main_id_left_panel_fragment_container); } @Override public void hideCoverUpLayout() { - Logger.d( TAG, "隐藏遮罩" ); - mCoverUpLayout.setVisibility( View.GONE ); + Logger.d(TAG, "隐藏遮罩"); + mCoverUpLayout.setVisibility(View.GONE); mServiceApis.getAdasControllerApi().showADAS(); } @Override public void loadCardModules() { - List< IMogoModuleProvider > providers = MogoModulesManager.getInstance().loadCardsModule(); + List providers = MogoModulesManager.getInstance().loadCardsModule(); } @Override public void loadSplash() { - MogoModulesManager.getInstance().loadSplashModule( R.id.module_main_id_splash_container ); + MogoModulesManager.getInstance().loadSplashModule(R.id.module_main_id_splash_container); } @NonNull @Override protected MainPresenter createPresenter() { - return new MainPresenter( this ); + return new MainPresenter(this); } @Override - public void onLocationChanged( MogoLocation location ) { - EventDispatchCenter.getInstance().onLocationChanged( location ); + public void onLocationChanged(MogoLocation location) { + EventDispatchCenter.getInstance().onLocationChanged(location); } @Override - public boolean onMarkerClicked( IMogoMarker marker ) { - EventDispatchCenter.getInstance().onMarkerClicked( marker ); + public boolean onMarkerClicked(IMogoMarker marker) { + EventDispatchCenter.getInstance().onMarkerClicked(marker); return false; } @Override - public void onMapUiModeChanged( EnumMapUI mapUI ) { - switch ( mapUI ) { + public void onMapUiModeChanged(EnumMapUI mapUI) { + switch (mapUI) { case Type_Night: - mServiceApis.getSkinSupportInstallerApi().loadSkin( SkinMode.Night ); + mServiceApis.getSkinSupportInstallerApi().loadSkin(SkinMode.Night); break; case Type_Light: - mServiceApis.getSkinSupportInstallerApi().loadSkin( SkinMode.Light ); + mServiceApis.getSkinSupportInstallerApi().loadSkin(SkinMode.Light); break; } } @@ -276,25 +278,25 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme @Override protected void onResume() { super.onResume(); - mMogoStatusManager.setMainPageResumeStatus( TAG, true ); - mMogoStatusManager.setMainPageLaunchedStatus( TAG, true ); - mMogoStatusManager.setMainPageIsBackgroundStatus( TAG, false ); - if ( mCoverUpLayout.getVisibility() != View.VISIBLE ) { + mMogoStatusManager.setMainPageResumeStatus(TAG, true); + mMogoStatusManager.setMainPageLaunchedStatus(TAG, true); + mMogoStatusManager.setMainPageIsBackgroundStatus(TAG, false); + if (mCoverUpLayout.getVisibility() != View.VISIBLE) { mServiceApis.getAdasControllerApi().showADAS(); } - if ( mServiceApis.getLauncherApi() != null ) { - mServiceApis.getLauncherApi().setFloatButtonVisible( false ); + if (mServiceApis.getLauncherApi() != null) { + mServiceApis.getLauncherApi().setFloatButtonVisible(false); } } @Override protected void onPause() { super.onPause(); - mMogoStatusManager.setMainPageResumeStatus( TAG, false ); - mMogoStatusManager.setMainPageLaunchedStatus( TAG, false ); + mMogoStatusManager.setMainPageResumeStatus(TAG, false); + mMogoStatusManager.setMainPageLaunchedStatus(TAG, false); mServiceApis.getAuthManagerApi().dismiss(); - if ( mServiceApis.getLauncherApi() != null ) { - mServiceApis.getLauncherApi().setFloatButtonVisible( true ); + if (mServiceApis.getLauncherApi() != null) { + mServiceApis.getLauncherApi().setFloatButtonVisible(true); } } @@ -308,21 +310,21 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme @Override protected void onStop() { super.onStop(); - mMogoStatusManager.setMainPageIsBackgroundStatus( TAG, true ); - if ( shouldCloseADASPanelWhenPause() ) { + mMogoStatusManager.setMainPageIsBackgroundStatus(TAG, true); + if (shouldCloseADASPanelWhenPause()) { mServiceApis.getAdasControllerApi().closeADAS(); } } @Override public void onBackPressed() { - if ( mMogoFragmentManager == null - || mMogoFragmentManager.getStackSize() <= 0 ) { - if ( DebugConfig.isLauncher() ) { + if (mMogoFragmentManager == null + || mMogoFragmentManager.getStackSize() <= 0) { + if (DebugConfig.isLauncher()) { doWhenBackPressed(); return; } else { - if ( doWhenBackPressed() ) { + if (doWhenBackPressed()) { return; } super.onBackPressed(); @@ -337,14 +339,14 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme } @Override - protected void onNewIntent( Intent intent ) { - super.onNewIntent( intent ); - mPresenter.handleSchemeIntent( intent, true ); + protected void onNewIntent(Intent intent) { + super.onNewIntent(intent); + mPresenter.handleSchemeIntent(intent, true); } @Override public IMogoServiceApis getApis() { - if ( mServiceApis == null ) { + if (mServiceApis == null) { mServiceApis = MogoApisHandler.getInstance().getApis(); } return mServiceApis; @@ -357,17 +359,18 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme mServiceApis.getMapServiceApi().getHostListenerRegister().unregisterHostAimlessModeListener(); mServiceApis.getMapServiceApi().getHostListenerRegister().unregisterHostNaviListener(); mServiceApis.getMapServiceApi().getHostListenerRegister().unregisterHostMapListener(); - mMogoStatusManager.setMainPageLaunchedStatus( TAG, false ); - mMogoStatusManager.setMainPageIsBackgroundStatus( TAG, false ); + mMogoStatusManager.setMainPageLaunchedStatus(TAG, false); + mMogoStatusManager.setMainPageIsBackgroundStatus(TAG, false); mMogoFragmentManager.unregisterMainFragmentStackTransactionListener(); mMogoFragmentManager = null; mServiceApis.getMapServiceApi().getMapViewInstanceHandler().destroy(); AdasConfigApiController.getInstance().release(); mServiceApis.getAdasControllerApi().release(); - Logger.d( TAG, "destroy." ); + Logger.d(TAG, "destroy."); mServiceApis.getRefreshStrategyControllerApi().clearAllData(); - AIAssist.getInstance( this ).release(); + AIAssist.getInstance(this).release(); mServiceApis.getOnlineCarPanelApi().clear(); + CallChatApi.getInstance().getApiProvider().initVehicleTeamContainer("uninit",0, null); ContextHolderUtil.releaseContext(); MogoModulesManager.getInstance().onDestroy(); SchemeIntent.getInstance().clear(); From 7d834587b971697bd2c48a2f4b2c253801a0c19f Mon Sep 17 00:00:00 2001 From: wujifei Date: Tue, 24 Nov 2020 13:18:33 +0800 Subject: [PATCH 02/12] =?UTF-8?q?new#=E5=88=9D=E5=A7=8B=E5=8C=96initVehicl?= =?UTF-8?q?eTeamContainer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mogo/module/main/MainActivity.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java index 713108df6c..0f28fa8859 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java @@ -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(); From e8d8eabf997923f84bf0426ab86da1e4fdc4467c Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Tue, 24 Nov 2020 15:15:25 +0800 Subject: [PATCH 03/12] opt --- .../v2x/adapter/V2XSurroundingDetailAdapter.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/V2XSurroundingDetailAdapter.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/V2XSurroundingDetailAdapter.java index b7a6665727..d966fb8fd8 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/V2XSurroundingDetailAdapter.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/V2XSurroundingDetailAdapter.java @@ -77,17 +77,31 @@ public class V2XSurroundingDetailAdapter extends RecyclerView.Adapter { Logger.d(V2XConst.MODULE_NAME, "反馈有用"); roadReportTrue(exploreWay); + showView(true); }); mUnHeartLikeView.setOnClickCallListener(v -> { Logger.d(V2XConst.MODULE_NAME, "反馈无用"); 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); + } + } + /** * 反馈路况正确 */ From d59cb13600e2d89d39efbc97498d043c8284ea55 Mon Sep 17 00:00:00 2001 From: liujing Date: Tue, 24 Nov 2020 15:21:00 +0800 Subject: [PATCH 04/12] =?UTF-8?q?[r]=20=E5=85=B3=E9=97=AD=E6=8C=89?= =?UTF-8?q?=E9=92=AE=E5=9B=BE=E7=89=87=E8=B5=84=E6=BA=90=E6=9B=BF=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../v2x/fragment/V2XEventPanelFragment.kt | 18 +++++++++++++++--- ...lector_colse.xml => v2x_selector_close.xml} | 0 ...le_v2x_event_panel_fragment_event_panel.xml | 2 +- .../res/layout/window_road_event_detail.xml | 4 ++-- ..._light.xml => v2x_selector_close_light.xml} | 0 5 files changed, 18 insertions(+), 6 deletions(-) rename modules/mogo-module-v2x/src/main/res/drawable/{v2x_selector_colse.xml => v2x_selector_close.xml} (100%) rename skin/mogo-skin-light/src/main/module-v2x-res/drawable/{v2x_selector_colse_light.xml => v2x_selector_close_light.xml} (100%) diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XEventPanelFragment.kt b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XEventPanelFragment.kt index b2c539f83a..14fd496436 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XEventPanelFragment.kt +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XEventPanelFragment.kt @@ -343,7 +343,11 @@ class V2XEventPanelFragment : MvpFragment { 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 +355,11 @@ class V2XEventPanelFragment : MvpFragment { 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 +367,11 @@ class V2XEventPanelFragment : MvpFragment { try { mV2XShareEventsFragment.fromVoice = true - mRbShareEvents?.isChecked = true + if (mRbShareEvents?.isChecked == true) { + mV2XShareEventsFragment.ttsForVoiceCheckout() + } else { + mRbShareEvents?.isChecked = true + } } catch (e: java.lang.Exception) { e.printStackTrace() } diff --git a/modules/mogo-module-v2x/src/main/res/drawable/v2x_selector_colse.xml b/modules/mogo-module-v2x/src/main/res/drawable/v2x_selector_close.xml similarity index 100% rename from modules/mogo-module-v2x/src/main/res/drawable/v2x_selector_colse.xml rename to modules/mogo-module-v2x/src/main/res/drawable/v2x_selector_close.xml diff --git a/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_panel_fragment_event_panel.xml b/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_panel_fragment_event_panel.xml index da409da47c..9355cd3b51 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_panel_fragment_event_panel.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/module_v2x_event_panel_fragment_event_panel.xml @@ -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" /> diff --git a/modules/mogo-module-v2x/src/main/res/layout/window_road_event_detail.xml b/modules/mogo-module-v2x/src/main/res/layout/window_road_event_detail.xml index 028b4ceb1f..79f85e14d1 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/window_road_event_detail.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/window_road_event_detail.xml @@ -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" /> diff --git a/skin/mogo-skin-light/src/main/module-v2x-res/drawable/v2x_selector_colse_light.xml b/skin/mogo-skin-light/src/main/module-v2x-res/drawable/v2x_selector_close_light.xml similarity index 100% rename from skin/mogo-skin-light/src/main/module-v2x-res/drawable/v2x_selector_colse_light.xml rename to skin/mogo-skin-light/src/main/module-v2x-res/drawable/v2x_selector_close_light.xml From 52d9fb7cf2f8385f81d1be8ba319e6cc709b0b39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Tue, 24 Nov 2020 16:11:59 +0800 Subject: [PATCH 05/12] =?UTF-8?q?=E4=BF=AE=E6=94=B9UI=EF=BC=8C=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E4=BA=86=E7=96=B2=E5=8A=B3=E9=A9=BE=E9=A9=B6=E4=B8=AD?= =?UTF-8?q?=E9=81=93=E8=B7=AF=E6=8E=A8=E8=8D=90=E4=B8=AD=E7=9A=84=E5=85=B3?= =?UTF-8?q?=E9=97=AD=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adapter/holder/V2XFatigueDrivingVH.java | 4 +- .../module/v2x/marker/V2XMarkerEventView.java | 30 +++++ .../res/layout/item_v2x_fatigue_driving.xml | 10 ++ .../main/res/layout/item_v2x_fault_help.xml | 119 ++++++++++-------- 4 files changed, 107 insertions(+), 56 deletions(-) create mode 100644 modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/marker/V2XMarkerEventView.java diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XFatigueDrivingVH.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XFatigueDrivingVH.java index 2da020805c..ed99977aa1 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XFatigueDrivingVH.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XFatigueDrivingVH.java @@ -32,7 +32,7 @@ import com.mogo.module.v2x.voice.V2XVoiceManager; public class V2XFatigueDrivingVH extends V2XBaseViewHolder { 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 { 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() { diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/marker/V2XMarkerEventView.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/marker/V2XMarkerEventView.java new file mode 100644 index 0000000000..902676fce3 --- /dev/null +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/marker/V2XMarkerEventView.java @@ -0,0 +1,30 @@ +package com.mogo.module.v2x.marker; + +import android.content.Context; +import android.util.AttributeSet; +import android.widget.LinearLayout; + +import androidx.annotation.Nullable; +import androidx.constraintlayout.widget.ConstraintLayout; + +public class V2XMarkerEventView extends LinearLayout { + + + public V2XMarkerEventView(Context context) { + this(context,null); + } + + public V2XMarkerEventView(Context context, @Nullable AttributeSet attrs) { + this(context, attrs,0); + } + + public V2XMarkerEventView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + initView(); + } + + private void initView() { + + } + +} diff --git a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_fatigue_driving.xml b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_fatigue_driving.xml index 728d647def..f7e603cf78 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_fatigue_driving.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_fatigue_driving.xml @@ -69,8 +69,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" /> + + diff --git a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_fault_help.xml b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_fault_help.xml index cad8477a05..b586ad3610 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_fault_help.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_fault_help.xml @@ -10,67 +10,76 @@ android:paddingEnd="@dimen/dp_62" android:paddingBottom="@dimen/dp_42"> - + app:layout_constraintTop_toTopOf="parent"> - + - + - + + + + + Date: Tue, 24 Nov 2020 16:57:19 +0800 Subject: [PATCH 06/12] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=8A=A8=E6=80=81?= =?UTF-8?q?=E5=8F=AF=E5=BC=80=E5=90=AF=E7=9A=84=E5=B7=A1=E8=88=AA=E6=92=AD?= =?UTF-8?q?=E6=8A=A5=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mogo/map/impl/amap/navi/NaviClient.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviClient.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviClient.java index 8c00446e99..5e5c66109a 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviClient.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviClient.java @@ -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, "关闭巡航成功" ); } From ec01c300287e0a24372ee1e12c03e829094c6927 Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Tue, 24 Nov 2020 17:01:42 +0800 Subject: [PATCH 07/12] opt --- .../v2x/adapter/V2XSurroundingDetailAdapter.java | 4 ++-- .../module/v2x/entity/panel/BackRefreshInfo.java | 10 ++++++++++ .../module/v2x/fragment/V2XEventPanelFragment.kt | 3 ++- .../v2x/fragment/V2XSurroundingFragment.java | 15 ++++++++++++++- 4 files changed, 28 insertions(+), 4 deletions(-) create mode 100644 modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/entity/panel/BackRefreshInfo.java diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/V2XSurroundingDetailAdapter.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/V2XSurroundingDetailAdapter.java index d966fb8fd8..08c4d3abe2 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/V2XSurroundingDetailAdapter.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/V2XSurroundingDetailAdapter.java @@ -80,13 +80,13 @@ public class V2XSurroundingDetailAdapter extends RecyclerView.Adapter { - 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); }); diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/entity/panel/BackRefreshInfo.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/entity/panel/BackRefreshInfo.java new file mode 100644 index 0000000000..2291ee041c --- /dev/null +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/entity/panel/BackRefreshInfo.java @@ -0,0 +1,10 @@ +package com.mogo.module.v2x.entity.panel; + +import java.io.Serializable; + +/** + * 返回刷新 + */ +public class BackRefreshInfo implements Serializable { + +} diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XEventPanelFragment.kt b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XEventPanelFragment.kt index 14fd496436..3eb198c1d0 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XEventPanelFragment.kt +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/fragment/V2XEventPanelFragment.kt @@ -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 Date: Tue, 24 Nov 2020 17:09:17 +0800 Subject: [PATCH 08/12] =?UTF-8?q?=E5=B0=86=E6=B7=BB=E5=8A=A0F=E8=BD=A6?= =?UTF-8?q?=E6=9C=BA=E9=81=93=E8=B7=AF=E4=BA=8B=E4=BB=B6=E5=8F=8A=E4=BB=96?= =?UTF-8?q?=E8=BD=A6=E6=B1=82=E5=8A=A9=E7=9A=84=E5=8A=A8=E7=94=BBUI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manager/impl/MoGoV2XMarkerManager.java | 20 ++++++++++--- .../module/v2x/marker/V2XMarkerEventView.java | 30 ------------------- .../v2x/marker/V2XMarkerRoadEventView.kt | 4 +-- .../main/res/layout/view_marker_event_car.xml | 15 +--------- 4 files changed, 18 insertions(+), 51 deletions(-) delete mode 100644 modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/marker/V2XMarkerEventView.java diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/impl/MoGoV2XMarkerManager.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/impl/MoGoV2XMarkerManager.java index 6ab7028046..f11c1374d8 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/impl/MoGoV2XMarkerManager.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/impl/MoGoV2XMarkerManager.java @@ -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设置为最上面 diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/marker/V2XMarkerEventView.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/marker/V2XMarkerEventView.java deleted file mode 100644 index 902676fce3..0000000000 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/marker/V2XMarkerEventView.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.mogo.module.v2x.marker; - -import android.content.Context; -import android.util.AttributeSet; -import android.widget.LinearLayout; - -import androidx.annotation.Nullable; -import androidx.constraintlayout.widget.ConstraintLayout; - -public class V2XMarkerEventView extends LinearLayout { - - - public V2XMarkerEventView(Context context) { - this(context,null); - } - - public V2XMarkerEventView(Context context, @Nullable AttributeSet attrs) { - this(context, attrs,0); - } - - public V2XMarkerEventView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { - super(context, attrs, defStyleAttr); - initView(); - } - - private void initView() { - - } - -} diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/marker/V2XMarkerRoadEventView.kt b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/marker/V2XMarkerRoadEventView.kt index 2efee0e7e2..8e8a638d1b 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/marker/V2XMarkerRoadEventView.kt +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/marker/V2XMarkerRoadEventView.kt @@ -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 } } } diff --git a/modules/mogo-module-v2x/src/main/res/layout/view_marker_event_car.xml b/modules/mogo-module-v2x/src/main/res/layout/view_marker_event_car.xml index 231eec52a2..79c46cd09d 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/view_marker_event_car.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/view_marker_event_car.xml @@ -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" /> - \ No newline at end of file From a9147810d48824a3ea338cdd37ce85a2e1022782 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Tue, 24 Nov 2020 17:12:42 +0800 Subject: [PATCH 09/12] =?UTF-8?q?=E5=BE=AE=E8=B0=83UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/res/layout/item_v2x_fatigue_driving.xml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_fatigue_driving.xml b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_fatigue_driving.xml index f7e603cf78..9bc23720c3 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_fatigue_driving.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_fatigue_driving.xml @@ -26,12 +26,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 +40,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" From c9fdc878c3f4b7237fef5fd509f32dd6454b2f1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Tue, 24 Nov 2020 17:15:21 +0800 Subject: [PATCH 10/12] =?UTF-8?q?=E5=AF=B9match=E7=9A=84=E5=B8=83=E5=B1=80?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0tools:layout=5Fheight=3D"wrap=5Fcontent"?= =?UTF-8?q?=E6=96=B9=E4=BE=BF=E9=A2=84=E8=A7=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/res/layout/item_v2x_fatigue_driving.xml | 3 ++- .../src/main/res/layout/item_v2x_fault_help.xml | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_fatigue_driving.xml b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_fatigue_driving.xml index 9bc23720c3..e6ffe54e9d 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/item_v2x_fatigue_driving.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/item_v2x_fatigue_driving.xml @@ -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"> + android:paddingBottom="@dimen/dp_42" + tools:layout_height="wrap_content"> Date: Tue, 24 Nov 2020 17:28:28 +0800 Subject: [PATCH 11/12] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AF=B9=E8=AF=9D?= =?UTF-8?q?=E6=A1=86=E8=92=99=E5=B1=82=E9=A2=9C=E8=89=B2=E6=B7=B1=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/gradle.xml | 1 + .../src/main/res/values/colors.xml | 2 +- .../src/main/res/values/colors.xml | 2 +- .../src/main/res/values/styles.xml | 2 +- .../extensions/weather/StrokeTextView.java | 101 ++++++++++++++++++ .../res/layout/module_ext_layout_entrance.xml | 13 +++ 6 files changed, 118 insertions(+), 3 deletions(-) create mode 100644 modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/weather/StrokeTextView.java diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 8e9756d758..b59a552525 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -77,6 +77,7 @@ diff --git a/modules/mogo-module-authorize/src/main/res/values/colors.xml b/modules/mogo-module-authorize/src/main/res/values/colors.xml index 5886e84810..e32111d451 100644 --- a/modules/mogo-module-authorize/src/main/res/values/colors.xml +++ b/modules/mogo-module-authorize/src/main/res/values/colors.xml @@ -3,5 +3,5 @@ #99FFFFFF #FFFFFF #FFFFFF - #7F000000 + #99000000 \ No newline at end of file diff --git a/modules/mogo-module-common/src/main/res/values/colors.xml b/modules/mogo-module-common/src/main/res/values/colors.xml index 0856fc721d..3b0ff8796d 100644 --- a/modules/mogo-module-common/src/main/res/values/colors.xml +++ b/modules/mogo-module-common/src/main/res/values/colors.xml @@ -1,6 +1,6 @@ - #7f000000 + #99000000 #FFFFFF #FFFFFF #FFFFFF diff --git a/modules/mogo-module-common/src/main/res/values/styles.xml b/modules/mogo-module-common/src/main/res/values/styles.xml index e12e13d325..047f2a7f55 100644 --- a/modules/mogo-module-common/src/main/res/values/styles.xml +++ b/modules/mogo-module-common/src/main/res/values/styles.xml @@ -5,7 +5,7 @@ @null true @android:color/transparent - 0.4 + 0.6 true @null @android:color/transparent diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/weather/StrokeTextView.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/weather/StrokeTextView.java new file mode 100644 index 0000000000..65e37ad663 --- /dev/null +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/weather/StrokeTextView.java @@ -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(); + } +} diff --git a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml index 4446c317a0..9e11dc3fce 100644 --- a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml +++ b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml @@ -291,4 +291,17 @@ android:visibility="gone" app:constraint_referenced_ids="btnShowDrawableTipNoSize,btnShowDrawableTip,btnShowTextTip,btnDebugCtrlNaviView,btnDebugCtrlSubView,btnDebugCtrlTopView,btnDebugAddBottomLayerView" /> + \ No newline at end of file From 8eaee0f0c03646298f5df1ba5617ff17a1fa2ddb Mon Sep 17 00:00:00 2001 From: tongchenfei Date: Tue, 24 Nov 2020 17:29:03 +0800 Subject: [PATCH 12/12] opt --- .../main/res/layout/module_ext_layout_entrance.xml | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml index 9e11dc3fce..6adf068080 100644 --- a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml +++ b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_entrance.xml @@ -290,18 +290,4 @@ android:layout_height="wrap_content" android:visibility="gone" app:constraint_referenced_ids="btnShowDrawableTipNoSize,btnShowDrawableTip,btnShowTextTip,btnDebugCtrlNaviView,btnDebugCtrlSubView,btnDebugCtrlTopView,btnDebugAddBottomLayerView" /> - - \ No newline at end of file