Merge remote-tracking branch 'origin/feature/v1.0.2' into feature/v1.0.2

This commit is contained in:
zhangyuanzhen
2020-03-17 21:35:28 +08:00
16 changed files with 176 additions and 70 deletions

View File

@@ -53,7 +53,6 @@ dependencies {
implementation rootProject.ext.dependencies.mogocommons
implementation rootProject.ext.dependencies.mogoserviceapi
implementation rootProject.ext.dependencies.modulecommon
implementation rootProject.ext.dependencies.moduleshare
} else {
implementation project(":libraries:mogo-map")
implementation project(":libraries:mogo-map-api")
@@ -61,7 +60,6 @@ dependencies {
implementation project(":foudations:mogo-commons")
implementation project(':services:mogo-service-api')
implementation project(':modules:mogo-module-common')
implementation project(':modules:mogo-module-share')
}
}

View File

@@ -117,6 +117,10 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
provider = mCardModulesAdapter.getProvider( mCurrentPosition );
mMogoModuleHandler.setModuleEnable( provider.getModuleName() );
mMogoCardManager.invoke( position, mMogoModuleHandler.getCurrentModuleName() );
mMogoStatusManager.setUserInteractionStatus( TAG, true, false );
mMogoMapUIController.setLockZoom( 16 );
mMogoMapUIController.recoverLockMode();
} catch ( Exception e ) {
e.printStackTrace();
}
@@ -220,8 +224,6 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
public void loadModules() {
final long start = System.currentTimeMillis();
getWindow().setBackgroundDrawable( null );
MogoModulePaths.addModule( new MogoModule( ServiceConst.PATH_REFRESH_STRATEGY, ServiceConst.PATH_REFRESH_STRATEGY ) );
mMogoModuleHandler = new MogoModulesManager( this );
@@ -240,11 +242,11 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
loadContainerModules();
mMogoModuleHandler.loadModules();
mPresenter.delayOperations();
hideCoverUpLayout();
// 显示左边遮罩
mLeftShadowFrame.setVisibility( View.VISIBLE );
mTopShadowFrame.setVisibility( View.VISIBLE );
mCardsBkg.setVisibility( View.VISIBLE );
// 右移地图中心点
mMogoMapUIController = mMogoMapService.getMapUIController();
@@ -293,6 +295,8 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
@Override
public void hideCoverUpLayout() {
mCoverUpLayout.setVisibility( View.GONE );
mCardsBkg.setVisibility( View.VISIBLE );
mCardCoverUpBottomLayout.setVisibility( View.VISIBLE );
}
@Override
@@ -303,8 +307,6 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
mCardsContainer.setOffscreenPageLimit( providers.size() );
//mCardsContainer.setPageTransformer( true, mTransformer );
mCardsContainer.setAdapter( mCardModulesAdapter );
mCardCoverUpBottomLayout.setVisibility( View.VISIBLE );
}
@NonNull

View File

@@ -116,7 +116,7 @@ public class MainPresenter extends Presenter< MainView > {
*/
public void delayOperations() {
mMsgHandler.sendEmptyMessageDelayed( MainConstants.MSG_LOAD_CARD_MODULES, 100L );
mMsgHandler.sendEmptyMessageDelayed( MainConstants.MSG_HIDE_MAP_COVER_FRAME, 0L );
mMsgHandler.sendEmptyMessageDelayed( MainConstants.MSG_HIDE_MAP_COVER_FRAME, 150L );
}
public void postTrackLastCardShowEvent( IMogoModuleProvider provider ) {

View File

@@ -15,14 +15,14 @@
android:layout_width="match_parent"
android:layout_height="@dimen/module_main_top_shadow_height"
android:background="@drawable/module_main_dw_top_frame_bkg"
android:visibility="invisible" />
android:visibility="gone" />
<FrameLayout
android:id="@+id/module_main_id_map_left_shadow_frame"
android:layout_width="@dimen/module_main_map_shadow_frame_width"
android:layout_height="match_parent"
android:background="@drawable/module_main_dw_left_frame_bkg"
android:visibility="invisible" />
android:visibility="gone" />
<FrameLayout
android:id="@+id/module_main_id_header_fragment_container"
@@ -67,6 +67,7 @@
android:layout_marginTop="@dimen/cards_container_dp_600"
android:layout_marginLeft="@dimen/dp_64"
android:layout_marginRight="@dimen/dp_64"
android:visibility="invisible"
android:background="@drawable/module_main_card_cover_up_bottom"
/>

View File

@@ -11,6 +11,7 @@
<item name="android:windowTranslucentNavigation">false</item>
<item name="android:windowAnimationStyle">@style/MainAnimation</item>
<item name="checkboxStyle">@style/noCheckboxStyle</item>
<item name="android:windowFullscreen">false</item>
<item name="radioButtonStyle">@style/noCheckboxStyle</item>
</style>

View File

@@ -25,6 +25,7 @@ import com.mogo.service.module.IMogoSearchManager;
import com.mogo.service.voice.IMogoVoiceListener;
import com.mogo.service.voice.IMogoVoiceManager;
import com.mogo.utils.ResourcesHelper;
import com.mogo.utils.UiThreadHandler;
import com.mogo.utils.WindowUtils;
import com.mogo.utils.logger.Logger;
@@ -71,7 +72,11 @@ public class MapPresenter extends Presenter<MapView> implements
mView.getUIController().setTrafficEnabled(opera_type == 0);
} else if (type == 1) {
mView.getUIController().changeZoom(opera_type == 0);
mMogoMapService.getMapUIController().recoverLockMode();//缩放地图会导致锁车发生改变,这里强制锁车
UiThreadHandler.postDelayed( ()->{
int lockZoomLevel = opera_type == 0 ? ( ( int ) mView.getUIController().getZoomLevel() ) : ( ( int ) (mView.getUIController().getZoomLevel() + 0.5 ));
mView.getUIController().setLockZoom( lockZoomLevel );
mMogoMapService.getMapUIController().recoverLockMode();//缩放地图会导致锁车发生改变,这里强制锁车
}, 1_000 );
} else if (type == 2) {
if (opera_type == 0) {
mView.getUIController().changeMapMode(EnumMapUI.CarUp_2D);

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 ) {