200) {
+ showSlideMapVoiceGuide();
+ }
+ break;
+
+ case MotionEvent.ACTION_MOVE:
+
+ break;
+ }
+ }
/**
* 由于Launcher和Independent对于天气的表现形式不太一样,所以通过此方法区分处理
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 b5da488ae6..77074d07cd 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
@@ -48,7 +48,6 @@
android:gravity="center_vertical"
android:text="@string/module_ext_destination_online_car_text"
android:visibility="gone"
- android:layout_marginLeft="@dimen/module_common_shadow_width_pos"
android:textColor="@color/module_ext_color_voice_text"
android:textSize="@dimen/module_ext_north_textSize"
android:textStyle="bold"
diff --git a/modules/mogo-module-extensions/src/main/res/values-xhdpi-1920x1000/dimens.xml b/modules/mogo-module-extensions/src/main/res/values-xhdpi-1920x1000/dimens.xml
index a30623fe52..75f2f2b1fa 100644
--- a/modules/mogo-module-extensions/src/main/res/values-xhdpi-1920x1000/dimens.xml
+++ b/modules/mogo-module-extensions/src/main/res/values-xhdpi-1920x1000/dimens.xml
@@ -131,7 +131,7 @@
30px
120px
120px
- 30px
+ 10px
22px
28px
28px
diff --git a/modules/mogo-module-extensions/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-extensions/src/main/res/values-xhdpi/dimens.xml
index 33ef63c151..125e839721 100644
--- a/modules/mogo-module-extensions/src/main/res/values-xhdpi/dimens.xml
+++ b/modules/mogo-module-extensions/src/main/res/values-xhdpi/dimens.xml
@@ -131,7 +131,7 @@
30px
120px
120px
- 30px
+ 10px
22px
28px
28px
diff --git a/modules/mogo-module-extensions/src/main/res/values/dimens.xml b/modules/mogo-module-extensions/src/main/res/values/dimens.xml
index f92b46b195..e0ccc1e24d 100644
--- a/modules/mogo-module-extensions/src/main/res/values/dimens.xml
+++ b/modules/mogo-module-extensions/src/main/res/values/dimens.xml
@@ -137,7 +137,7 @@
142px
66px
66px
- 16px
+ 10px
12px
14px
14px
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 0c5aefac99..b8fdb2a2e0 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
@@ -357,5 +357,6 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
AIAssist.getInstance( this ).release();
mServiceApis.getOnlineCarPanelApi().clear();
ContextHolderUtil.releaseContext();
+ MogoModulesManager.getInstance().onDestroy();
}
}
diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesHandler.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesHandler.java
index c07373d5d7..9d4c69e627 100644
--- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesHandler.java
+++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesHandler.java
@@ -77,4 +77,9 @@ public interface MogoModulesHandler {
* @param containerId
*/
void loadSplashModule(int containerId);
+
+ /**
+ * 释放各个模块资源
+ */
+ void onDestroy();
}
diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java
index 355c6324b5..ae3c36287e 100644
--- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java
+++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java
@@ -5,6 +5,7 @@ import android.content.Context;
import androidx.fragment.app.Fragment;
import com.alibaba.android.arouter.launcher.ARouter;
+import com.alibaba.idst.nls.internal.utils.L;
import com.mogo.module.common.MogoModule;
import com.mogo.module.common.MogoModulePaths;
import com.mogo.module.extensions.ExtensionsModuleConst;
@@ -16,6 +17,7 @@ import com.mogo.utils.ResourcesHelper;
import com.mogo.utils.logger.Logger;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -131,25 +133,25 @@ public class MogoModulesManager implements MogoModulesHandler {
}
@Override
- public void loadEventPanelModule(int containerId) {
+ public void loadEventPanelModule( int containerId ) {
IMogoModuleProvider provider = ( IMogoModuleProvider ) ARouter.getInstance()
- .build(MogoServicePaths.PATH_EVENT_PANEL)
+ .build( MogoServicePaths.PATH_EVENT_PANEL )
.navigation( getContext() );
addFragment( provider, containerId );
}
@Override
- public void loadLeftPanelModule(int containerId) {
+ public void loadLeftPanelModule( int containerId ) {
IMogoModuleProvider provider = ( IMogoModuleProvider ) ARouter.getInstance()
- .build(MogoServicePaths.PATH_LEFT_PANEL)
+ .build( MogoServicePaths.PATH_LEFT_PANEL )
.navigation( getContext() );
addFragment( provider, containerId );
}
@Override
- public void loadSplashModule(int containerId) {
+ public void loadSplashModule( int containerId ) {
IMogoModuleProvider provider = ( IMogoModuleProvider ) ARouter.getInstance()
- .build(MogoServicePaths.PATH_SPLASH)
+ .build( MogoServicePaths.PATH_SPLASH )
.navigation( getContext() );
addFragment( provider, containerId );
}
@@ -188,4 +190,25 @@ public class MogoModulesManager implements MogoModulesHandler {
.replace( containerId, fragment, provider.getModuleName() )
.commitAllowingStateLoss();
}
+
+ @Override
+ public void onDestroy() {
+ if ( mModuleNameProviders != null ) {
+ Collection< IMogoModuleProvider > modules = mModuleNameProviders.values();
+ if ( modules != null ) {
+ for ( IMogoModuleProvider module : modules ) {
+ try {
+ Logger.d( TAG, "destroy module: " + module.getModuleName() );
+ module.onDestroy();
+ } catch ( Exception e ) {
+ Logger.e( TAG, e, "onDestroy" );
+ }
+ }
+ }
+ mModuleNameProviders.clear();
+ }
+ if ( mModuleProviders != null ) {
+ mModuleProviders.clear();
+ }
+ }
}
diff --git a/modules/mogo-module-media/build.gradle b/modules/mogo-module-media/build.gradle
index 0ddfae0634..dff1c08f76 100644
--- a/modules/mogo-module-media/build.gradle
+++ b/modules/mogo-module-media/build.gradle
@@ -47,6 +47,8 @@ dependencies {
implementation "com.mogo.tencent.wecarflow:mogo-wecarflow:+@aar"
implementation "com.mogo.kwmusic:mogo-kwmusic:+"
+ implementation rootProject.ext.dependencies.carcallprovider
+
if (Boolean.valueOf(RELEASE)) {
implementation rootProject.ext.dependencies.mogomap
implementation rootProject.ext.dependencies.mogoutils
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/MediaCardViewProvider.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/MediaCardViewProvider.java
index 059a886869..c4fdd84162 100644
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/MediaCardViewProvider.java
+++ b/modules/mogo-module-media/src/main/java/com/mogo/module/media/MediaCardViewProvider.java
@@ -20,7 +20,7 @@ import com.mogo.service.module.ModuleType;
public class MediaCardViewProvider implements IMogoModuleProvider {
private static final String TAG = "MediaCardViewProvider";
-
+ private MediaWindow2 mediaWindow2;
@Override
public Fragment createFragment( Context context, Bundle data ) {
@@ -33,7 +33,7 @@ public class MediaCardViewProvider implements IMogoModuleProvider {
@Override
public void init( Context context ) {
ServiceMediaHandler.init( context );
- MediaWindow2 mediaWindow2 = new MediaWindow2();
+ mediaWindow2 = new MediaWindow2();
mediaWindow2.initMedia(context);
}
@@ -88,4 +88,12 @@ public class MediaCardViewProvider implements IMogoModuleProvider {
public String getAppName() {
return "";
}
+
+ @Override
+ public void onDestroy() {
+ if ( mediaWindow2 != null ) {
+ mediaWindow2.onDestroy();
+ }
+ mediaWindow2 = null;
+ }
}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/ServiceMediaHandler.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/ServiceMediaHandler.java
index 17a0a08c47..db9b78b43d 100644
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/ServiceMediaHandler.java
+++ b/modules/mogo-module-media/src/main/java/com/mogo/module/media/ServiceMediaHandler.java
@@ -11,6 +11,7 @@ import com.mogo.map.navi.IMogoNavi;
import com.mogo.map.uicontroller.IMogoMapUIController;
import com.mogo.module.authorize.authprovider.invoke.AuthorizeConstant;
import com.mogo.module.authorize.authprovider.module.IMogoAuthorizeModuleManager;
+import com.mogo.module.carchattingprovider.ICarsChattingProvider;
import com.mogo.service.MogoServicePaths;
import com.mogo.service.adas.IMogoADASController;
import com.mogo.service.analytics.IMogoAnalytics;
@@ -53,6 +54,8 @@ public class ServiceMediaHandler {
private static IMogoAuthorizeModuleManager mMogoAuthorizeModuleManager;
private static IMogoMarkerService sMarkerService;
+ private static ICarsChattingProvider sCarsChattingProvider;
+
public static void init(Context context) {
mApis = (MogoServiceApis) ARouter.getInstance().build(MogoServicePaths.PATH_SERVICE_APIS).navigation(context);
mMapService = mApis.getMapServiceApi();
@@ -73,6 +76,8 @@ public class ServiceMediaHandler {
mMogoADASController = mApis.getAdasControllerApi();
mMogoAuthorizeModuleManager = (IMogoAuthorizeModuleManager) ARouter.getInstance().build(AuthorizeConstant.PROVIDER_MODULE).navigation(context);
sMarkerService = mApis.getMarkerService();
+
+ sCarsChattingProvider = ARouter.getInstance().navigation( ICarsChattingProvider.class );
}
public static IMogoADASController getMogoADASController(){
@@ -157,6 +162,10 @@ public class ServiceMediaHandler {
return mMogoDataManager;
}
+ public static MogoServiceApis getApis() {
+ return mApis;
+ }
+
/**
* 这个注册的第一个参数是模块名称,目的是只给当前显示的卡片分发事件
* @return
@@ -183,6 +192,11 @@ public class ServiceMediaHandler {
return sMarkerService;
}
+ public static ICarsChattingProvider getCarsChattingApis() {
+ isApisNull( sCarsChattingProvider );
+ return sCarsChattingProvider;
+ }
+
public static void isApisNull( Object object){
if (isObjStaticNull(object)){
init(AbsMogoApplication.getApp());
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/listener/CallProviderResponseAdapter.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/listener/CallProviderResponseAdapter.java
new file mode 100644
index 0000000000..6fa008de0e
--- /dev/null
+++ b/modules/mogo-module-media/src/main/java/com/mogo/module/media/listener/CallProviderResponseAdapter.java
@@ -0,0 +1,106 @@
+package com.mogo.module.media.listener;
+
+import com.mogo.module.carchattingprovider.ICallProviderResponse;
+
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
+
+public
+/**
+ * @author congtaowang
+ * @since 2020/9/24
+ *
+ * 描述
+ */
+abstract class CallProviderResponseAdapter implements ICallProviderResponse {
+
+ @Override
+ public void addFriend( boolean b ) {
+
+ }
+
+ @Override
+ public void callInvokeError( @NotNull String s ) {
+
+ }
+
+ @Override
+ public void callStatus( int i ) {
+
+ }
+
+ @Override
+ public void canCall( boolean b ) {
+
+ }
+
+ @Override
+ public void hideUserWindowError( @NotNull String s ) {
+
+ }
+
+ @Override
+ public void invisibleUser( boolean b ) {
+
+ }
+
+ @Override
+ public void isFriend( boolean b ) {
+
+ }
+
+ @Override
+ public void isOnLine( boolean b, @Nullable String s ) {
+
+ }
+
+ @Override
+ public void userInfoCallBack( @Nullable String s, @Nullable String s1 ) {
+
+ }
+
+ @Override
+ public void userWindowStatus( boolean b ) {
+
+ }
+
+ @Override
+ public void call( @NotNull String s ) {
+
+ }
+
+ @Override
+ public void cancelMatch( boolean b ) {
+
+ }
+
+ @Override
+ public void error( @NotNull String s ) {
+
+ }
+
+ @Override
+ public void hangUp( boolean b ) {
+
+ }
+
+ @Override
+ public void invokeCallData( @NotNull String s ) {
+
+ }
+
+ @Override
+ public void match( @NotNull String s ) {
+
+ }
+
+ @Override
+ public void matchInvokeResult( boolean b, @NotNull String s ) {
+
+ }
+
+ @Override
+ public void mute( boolean b ) {
+
+ }
+}
diff --git a/modules/mogo-module-media/src/main/java/com/mogo/module/media/window/MediaWindow2.java b/modules/mogo-module-media/src/main/java/com/mogo/module/media/window/MediaWindow2.java
index ccb2cb0cc8..3abb6ff255 100644
--- a/modules/mogo-module-media/src/main/java/com/mogo/module/media/window/MediaWindow2.java
+++ b/modules/mogo-module-media/src/main/java/com/mogo/module/media/window/MediaWindow2.java
@@ -12,11 +12,13 @@ import android.widget.TextView;
import com.mogo.commons.debug.DebugConfig;
import com.mogo.commons.voice.AIAssist;
import com.mogo.commons.voice.IMogoVoiceCmdCallBack;
+import com.mogo.module.carchattingprovider.ICallProviderResponse;
import com.mogo.module.common.glide.SkinAbleBitmapTarget;
import com.mogo.module.media.MediaConstants;
import com.mogo.module.media.R;
import com.mogo.module.media.ServiceMediaHandler;
import com.mogo.module.media.constants.MusicConstant;
+import com.mogo.module.media.listener.CallProviderResponseAdapter;
import com.mogo.module.media.listener.NoDoubleClickListener;
import com.mogo.module.media.model.MediaInfoData;
import com.mogo.module.media.presenter.BaseMediaPresenter;
@@ -25,6 +27,7 @@ import com.mogo.module.media.presenter.PresenterFactory;
import com.mogo.module.media.utils.Utils;
import com.mogo.module.media.view.IMusicView;
import com.mogo.module.media.widget.AnimCircleImageView;
+import com.mogo.service.statusmanager.IMogoStatusChangedListener;
import com.mogo.service.statusmanager.StatusDescriptor;
import com.mogo.utils.WindowUtils;
import com.mogo.utils.glide.GlideApp;
@@ -38,7 +41,7 @@ import com.tencent.wecarflow.flowoutside.sdk.FlowPlayControl;
*
* @author tongchenfei
*/
-public class MediaWindow2 implements IMusicView {
+public class MediaWindow2 implements IMusicView , IMogoStatusChangedListener {
public static final String TAG = MediaWindow2.class.getName();
private Context mContext;
@@ -58,6 +61,9 @@ public class MediaWindow2 implements IMusicView {
private boolean mHasAddWindow = false;
private boolean mTwoChange = false;
private boolean isFirstPlay = false;
+ private boolean mIsCallChatWindowVisible;
+
+ private ICallProviderResponse mCallProviderResponse;
public void initMedia(Context context) {
mContext = context;
@@ -76,14 +82,34 @@ public class MediaWindow2 implements IMusicView {
});
}
- ServiceMediaHandler.getIMogoStatusManager().registerStatusChangedListener(MediaConstants.MODULE_TYPE, StatusDescriptor.ACC_STATUS, (descriptor, isTrue) -> {
- if (descriptor == StatusDescriptor.ACC_STATUS&&!isTrue) {
- ServiceMediaHandler.getMogoWindowManager().removeView(mWindowView);
- mHasAddWindow = false;
- }
- });
+ ServiceMediaHandler.getIMogoStatusManager().registerStatusChangedListener(MediaConstants.MODULE_TYPE, StatusDescriptor.ACC_STATUS, this);
- isFirstPlay = true;
+ // 车聊聊才是王
+ mCallProviderResponse = new CallProviderResponseAdapter(){
+ @Override
+ public void callWindowStatus( boolean b ) {
+ Logger.d( TAG, "callWindowStatus: "+ b);
+ mIsCallChatWindowVisible = b;
+ if ( !mHasAddWindow || mWindowView == null ) {
+ return;
+ }
+ if ( mIsCallChatWindowVisible ) {
+ mWindowView.setVisibility(View.GONE );
+ } else {
+ mWindowView.setVisibility(View.VISIBLE);
+ }
+ }
+ };
+ ServiceMediaHandler.getCarsChattingApis().registerCallWindowStatusListener( MediaConstants.MODULE_TYPE, mContext, mCallProviderResponse);
+ isFirstPlay = true;
+ }
+
+ @Override
+ public void onStatusChanged( StatusDescriptor descriptor, boolean isTrue ) {
+ if (descriptor == StatusDescriptor.ACC_STATUS&&!isTrue) {
+ ServiceMediaHandler.getMogoWindowManager().removeView(mWindowView);
+ mHasAddWindow = false;
+ }
}
private void addWindowView() {
@@ -93,16 +119,10 @@ public class MediaWindow2 implements IMusicView {
return;
}
- if(!ServiceMediaHandler.getIMogoStatusManager().isMainPageOnResume()){
- Log.d(TAG, "not in front");
- return;
- }
-
if (!mHasAddWindow) {
mHasAddWindow = true;
mWindowView =
LayoutInflater.from(mContext).inflate(R.layout.module_media_music_window_alert_layout, null);
- mWindowView.setVisibility(View.VISIBLE);
mCircleImg = mWindowView.findViewById(R.id.window_circle_img);
mScrollText = mWindowView.findViewById(R.id.window_scroll_txt);
mWindowPlayPause = mWindowView.findViewById(R.id.window_play_pause);
@@ -158,6 +178,12 @@ public class MediaWindow2 implements IMusicView {
}
}
});
+
+ if ( mIsCallChatWindowVisible ) {
+ mWindowView.setVisibility(View.GONE);
+ } else {
+ mWindowView.setVisibility(View.VISIBLE);
+ }
}
}
@@ -305,4 +331,10 @@ public class MediaWindow2 implements IMusicView {
mWindowView.setVisibility(View.GONE);
}
}
+
+ public void onDestroy(){
+ Logger.d(TAG, "onDestroy");
+ ServiceMediaHandler.getCarsChattingApis().unRegisterCallWindowStatusListener( MediaConstants.MODULE_TYPE, mContext);
+ ServiceMediaHandler.getIMogoStatusManager().unregisterStatusChangedListener(MediaConstants.MODULE_TYPE, StatusDescriptor.ACC_STATUS,this);
+ }
}
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java
index 3d9d2105b8..ca00298278 100644
--- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServiceProvider.java
@@ -100,4 +100,9 @@ public class MogoServiceProvider implements IMogoModuleProvider {
MogoServices.getInstance().init( AbsMogoApplication.getApp() );
}, 5_000L );
}
+
+ @Override
+ public void onDestroy() {
+ MogoServices.getInstance().destroy();
+ }
}
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java
index aacf70217f..7bad54b25c 100644
--- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java
@@ -20,6 +20,7 @@ import com.mogo.commons.network.SubscribeImpl;
import com.mogo.commons.storage.SpStorage;
import com.mogo.commons.voice.AIAssist;
import com.mogo.commons.voice.IMogoVoiceCmdCallBack;
+import com.mogo.map.IDestroyable;
import com.mogo.map.MogoLatLng;
import com.mogo.map.listener.IMogoMapListener;
import com.mogo.map.location.IMogoLocationListener;
@@ -95,7 +96,8 @@ public class MogoServices implements IMogoMapListener,
IMogoAimlessModeListener,
IMogoVoiceCmdCallBack,
FragmentStackTransactionListener,
- IMogoCarLocationChangedListener2 {
+ IMogoCarLocationChangedListener2,
+ IDestroyable {
private boolean mInternalUnWakeupRegisterStatus = false;
@@ -201,7 +203,7 @@ public class MogoServices implements IMogoMapListener,
}
break;
case ServiceConst.MSG_SCHEDULE_CALCULATE_NOT_HOME_COMPANY_DISTANCE_FOR_PUSH:
- handleCalculationNotHomeCompanyDistanceForPush();
+ handleCalculationNotHomeCompanyDistanceForPush( msg.arg1 );
break;
}
}
@@ -944,8 +946,12 @@ public class MogoServices implements IMogoMapListener,
@Override
public void onStartNavi() {
- Logger.d( TAG, "onStartNavi: scheduleCalculationNotHomeCompanyDistanceForPush" );
- scheduleCalculationNotHomeCompanyDistanceForPush();
+ if ( DebugConfig.isIsScheduleCalculateNotHomeCompanyDistanceForPush() ) {
+ Logger.d( TAG, "onStartNavi: scheduleCalculationNotHomeCompanyDistanceForPush" );
+ scheduleCalculationNotHomeCompanyDistanceForPush( 1, ServiceConst.INTERVAL_SCHEDULE_CALCULATE_NOT_HOME_COMPANY_DISTANCE_FOR_PUSH );
+ } else {
+ Logger.d( TAG, "onStartNavi: scheduleCalculationNotHomeCompanyDistanceForPush un support" );
+ }
}
@Override
@@ -957,14 +963,22 @@ public class MogoServices implements IMogoMapListener,
/**
* 延时一分钟发起计算导航目的地推送策略
*/
- private void scheduleCalculationNotHomeCompanyDistanceForPush() {
- mHandler.sendEmptyMessageDelayed( ServiceConst.MSG_SCHEDULE_CALCULATE_NOT_HOME_COMPANY_DISTANCE_FOR_PUSH, ServiceConst.INTERVAL_SCHEDULE_CALCULATE_NOT_HOME_COMPANY_DISTANCE_FOR_PUSH );
+ private void scheduleCalculationNotHomeCompanyDistanceForPush( int time, long delay ) {
+ Message msg = Message.obtain();
+ msg.what = ServiceConst.MSG_SCHEDULE_CALCULATE_NOT_HOME_COMPANY_DISTANCE_FOR_PUSH;
+ msg.arg1 = time;
+ mHandler.sendMessageDelayed( msg, delay );
}
/**
* 发起计算导航目的地推送策略
+ *
+ * @param time 第x次重试
*/
- private void handleCalculationNotHomeCompanyDistanceForPush() {
+ private void handleCalculationNotHomeCompanyDistanceForPush( final int time ) {
+ if ( time > 3 ) {
+ return;
+ }
String json = SpStorage.getNavigationTarget();
if ( !TextUtils.isEmpty( json ) ) {
try {
@@ -993,6 +1007,9 @@ public class MogoServices implements IMogoMapListener,
@Override
public void onError( Throwable e ) {
super.onError( e );
+ Logger.d( TAG, "re scheduleCalculationNotHomeCompanyDistanceForPush after 30s" );
+ // 延时30s重试
+ scheduleCalculationNotHomeCompanyDistanceForPush( time + 1, 30_000L );
}
@Override
@@ -1006,4 +1023,9 @@ public class MogoServices implements IMogoMapListener,
}
}
+
+ @Override
+ public void destroy() {
+ Logger.d( TAG, "MogoServices do nothings." );
+ }
}
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/OnlineCarPanelIntentHandler.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/OnlineCarPanelIntentHandler.java
index e48297bf71..0fc9085e6d 100644
--- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/OnlineCarPanelIntentHandler.java
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/intent/OnlineCarPanelIntentHandler.java
@@ -3,7 +3,10 @@ package com.mogo.module.service.intent;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
+import android.text.TextUtils;
+import com.mogo.commons.storage.SpStorage;
+import com.mogo.commons.voice.AIAssist;
import com.mogo.module.service.MarkerServiceHandler;
public
@@ -17,6 +20,12 @@ class OnlineCarPanelIntentHandler implements IntentHandler {
@Override
public void handle( Context context, Intent intent ) {
+ String json = SpStorage.getNavigationTarget();
+ if ( TextUtils.isEmpty( json ) ) {
+ AIAssist.getInstance( context ).speakTTSVoice( "没有导航目的地" );
+ return;
+ }
+ AIAssist.getInstance( context ).speakTTSVoice( "正在查询" );
if ( MarkerServiceHandler.getMogoStatusManager().isMainPageOnResume() ) {
MarkerServiceHandler.getApis().getOnlineCarPanelApi().showPanel();
} else {
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/launchercard/LauncherCardRefresher.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/launchercard/LauncherCardRefresher.java
index ceee0204a2..42614860ee 100644
--- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/launchercard/LauncherCardRefresher.java
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/launchercard/LauncherCardRefresher.java
@@ -76,6 +76,11 @@ class LauncherCardRefresher {
*/
private int mDefaultConfigCounter = 0;
+ /**
+ * 事件/车友播报次数
+ */
+ private int mMsgExplorerWayOrOnlineCarDataCounter = 0;
+
/**
* 因为缓存ticket失效导致失败的情况,需要重新请求ticket然后再次获取数据,这里重试3次
*/
@@ -151,18 +156,18 @@ class LauncherCardRefresher {
private ZhidaoRefreshModel mZhidaoRefreshModel;
private LauncherCardRefreshStrategy mExplorerWayOrOnlineCarDataStrategy = new LauncherCardRefreshStrategy(
- 40 * ONE_MINUTE,null, MSG_EXPLORER_WAY_OR_ONLINE_CAR_DATA
+ 40 * ONE_MINUTE, null, MSG_EXPLORER_WAY_OR_ONLINE_CAR_DATA
);
private LauncherCardRefreshStrategy mInduceStrategy = new LauncherCardRefreshStrategy(
- 3 * ONE_MINUTE,mExplorerWayOrOnlineCarDataStrategy, MSG_INDUCE
+ 3 * ONE_MINUTE, mExplorerWayOrOnlineCarDataStrategy, MSG_INDUCE
);
private LauncherCardRefreshStrategy mLauncherCardConfigStrategy = new LauncherCardRefreshStrategy(
- 2 * ONE_MINUTE,mInduceStrategy, MSG_REFRESH_DEFAULT_CARD
+ 2 * ONE_MINUTE, mInduceStrategy, MSG_REFRESH_DEFAULT_CARD
);
private LauncherCardRefreshStrategy mRefreshStrategy = mLauncherCardConfigStrategy;
public void start() {
- if ( DebugConfig.isLauncher() || DebugConfig.getCarMachineType() == DebugConfig.CAR_MACHINE_TYPE_BYD ) {
+ if ( !DebugConfig.isIsSupportLauncherCardRefreshStrategy() ) {
return;
}
if ( mStart ) {
@@ -172,6 +177,7 @@ class LauncherCardRefresher {
mLaunchTTSText = mContext.getString( R.string.module_service_open_app_tip );
mDefaultConfigCounter = 0;
mRefreshTicketCounter = 0;
+ mMsgExplorerWayOrOnlineCarDataCounter = 0;
mRefreshStrategy = mLauncherCardConfigStrategy;
// 延时加载数据,已保证accOn之后网络恢复正常
long delay = ONE_MINUTE;
@@ -238,6 +244,10 @@ class LauncherCardRefresher {
restart();
return;
}
+ mMsgExplorerWayOrOnlineCarDataCounter++;
+ if ( mMsgExplorerWayOrOnlineCarDataCounter > 2 ) {
+ return;
+ }
MogoLatLng latLng = new MogoLatLng( location.getLatitude(), location.getLongitude() );
handleRefreshExplorerWayOrOnlineCarData( latLng, mRefreshStrategy.getType() );
}
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java
index eccbd1b862..b939bf045c 100644
--- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java
@@ -3,6 +3,7 @@ package com.mogo.module.service.marker;
import android.content.Context;
import android.graphics.Rect;
import android.text.TextUtils;
+import android.util.Log;
import android.view.animation.AccelerateInterpolator;
import android.view.animation.LinearInterpolator;
@@ -16,6 +17,7 @@ import com.mogo.map.marker.MogoMarkerOptions;
import com.mogo.map.marker.anim.OnMarkerAnimationListener;
import com.mogo.map.uicontroller.EnumMapUI;
import com.mogo.module.common.ModuleNames;
+import com.mogo.module.common.api.CallChatApi;
import com.mogo.module.common.entity.MarkerCarPois;
import com.mogo.module.common.entity.MarkerCardResult;
import com.mogo.module.common.entity.MarkerExploreWay;
@@ -190,6 +192,12 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
mogoMarker.setInfoWindowAdapter( UserDataMarkerInfoWindowAdapter.getInstance( mContext ) );
mogoMarker.showInfoWindow();
Logger.d( TAG, "打开info window" );
+// try {
+// MarkerOnlineCar onlineCar = ( MarkerOnlineCar ) ( ( MarkerShowEntity ) mogoMarker.getObject() ).getBindObj();
+// CallChatApi.getInstance().showUserWindow( mContext, onlineCar );
+// } catch ( Exception e ) {
+// Logger.e( TAG, e, "openMarker" );
+// }
}
} else {
Object object = mogoMarker.getObject();
@@ -792,7 +800,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
}
Logger.d( TAG, "内部 - 请求开始" );
- mRefreshModel.queryOnLineCarWithRoute( latLng, onlyFocus, onlySameCity, radius, limit,false, new RefreshCallback() {
+ mRefreshModel.queryOnLineCarWithRoute( latLng, onlyFocus, onlySameCity, radius, limit, false, new RefreshCallback() {
@Override
public void onSuccess( Object o ) {
MarkerResponse data = ( MarkerResponse ) o;
@@ -977,7 +985,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
return;
}
if ( mLastDataResult != null ) {
- runOnTargetThread( ()->{
+ runOnTargetThread( () -> {
MarkerServiceHandler.getMarkerManager().removeMarkers( ModuleNames.CARD_TYPE_ROAD_CONDITION );
drawMarkerByCurrentType( mLastDataResult );
mLastCheckMarker = null;
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshModel.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshModel.java
index 356ec9bfac..fa93ca300a 100644
--- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshModel.java
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshModel.java
@@ -198,6 +198,14 @@ public class RefreshModel {
}
}
+ @Override
+ public void onError( Throwable e ) {
+ super.onError( e );
+ if ( callback != null ) {
+ callback.onFail();
+ }
+ }
+
@Override
public void onError( String message, int code ) {
super.onError( message, code );
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/onlinecar/panel/OnlineCarPanelAdapter.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/onlinecar/panel/OnlineCarPanelAdapter.java
index 9a6c35a81f..55da33b57a 100644
--- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/onlinecar/panel/OnlineCarPanelAdapter.java
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/onlinecar/panel/OnlineCarPanelAdapter.java
@@ -12,6 +12,7 @@ import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.request.RequestOptions;
import com.mogo.map.location.MogoLocation;
import com.mogo.module.common.MogoApisHandler;
+import com.mogo.module.common.api.CallChatApi;
import com.mogo.module.common.entity.MarkerLocation;
import com.mogo.module.common.entity.MarkerOnlineCar;
import com.mogo.module.common.glide.SkinAbleBitmapTarget;
@@ -21,6 +22,7 @@ import com.mogo.module.service.Utils;
import com.mogo.utils.ResourcesHelper;
import com.mogo.utils.WindowUtils;
import com.mogo.utils.glide.GlideApp;
+import com.mogo.utils.logger.Logger;
import java.util.List;
@@ -32,6 +34,8 @@ import java.util.List;
*/
class OnlineCarPanelAdapter extends RecyclerView.Adapter< OnlineCarPanelAdapter.VH > {
+ private static final String TAG = "OnlineCarPanelAdapter";
+
private List< MarkerOnlineCar > mDatums;
private double mToLon;
private double mToLat;
@@ -89,6 +93,11 @@ class OnlineCarPanelAdapter extends RecyclerView.Adapter< OnlineCarPanelAdapter.
distance.setText( content );
detail.setOnClickListener( view -> {
MogoApisHandler.getInstance().getApis().getAnalyticsApi().track( "Mogoer_List_click", null );
+ try {
+ CallChatApi.getInstance().showUserWindow( itemView.getContext(), car );
+ } catch ( Exception e ) {
+ Logger.e( TAG, e, "detail.OnClick" );
+ }
} );
}
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/onlinecar/panel/OnlineCarPanelFragment.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/onlinecar/panel/OnlineCarPanelFragment.java
index 9a35ffedcd..0975324f90 100644
--- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/onlinecar/panel/OnlineCarPanelFragment.java
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/onlinecar/panel/OnlineCarPanelFragment.java
@@ -113,6 +113,7 @@ public class OnlineCarPanelFragment extends MvpFragment< IOnlineCarPanelView, On
mRefreshPanel.setVisibility( View.VISIBLE );
mLoading.setVisibility( View.GONE );
+ AIAssist.getInstance( getContext() ).speakTTSVoice( "未找到车友" );
if ( strategy == null ) {
m20KMStrategy.setVisibility( View.GONE );
m40KMStrategy.setVisibility( View.GONE );
diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_services_online_car_panel_background.9.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_services_online_car_panel_background.9.png
index d4a8803684..b3149721b1 100644
Binary files a/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_services_online_car_panel_background.9.png and b/modules/mogo-module-service/src/main/res/drawable-xhdpi/module_services_online_car_panel_background.9.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable/module_services_online_car_panel_background.9.png b/modules/mogo-module-service/src/main/res/drawable/module_services_online_car_panel_background.9.png
index 80ab4b841f..f19ee05db1 100644
Binary files a/modules/mogo-module-service/src/main/res/drawable/module_services_online_car_panel_background.9.png and b/modules/mogo-module-service/src/main/res/drawable/module_services_online_car_panel_background.9.png differ
diff --git a/modules/mogo-module-service/src/main/res/drawable/module_services_panel_item_detail_bkg.xml b/modules/mogo-module-service/src/main/res/drawable/module_services_panel_item_detail_bkg.xml
index 536a7a8e09..9a503568e3 100644
--- a/modules/mogo-module-service/src/main/res/drawable/module_services_panel_item_detail_bkg.xml
+++ b/modules/mogo-module-service/src/main/res/drawable/module_services_panel_item_detail_bkg.xml
@@ -2,7 +2,7 @@
-
-
+
diff --git a/modules/mogo-module-service/src/main/res/layout/module_services_fragment_online_car_panel.xml b/modules/mogo-module-service/src/main/res/layout/module_services_fragment_online_car_panel.xml
index 9fa4b9aafb..04abbaae72 100644
--- a/modules/mogo-module-service/src/main/res/layout/module_services_fragment_online_car_panel.xml
+++ b/modules/mogo-module-service/src/main/res/layout/module_services_fragment_online_car_panel.xml
@@ -17,7 +17,8 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/module_services_online_car_panel_close_margin_top"
- android:text="目的地车友"
+ android:textStyle="bold"
+ android:text="@string/module_services_online_car_panel_title"
android:textColor="@color/module_services_online_car_panel_title_textColor"
android:textSize="@dimen/module_services_online_car_panel_title_text_size" />
@@ -35,10 +36,10 @@
android:layout_height="43dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
- android:indeterminateTint="#256BFF"
- app:layout_constraintEnd_toEndOf="parent"
android:layout_gravity="center"
+ android:indeterminateTint="#256BFF"
android:visibility="gone"
+ app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="parent"
app:layout_constraintTop_toTopOf="parent"
@@ -57,6 +58,7 @@
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
+ tools:visibility="visible"
android:visibility="gone">
+ android:text="@string/module_services_error_text"
+ android:textColor="@color/module_services_error_textColor"
+ android:textSize="@dimen/module_services_empty_tip_textSize" />
\ No newline at end of file
diff --git a/modules/mogo-module-service/src/main/res/values/colors.xml b/modules/mogo-module-service/src/main/res/values/colors.xml
index f770bfe69f..aa88d40e7f 100644
--- a/modules/mogo-module-service/src/main/res/values/colors.xml
+++ b/modules/mogo-module-service/src/main/res/values/colors.xml
@@ -8,4 +8,5 @@
#FFFFFF
#3081A4DC
#B2FFFFFF
+ #FFFFFF
\ No newline at end of file
diff --git a/modules/mogo-module-service/src/main/res/values/strings.xml b/modules/mogo-module-service/src/main/res/values/strings.xml
index 020e4b9121..13b65ec18f 100644
--- a/modules/mogo-module-service/src/main/res/values/strings.xml
+++ b/modules/mogo-module-service/src/main/res/values/strings.xml
@@ -9,4 +9,6 @@
距离导航目的地
查看车友信息
很抱歉,目的地%dKM内未找到车友
+ 目的地车友
+ 加载失败,请点击重试
diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XBaseViewHolder.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XBaseViewHolder.java
index aca82b125c..daf41e1b83 100644
--- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XBaseViewHolder.java
+++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XBaseViewHolder.java
@@ -1,15 +1,19 @@
package com.mogo.module.v2x.adapter.holder;
+import android.content.Intent;
+import android.util.Log;
import android.view.View;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
+import com.alibaba.android.arouter.launcher.ARouter;
import com.mogo.commons.voice.AIAssist;
import com.mogo.map.MogoLatLng;
import com.mogo.map.navi.IMogoNaviListener;
import com.mogo.map.navi.MogoNaviInfo;
import com.mogo.map.navi.MogoTraffic;
+import com.mogo.module.carchattingprovider.ICarsChattingProvider;
import com.mogo.module.common.entity.MarkerExploreWay;
import com.mogo.module.common.entity.MarkerLocation;
import com.mogo.module.v2x.V2XConst;
@@ -20,6 +24,10 @@ import com.mogo.module.v2x.utils.TrackUtils;
import com.mogo.module.v2x.utils.V2XUtils;
import com.mogo.utils.TipToast;
import com.mogo.utils.logger.Logger;
+import com.zhidao.carchattingprovider.CallChattingProviderConstant;
+import com.zhidao.carchattingprovider.MogoDriverInfo;
+
+import java.util.HashMap;
import static com.mogo.module.v2x.V2XConst.MODULE_NAME;
@@ -32,6 +40,9 @@ public abstract class V2XBaseViewHolder
extends RecyclerView.ViewHolder
implements IMogoNaviListener {
+ private static final String TAG = "V2XBaseViewHolder";
+ private ICarsChattingProvider mCarsChattingProvider;
+
public V2XBaseViewHolder(@NonNull View itemView) {
super(itemView);
}
@@ -72,6 +83,28 @@ public abstract class V2XBaseViewHolder
delayedCloseWindow();
}
+ public void triggerIVReportHead(MarkerExploreWay noveltyInfo) {
+ Log.d(TAG,"点击头像"+mCarsChattingProvider);
+ try {
+ mCarsChattingProvider = (ICarsChattingProvider) ARouter.getInstance().build(CallChattingProviderConstant.CAR_CALL_PROVIDER).navigation();
+ MogoDriverInfo mogoDriverInfo = new MogoDriverInfo();
+ int ageNumber = noveltyInfo.getUserInfo().getAgeNumber();
+ mogoDriverInfo.setAge(ageNumber);
+ String gender = noveltyInfo.getUserInfo().getGender();
+ mogoDriverInfo.setGender(gender != null ? gender:null);
+ String sn = noveltyInfo.getUserInfo().getSn();
+ mogoDriverInfo.setSn(sn != null ? sn:"");
+ String name = noveltyInfo.getUserInfo().getUserName();
+ mogoDriverInfo.setUserName(name != null ? name:"");
+ mogoDriverInfo.setUserHead(noveltyInfo.getUserInfo().getUserHead());
+ mCarsChattingProvider.showUserWindow(MODULE_NAME, mogoDriverInfo, this.itemView.getContext());
+
+ } catch (Exception e) {
+ Log.d(TAG,"点击头像发生错误--triggerIVReportHead"+e);
+ e.printStackTrace();
+ }
+ }
+
/**
* 打电话
*/
@@ -160,6 +193,7 @@ public abstract class V2XBaseViewHolder
delayedCloseWindow();
}
+
/**
* 显示自定义 Toast
*
diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XOtherSeekHelpVH.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XOtherSeekHelpVH.java
index ff0feaf3de..97910f7114 100644
--- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XOtherSeekHelpVH.java
+++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XOtherSeekHelpVH.java
@@ -54,7 +54,6 @@ public class V2XOtherSeekHelpVH extends V2XBaseViewHolder {
// 上传事件的用户信息
private MarkerUserInfo mUserInfo = new MarkerUserInfo();
-
// 语音控制导航
private V2XVoiceCallbackListener mNaviCb = (command, intent) -> triggerStartNavi(mNoveltyInfo);
// 语音控制拨打电话
@@ -66,6 +65,8 @@ public class V2XOtherSeekHelpVH extends V2XBaseViewHolder {
e.printStackTrace();
}
};
+ // 查看车辆信息
+ private V2XVoiceCallbackListener mVoiceOpenCarInfoLis = ((command, intent) -> triggerIVReportHead(mNoveltyInfo));
public V2XOtherSeekHelpVH(ViewGroup viewGroup) {
super(LayoutInflater.from(viewGroup.getContext())
@@ -95,7 +96,9 @@ public class V2XOtherSeekHelpVH extends V2XBaseViewHolder {
.registerWakeCmd(V2XVoiceConstants.COMMAND_ZHIDAO_V2X_CALL_CHATTING,
mCallChartingCb)
.registerUnWakeVoice(V2XVoiceConstants.COMMAND_V2X_TO_CHAT_MORE_UN_WAKEUP,
- mCallChartingCb);
+ mCallChartingCb)
+ .registerUnWakeVoice(V2XVoiceConstants.COMMAND_ZHIDAO_V2X_OPEN_CAR_INFO_UN_WAKEUP,
+ mVoiceOpenCarInfoLis);
}
@Override
@@ -106,7 +109,8 @@ public class V2XOtherSeekHelpVH extends V2XBaseViewHolder {
.unRegisterWakeCmd(V2XVoiceConstants.COMMAND_ZHIDAO_V2X_NAVI)
.unRegisterUnWakeVoice(V2XVoiceConstants.COMMAND_V2X_TO_NAVI_UN_WAKEUP)
.unRegisterWakeCmd(V2XVoiceConstants.COMMAND_ZHIDAO_V2X_CALL_CHATTING)
- .unRegisterUnWakeVoice(V2XVoiceConstants.COMMAND_V2X_TO_CHAT_MORE_UN_WAKEUP);
+ .unRegisterUnWakeVoice(V2XVoiceConstants.COMMAND_V2X_TO_CHAT_MORE_UN_WAKEUP)
+ .unRegisterUnWakeVoice(V2XVoiceConstants.COMMAND_ZHIDAO_V2X_OPEN_CAR_INFO_UN_WAKEUP);
}
});
}
@@ -130,6 +134,12 @@ public class V2XOtherSeekHelpVH extends V2XBaseViewHolder {
} catch (Exception e) {
e.printStackTrace();
}
+ ivHead.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ triggerIVReportHead(mNoveltyInfo);
+ }
+ });
// 只有自研车机才会 有车聊聊通话
if (DebugConfig.getCarMachineType() == DebugConfig.CAR_MACHINE_TYPE_SELF_INNOVATE) {
diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XRoadEventVH.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XRoadEventVH.java
index aa46a1c0ef..5f24ee6022 100644
--- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XRoadEventVH.java
+++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/adapter/holder/V2XRoadEventVH.java
@@ -48,6 +48,7 @@ import static com.mogo.module.v2x.V2XConst.MODULE_NAME;
* date : 2020/3/11 4:35 PM
* desc : 道路事件详情
* version: 1.0
+ *
* @author donghongyu
*/
public class V2XRoadEventVH extends V2XBaseViewHolder {
@@ -109,6 +110,13 @@ public class V2XRoadEventVH extends V2XBaseViewHolder {
showLiveCar(mV2XEventShowEntity);
}
};
+ // 查看车辆信息
+ private V2XVoiceCallbackListener v2xVoiceOpenCarInfoListener = new V2XVoiceCallbackListener() {
+ @Override
+ public void onCallback(String command, Intent intent) {
+ triggerIVReportHead(mNoveltyInfo);
+ }
+ };
private void init(View itemView) {
ivEventImg = itemView.findViewById(R.id.ivEventImg);
@@ -146,7 +154,9 @@ public class V2XRoadEventVH extends V2XBaseViewHolder {
.registerUnWakeVoice(V2XVoiceConstants.COMMAND_V2X_TO_FEEDBACK_TRUE,
v2XVoiceCallbackReportTrueListener)
.registerUnWakeVoice(V2XVoiceConstants.COMMAND_V2X_TO_FEEDBACK_ERROR,
- v2XVoiceCallbackReportErrorListener);
+ v2XVoiceCallbackReportErrorListener)
+ .registerUnWakeVoice(V2XVoiceConstants.COMMAND_ZHIDAO_V2X_OPEN_CAR_INFO_UN_WAKEUP,
+ v2xVoiceOpenCarInfoListener);
}
@Override
@@ -239,6 +249,10 @@ public class V2XRoadEventVH extends V2XBaseViewHolder {
ivEventZan.setOnClickListener(v -> {
triggerZan(mNoveltyInfo);
});
+
+ ivReportHead.setOnClickListener(v -> {
+ triggerIVReportHead(mNoveltyInfo);
+ });
}
} catch (Exception e) {
e.printStackTrace();
diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/voice/V2XVoiceConstants.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/voice/V2XVoiceConstants.java
index 78aefa1956..74b5b13881 100644
--- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/voice/V2XVoiceConstants.java
+++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/voice/V2XVoiceConstants.java
@@ -225,6 +225,12 @@ public class V2XVoiceConstants {
public static final String COMMAND_ZHIDAO_V2X_OPEN_SHEAR_EVENT_UN_WAKEUP = "COMMAND_ZHIDAO_V2X_OPEN_SHEAR_EVENT_UN_WAKEUP";
public static final String[] COMMAND_ZHIDAO_V2X_OPEN_SHEAR_EVENT_UN_WAKEUP_WORDS = {"我的分享"};
+ /*
+ * 查看车辆信息
+ * */
+ public static final String COMMAND_ZHIDAO_V2X_OPEN_CAR_INFO_UN_WAKEUP = "COMMAND_ZHIDAO_V2X_OPEN_CAR_INFO_UN_WAKEUP";
+ public static final String[] COMMAND_ZHIDAO_V2X_OPEN_CAR_INFO_UN_WAKEUP_UN_WAKEUP_WORDS = {"查看车辆信息"};
+
static {
// 免唤醒 默认
sVoiceCmds.put(COMMAND_V2X_TO_CHAT_MORE_UN_WAKEUP, COMMAND_V2X_TO_CHAT_MORE_UN_WAKEUP_WORDS);
@@ -251,6 +257,7 @@ public class V2XVoiceConstants {
sVoiceCmds.put(COMMAND_ZHIDAO_V2X_OPEN_HISTORY_EVENT_UN_WAKEUP, COMMAND_ZHIDAO_V2X_OPEN_HISTORY_EVENT_UN_WAKEUP_WORDS);
sVoiceCmds.put(COMMAND_ZHIDAO_V2X_OPEN_SURROUNDING_EVENT_UN_WAKEUP, COMMAND_ZHIDAO_V2X_OPEN_SURROUNDING_EVENT_UN_WAKEUP_WORDS);
sVoiceCmds.put(COMMAND_ZHIDAO_V2X_OPEN_SHEAR_EVENT_UN_WAKEUP, COMMAND_ZHIDAO_V2X_OPEN_SHEAR_EVENT_UN_WAKEUP_WORDS);
+ sVoiceCmds.put(COMMAND_ZHIDAO_V2X_OPEN_CAR_INFO_UN_WAKEUP, COMMAND_ZHIDAO_V2X_OPEN_CAR_INFO_UN_WAKEUP_UN_WAKEUP_WORDS);
//默认
diff --git a/modules/mogo-module-widgets/src/main/java/com/mogo/module/widgets/MogoWidgetManger.java b/modules/mogo-module-widgets/src/main/java/com/mogo/module/widgets/MogoWidgetManger.java
index ab99a79fd5..0032be1ef0 100644
--- a/modules/mogo-module-widgets/src/main/java/com/mogo/module/widgets/MogoWidgetManger.java
+++ b/modules/mogo-module-widgets/src/main/java/com/mogo/module/widgets/MogoWidgetManger.java
@@ -83,7 +83,6 @@ class MogoWidgetManger implements IMogoNaviListener2, IMogoIntentListener, IMogo
@Override
public void onStopNavi() {
- SpStorage.setNavigationTarget( "" );
AutoNaviIntentHandler.getInstance().closeEntrance();
}
diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/module/IMogoModuleProvider.java b/services/mogo-service-api/src/main/java/com/mogo/service/module/IMogoModuleProvider.java
index 524010759b..fec00c557c 100644
--- a/services/mogo-service-api/src/main/java/com/mogo/service/module/IMogoModuleProvider.java
+++ b/services/mogo-service-api/src/main/java/com/mogo/service/module/IMogoModuleProvider.java
@@ -2,6 +2,7 @@ package com.mogo.service.module;
import android.content.Context;
import android.os.Bundle;
+import android.util.Log;
import android.view.View;
import androidx.annotation.NonNull;
@@ -13,6 +14,8 @@ import com.mogo.map.location.IMogoLocationListener;
import com.mogo.map.marker.IMogoMarkerClickListener;
import com.mogo.map.navi.IMogoNaviListener;
+import java.util.logging.Logger;
+
/**
* @author congtaowang
* @since 2019-12-24
@@ -128,4 +131,8 @@ public interface IMogoModuleProvider extends IProvider {
default String getAppName() {
return "";
}
+
+ default void onDestroy(){
+ Log.d( "IMogoModuleProvider", "onDestroy" );
+ }
}
diff --git a/skin/mogo-skin-light/src/main/module-commons-res/drawable-xhdpi/module_common_default_user_head_light.png b/skin/mogo-skin-light/src/main/module-commons-res/drawable-xhdpi/module_common_default_user_head_light.png
new file mode 100644
index 0000000000..eb26174ed6
Binary files /dev/null and b/skin/mogo-skin-light/src/main/module-commons-res/drawable-xhdpi/module_common_default_user_head_light.png differ
diff --git a/skin/mogo-skin-light/src/main/module-commons-res/drawable/module_common_default_user_head_light.png b/skin/mogo-skin-light/src/main/module-commons-res/drawable/module_common_default_user_head_light.png
new file mode 100644
index 0000000000..21805b2ff7
Binary files /dev/null and b/skin/mogo-skin-light/src/main/module-commons-res/drawable/module_common_default_user_head_light.png differ
diff --git a/skin/mogo-skin-light/src/main/module-main-res/drawable/module_main_dw_left_frame_bkg_light.xml b/skin/mogo-skin-light/src/main/module-main-res/drawable/module_main_dw_left_frame_bkg_light.xml
index f3c8c592ef..8127025226 100644
--- a/skin/mogo-skin-light/src/main/module-main-res/drawable/module_main_dw_left_frame_bkg_light.xml
+++ b/skin/mogo-skin-light/src/main/module-main-res/drawable/module_main_dw_left_frame_bkg_light.xml
@@ -2,7 +2,7 @@
-
-
+
\ No newline at end of file
diff --git a/skin/mogo-skin-light/src/main/module-services-res/drawable-mdpi/module_services_close_light.png b/skin/mogo-skin-light/src/main/module-services-res/drawable-mdpi/module_services_close_light.png
new file mode 100755
index 0000000000..d25aa13032
Binary files /dev/null and b/skin/mogo-skin-light/src/main/module-services-res/drawable-mdpi/module_services_close_light.png differ
diff --git a/skin/mogo-skin-light/src/main/module-services-res/drawable-mdpi/module_services_online_car_panel_background_light.9.png b/skin/mogo-skin-light/src/main/module-services-res/drawable-mdpi/module_services_online_car_panel_background_light.9.png
new file mode 100644
index 0000000000..36ea7d6655
Binary files /dev/null and b/skin/mogo-skin-light/src/main/module-services-res/drawable-mdpi/module_services_online_car_panel_background_light.9.png differ
diff --git a/skin/mogo-skin-light/src/main/module-services-res/drawable-mdpi/module_services_online_car_panel_empty_icon_light.png b/skin/mogo-skin-light/src/main/module-services-res/drawable-mdpi/module_services_online_car_panel_empty_icon_light.png
new file mode 100644
index 0000000000..8fd26c2843
Binary files /dev/null and b/skin/mogo-skin-light/src/main/module-services-res/drawable-mdpi/module_services_online_car_panel_empty_icon_light.png differ
diff --git a/skin/mogo-skin-light/src/main/module-services-res/drawable-xhdpi/module_services_close_light.png b/skin/mogo-skin-light/src/main/module-services-res/drawable-xhdpi/module_services_close_light.png
new file mode 100755
index 0000000000..cbf14c5566
Binary files /dev/null and b/skin/mogo-skin-light/src/main/module-services-res/drawable-xhdpi/module_services_close_light.png differ
diff --git a/skin/mogo-skin-light/src/main/module-services-res/drawable-xhdpi/module_services_online_car_panel_background_light.9.png b/skin/mogo-skin-light/src/main/module-services-res/drawable-xhdpi/module_services_online_car_panel_background_light.9.png
new file mode 100644
index 0000000000..51a1e27744
Binary files /dev/null and b/skin/mogo-skin-light/src/main/module-services-res/drawable-xhdpi/module_services_online_car_panel_background_light.9.png differ
diff --git a/skin/mogo-skin-light/src/main/module-services-res/drawable-xhdpi/module_services_online_car_panel_empty_icon_light.png b/skin/mogo-skin-light/src/main/module-services-res/drawable-xhdpi/module_services_online_car_panel_empty_icon_light.png
new file mode 100644
index 0000000000..5307df4308
Binary files /dev/null and b/skin/mogo-skin-light/src/main/module-services-res/drawable-xhdpi/module_services_online_car_panel_empty_icon_light.png differ
diff --git a/skin/mogo-skin-light/src/main/module-services-res/drawable/module_services_close_light.png b/skin/mogo-skin-light/src/main/module-services-res/drawable/module_services_close_light.png
new file mode 100755
index 0000000000..d25aa13032
Binary files /dev/null and b/skin/mogo-skin-light/src/main/module-services-res/drawable/module_services_close_light.png differ
diff --git a/skin/mogo-skin-light/src/main/module-services-res/drawable/module_services_online_car_panel_background_light.9.png b/skin/mogo-skin-light/src/main/module-services-res/drawable/module_services_online_car_panel_background_light.9.png
new file mode 100644
index 0000000000..5ff5526ff8
Binary files /dev/null and b/skin/mogo-skin-light/src/main/module-services-res/drawable/module_services_online_car_panel_background_light.9.png differ
diff --git a/skin/mogo-skin-light/src/main/module-services-res/drawable/module_services_online_car_panel_empty_icon_light.png b/skin/mogo-skin-light/src/main/module-services-res/drawable/module_services_online_car_panel_empty_icon_light.png
new file mode 100644
index 0000000000..8fd26c2843
Binary files /dev/null and b/skin/mogo-skin-light/src/main/module-services-res/drawable/module_services_online_car_panel_empty_icon_light.png differ
diff --git a/skin/mogo-skin-light/src/main/module-services-res/drawable/module_services_panel_item_bkg_light.xml b/skin/mogo-skin-light/src/main/module-services-res/drawable/module_services_panel_item_bkg_light.xml
new file mode 100644
index 0000000000..d126dfc22a
--- /dev/null
+++ b/skin/mogo-skin-light/src/main/module-services-res/drawable/module_services_panel_item_bkg_light.xml
@@ -0,0 +1,9 @@
+
+
+ -
+
+
+
+
+
+
\ No newline at end of file
diff --git a/skin/mogo-skin-light/src/main/module-services-res/drawable/module_services_panel_item_detail_bkg_light.xml b/skin/mogo-skin-light/src/main/module-services-res/drawable/module_services_panel_item_detail_bkg_light.xml
new file mode 100644
index 0000000000..1b3b50d65e
--- /dev/null
+++ b/skin/mogo-skin-light/src/main/module-services-res/drawable/module_services_panel_item_detail_bkg_light.xml
@@ -0,0 +1,9 @@
+
+
+ -
+
+
+
+
+
+
\ No newline at end of file
diff --git a/skin/mogo-skin-light/src/main/module-services-res/drawable/module_services_panel_strategy_button_bkg_light.xml b/skin/mogo-skin-light/src/main/module-services-res/drawable/module_services_panel_strategy_button_bkg_light.xml
new file mode 100644
index 0000000000..89337d1c80
--- /dev/null
+++ b/skin/mogo-skin-light/src/main/module-services-res/drawable/module_services_panel_strategy_button_bkg_light.xml
@@ -0,0 +1,9 @@
+
+
+ -
+
+
+
+
+
+
\ No newline at end of file
diff --git a/skin/mogo-skin-light/src/main/module-services-res/values/colors.xml b/skin/mogo-skin-light/src/main/module-services-res/values/colors.xml
index 823423c2f2..500c03d588 100644
--- a/skin/mogo-skin-light/src/main/module-services-res/values/colors.xml
+++ b/skin/mogo-skin-light/src/main/module-services-res/values/colors.xml
@@ -1,4 +1,14 @@
#333333
+ #FF333333
+ #B2333333
+ #FF333333
+ #333333
+
+ #333333
+ #333333
+ #666666
+
+ #81A4DC