This commit is contained in:
wangcongtao
2020-03-17 21:26:10 +08:00
parent 931ca69902
commit fde6a13651
15 changed files with 175 additions and 69 deletions

View File

@@ -301,6 +301,7 @@ public class MogoServices implements IMogoMapListener,
mIntentManager.registerIntentListener( ServiceConst.COMMAND_SWITCH_CARD, this );
mIntentManager.registerIntentListener( MogoReceiver.ACTION_ADAS_STATUS, this );
mIntentManager.registerIntentListener( ServiceConst.COMMAND_OPERATION, this );
mIntentManager.registerIntentListener( MogoReceiver.ACTION_VOICE_READY, this );
mADASController = apis.getAdasControllerApi();
mLauncher = apis.getLauncherApi();
@@ -362,6 +363,7 @@ public class MogoServices implements IMogoMapListener,
// 小智语音
filter.addAction( MogoReceiver.ACTION_VOICE_UI );
filter.addAction( MogoReceiver.ACTION_ADAS_STATUS );
filter.addAction( MogoReceiver.ACTION_VOICE_READY );
try {
context.getApplicationContext().registerReceiver( mAIAssistReceiver, filter );
Logger.i( TAG, "register voice receiver." );
@@ -786,6 +788,8 @@ public class MogoServices implements IMogoMapListener,
} catch ( JSONException e ) {
e.printStackTrace();
}
} else if( MogoReceiver.ACTION_VOICE_READY.equals( command ) ){
AIAssist.getInstance( mContext ).flush();
}
}

View File

@@ -107,7 +107,10 @@ public class MogoActionHandler implements IMogoActionManager {
@Override
public void bizInvoke( String biz, int position, Object data ) {
if ( mBizActionDoneListener != null ) {
mBizActionDoneListener.onBizActionDone( biz, position, data );
try {
mBizActionDoneListener.onBizActionDone( biz, position, data );
} catch ( Exception e ) {
}
}
}
}
}

View File

@@ -30,6 +30,7 @@ import com.mogo.service.cardmanager.IMogoCardChangedListener;
import com.mogo.service.connection.IMogoOnMessageListener;
import com.mogo.service.module.IMogoBizActionDoneListener;
import com.mogo.utils.ThreadPoolService;
import com.mogo.utils.UiThreadHandler;
import com.mogo.utils.logger.Logger;
import org.json.JSONArray;
@@ -342,7 +343,9 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
// 解析不同的Marker类型然后对应的进行绘制
mLastDataResult = response.getResult();
dispatchDataToBiz();
UiThreadHandler.post( () -> {
dispatchDataToBiz();
} );
// 语音触发的在线车辆搜索,采用增量的形式绘制
if ( mIsAISearchOnlineData = isOnlineCarDataOnly( mLastDataResult ) ) {
@@ -601,9 +604,12 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
List< MarkerShareMusic > shareMusicList = markerCardResult.getShareMusic();
List< MarkerNoveltyInfo > noveltyInfoList = markerCardResult.getNoveltyInfo();
fillNumberTrackEventBody( array, 3, onlineCarList.size() );
fillNumberTrackEventBody( array, 1, exploreWayList.size() );
fillNumberTrackEventBody( array, 4, shareMusicList.size() );
int size = onlineCarList == null ? 0 : onlineCarList.size();
fillNumberTrackEventBody( array, 3, size );
size = exploreWayList == null ? 0 : exploreWayList.size();
fillNumberTrackEventBody( array, 1, size );
size = shareMusicList == null ? 0 : shareMusicList.size();
fillNumberTrackEventBody( array, 4, size );
int num_gas_station = 0;
int num_traffic_check = 0;
@@ -611,28 +617,31 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
int num_shop_discount = 0;
int num_fours_shop = 0;
for ( MarkerNoveltyInfo markerNoveltyInfo : noveltyInfoList ) {
if ( markerNoveltyInfo == null ) {
continue;
}
switch ( markerNoveltyInfo.getPoiType() ) {
case MarkerPoiTypeEnum.GAS_STATION:
num_gas_station++;
break;
case MarkerPoiTypeEnum.TRAFFIC_CHECK:
num_traffic_check++;
break;
case MarkerPoiTypeEnum.ROAD_CLOSED:
num_road_closed++;
break;
case MarkerPoiTypeEnum.SHOP_DISCOUNT:
num_shop_discount++;
break;
case MarkerPoiTypeEnum.FOURS_4S:
num_fours_shop++;
break;
if ( noveltyInfoList != null ) {
for ( MarkerNoveltyInfo markerNoveltyInfo : noveltyInfoList ) {
if ( markerNoveltyInfo == null ) {
continue;
}
switch ( markerNoveltyInfo.getPoiType() ) {
case MarkerPoiTypeEnum.GAS_STATION:
num_gas_station++;
break;
case MarkerPoiTypeEnum.TRAFFIC_CHECK:
num_traffic_check++;
break;
case MarkerPoiTypeEnum.ROAD_CLOSED:
num_road_closed++;
break;
case MarkerPoiTypeEnum.SHOP_DISCOUNT:
num_shop_discount++;
break;
case MarkerPoiTypeEnum.FOURS_4S:
num_fours_shop++;
break;
}
}
}
fillNumberTrackEventBody( array, 2, num_gas_station );
fillNumberTrackEventBody( array, 6, num_road_closed );
fillNumberTrackEventBody( array, 5, num_traffic_check );
@@ -793,9 +802,11 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
IMogoMarkerManager markerManager = MarkerServiceHandler.getMarkerManager();
List< IMogoMarker > markers = markerManager.getMarkers( biz );
if ( markers != null ) {
IMogoMarker marker = markers.get( position );
if ( marker != null ) {
try {
IMogoMarker marker = markers.get( position );
switchMarkerOpenStatus( marker );
} catch ( Exception e ) {
Logger.e( TAG, e, "occur error." );
}
}
}

View File

@@ -50,6 +50,11 @@ public class MogoReceiver extends BroadcastReceiver {
*/
public static final String ACTION_ADAS_STATUS = "com.zhidao.autopilot.adas.msg";
/**
* 小智语音准备就绪
*/
public static final String ACTION_VOICE_READY = "com.zhidao.auto.AIAssist.ready";
private IMogoIntentManager mMogoIntentManager;
public MogoReceiver( Context context ) {