opt: main page, add polyline api, add back to launcher logic; bugfix: map resume when back to mainactivity

This commit is contained in:
wangcongtao
2020-03-10 21:15:46 +08:00
parent b8a10f207d
commit 4d96649d14
24 changed files with 956 additions and 308 deletions

View File

@@ -50,9 +50,9 @@ import java.util.Map;
* <p>
* 描述
*/
public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresenter>
implements EntranceView,
IMogoNaviListener, IMogoMapListener {
public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresenter >
implements EntranceView,
IMogoNaviListener, IMogoMapListener {
private static final String TAG = "EntranceFragment";
@@ -100,37 +100,37 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
@Override
protected void initViews() {
mMogoFragmentManager = (IMogoFragmentManager) ARouter.getInstance()
.build(MogoServicePaths.PATH_FRAGMENT_MANAGER)
.navigation();
mMogoAddressManager = (IMogoAddressManager) ARouter.getInstance()
.build(MogoServicePaths.PATH_ADDRESS_MANAGER)
.navigation();
mCommonAddress = findViewById(R.id.module_entrance_id_common_address);
mSearch = findViewById(R.id.module_entrance_id_search);
mSearch.setOnClickListener(view -> {
mSearchProvider = (IMogoModuleProvider) ARouter.getInstance()
.build(MogoModulePaths.PATH_MODULE_SEARCH)
mMogoFragmentManager = ( IMogoFragmentManager ) ARouter.getInstance()
.build( MogoServicePaths.PATH_FRAGMENT_MANAGER )
.navigation();
mMogoAddressManager = ( IMogoAddressManager ) ARouter.getInstance()
.build( MogoServicePaths.PATH_ADDRESS_MANAGER )
.navigation();
final Fragment fragment = mSearchProvider.createFragment(getContext(), null);
mMogoFragmentManager.push(new FragmentDescriptor.Builder().fragment(fragment)
.tag(MogoModulePaths.PATH_FRAGMENT_SEARCH)
.notifyMainModule(true)
.build());
});
mHome = findViewById(R.id.module_entrance_id_home);
mHome.setOnClickListener(view -> {
mCommonAddress = findViewById( R.id.module_entrance_id_common_address );
mSearch = findViewById( R.id.module_entrance_id_search );
mSearch.setOnClickListener( view -> {
mSearchProvider = ( IMogoModuleProvider ) ARouter.getInstance()
.build( MogoModulePaths.PATH_MODULE_SEARCH )
.navigation();
final Fragment fragment = mSearchProvider.createFragment( getContext(), null );
mMogoFragmentManager.push( new FragmentDescriptor.Builder().fragment( fragment )
.tag( MogoModulePaths.PATH_FRAGMENT_SEARCH )
.notifyMainModule( true )
.build() );
} );
mHome = findViewById( R.id.module_entrance_id_home );
mHome.setOnClickListener( view -> {
mMogoAddressManager.goHome();
});
} );
mCompany = findViewById(R.id.module_entrance_id_company);
mCompany.setOnClickListener(view -> {
mCompany = findViewById( R.id.module_entrance_id_company );
mCompany.setOnClickListener( view -> {
mMogoAddressManager.goCompany();
});
} );
mUploadRoadCondition = findViewById( R.id.module_entrance_id_upload_road_condition );
mUploadRoadCondition.setOnClickListener( view -> {
@@ -141,78 +141,79 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
mVRMode.setOnClickListener( view -> {
} );
mMove2CurrentLocation = findViewById(R.id.module_entrance_id_move2_current_location);
mMove2CurrentLocation.setOnClickListener(view -> {
mMove2CurrentLocation = findViewById( R.id.module_entrance_id_move2_current_location );
mMove2CurrentLocation.setOnClickListener( view -> {
final MogoLocation location = mMogoLocationClient.getLastKnowLocation();
if (location != null) {
mMogoStatusManager.setUserInteractionStatus(TAG, true, false);
mMApUIController.changeZoom(16.0f);
mMogoStatusManager.setUserInteractionStatus(TAG, true, false);
if ( location != null ) {
mMogoStatusManager.setUserInteractionStatus( TAG, true, false );
mMApUIController.changeZoom( 16.0f );
mMogoStatusManager.setUserInteractionStatus( TAG, true, false );
mMApUIController.recoverLockMode();
}
});
} );
mNaviInfo = findViewById(R.id.module_entrance_id_navi_info_panel);
mExitNavi = findViewById(R.id.module_entrance_id_exit_navi);
mExitNavi.setOnClickListener(view -> {
if (mMogoNavi != null) {
mNaviInfo = findViewById( R.id.module_entrance_id_navi_info_panel );
mExitNavi = findViewById( R.id.module_entrance_id_exit_navi );
mExitNavi.setOnClickListener( view -> {
if ( mMogoNavi != null ) {
//if ( mIsLock ) {
NaviNoticeDialog naviNoticeDialog = new NaviNoticeDialog(getContext());
NaviNoticeDialog naviNoticeDialog = new NaviNoticeDialog( getContext() );
naviNoticeDialog.show();
//} else {
// mMApUIController.recoverLockMode();
//}
}
});
} );
ivMode = findViewById(R.id.module_ext_id_north);
ivMode.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
if (ivMode.isSelected()) {
mMApUIController.changeMapMode(EnumMapUI.CarUp_2D);
ivMode = findViewById( R.id.module_ext_id_north );
ivMode.setOnClickListener( new View.OnClickListener() {
@Override
public void onClick( View v ) {
if ( ivMode.isSelected() ) {
mMApUIController.changeMapMode( EnumMapUI.CarUp_2D );
} else {
mMApUIController.changeMapMode(EnumMapUI.NorthUP_2D);
mMApUIController.changeMapMode( EnumMapUI.NorthUP_2D );
}
ivMode.setSelected(!ivMode.isSelected());
ivMode.setSelected( !ivMode.isSelected() );
ivMode.setText(
getString(ivMode.isSelected() ? R.string.mode_car_up : R.string.mode_north_up));
getString( ivMode.isSelected() ? R.string.mode_car_up : R.string.mode_north_up ) );
}
});
} );
mSpeedLimit = findViewById(R.id.module_entrance_id_speed_limit_container);
mSpeedLimitValue = findViewById(R.id.module_entrance_id_speed_limit_value);
mSpeedLimitUnit = findViewById(R.id.module_entrance_id_speed_limit_unit);
mSpeedLimit = findViewById( R.id.module_entrance_id_speed_limit_container );
mSpeedLimitValue = findViewById( R.id.module_entrance_id_speed_limit_value );
mSpeedLimitUnit = findViewById( R.id.module_entrance_id_speed_limit_unit );
}
@NonNull
@Override
protected EntrancePresenter createPresenter() {
return new EntrancePresenter(getContext(), this);
return new EntrancePresenter( getContext(), this );
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
mService = (IMogoMapService) ARouter.getInstance()
.build(MogoServicePaths.PATH_SERVICES_MAP)
.navigation(getContext());
mMogoRegisterCenter = (IMogoRegisterCenter) ARouter.getInstance()
.build(MogoServicePaths.PATH_REGISTER_CENTER)
.navigation(getContext());
public void onActivityCreated( @Nullable Bundle savedInstanceState ) {
super.onActivityCreated( savedInstanceState );
mService = ( IMogoMapService ) ARouter.getInstance()
.build( MogoServicePaths.PATH_SERVICES_MAP )
.navigation( getContext() );
mMogoRegisterCenter = ( IMogoRegisterCenter ) ARouter.getInstance()
.build( MogoServicePaths.PATH_REGISTER_CENTER )
.navigation( getContext() );
mMApUIController = mService.getMapUIController();
mMogoLocationClient = mService.getSingletonLocationClient(getContext());
mMogoNavi = mService.getNavi(getContext());
mAnalytics = (IMogoAnalytics) ARouter.getInstance()
.build(MogoServicePaths.PATH_UTILS_ANALYTICS)
.navigation(getContext());
mMogoStatusManager = (IMogoStatusManager) ARouter.getInstance()
.build(MogoServicePaths.PATH_STATUS_MANAGER)
.navigation(getContext());
mMogoLocationClient = mService.getSingletonLocationClient( getContext() );
mMogoNavi = mService.getNavi( getContext() );
mAnalytics = ( IMogoAnalytics ) ARouter.getInstance()
.build( MogoServicePaths.PATH_UTILS_ANALYTICS )
.navigation( getContext() );
mMogoStatusManager = ( IMogoStatusManager ) ARouter.getInstance()
.build( MogoServicePaths.PATH_STATUS_MANAGER )
.navigation( getContext() );
mMogoRegisterCenter.registerMogoNaviListener(ExtensionsModuleConst.TYPE_ENTRANCE, this);
mMogoRegisterCenter.registerMogoMapListener(ExtensionsModuleConst.TYPE_ENTRANCE, this);
mMogoRegisterCenter.registerMogoNaviListener( ExtensionsModuleConst.TYPE_ENTRANCE, this );
mMogoRegisterCenter.registerMogoMapListener( ExtensionsModuleConst.TYPE_ENTRANCE, this );
mMogoMarkerManager = mService.getMarkerManager(getContext());
mMogoMarkerManager = mService.getMarkerManager( getContext() );
}
@Override
@@ -224,30 +225,30 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
}
@Override
public void onNaviInfoUpdate(MogoNaviInfo naviinfo) {
if (naviinfo == null) {
public void onNaviInfoUpdate( MogoNaviInfo naviinfo ) {
if ( naviinfo == null ) {
return;
}
mNaviInfo.notifyChanged(naviinfo);
mNaviInfo.notifyChanged( naviinfo );
}
@Override
public void onStartNavi() {
mCommonAddress.setVisibility(View.GONE);
mNaviInfo.setVisibility(View.VISIBLE);
ivMode.setVisibility(View.VISIBLE);
mExitNavi.setVisibility(View.VISIBLE);
mMApUIController.setPointToCenter(0.675926, 0.77552);
mCommonAddress.setVisibility( View.GONE );
mNaviInfo.setVisibility( View.VISIBLE );
ivMode.setVisibility( View.VISIBLE );
mExitNavi.setVisibility( View.VISIBLE );
mMApUIController.setPointToCenter( 0.675926, 0.77552 );
}
@Override
public void onStopNavi() {
mCommonAddress.setVisibility(View.VISIBLE);
mNaviInfo.setVisibility(View.GONE);
ivMode.setVisibility(View.GONE);
mExitNavi.setVisibility(View.GONE);
mSpeedLimit.setVisibility(View.GONE);
mMApUIController.setPointToCenter(0.66145, 0.590688);
mCommonAddress.setVisibility( View.VISIBLE );
mNaviInfo.setVisibility( View.GONE );
ivMode.setVisibility( View.GONE );
mExitNavi.setVisibility( View.GONE );
mSpeedLimit.setVisibility( View.GONE );
mMApUIController.setPointToCenter( 0.66145, 0.590688 );
}
@Override
@@ -259,16 +260,16 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
}
@Override
public void onUpdateTraffic(MogoTraffic traffic) {
if (traffic == null) {
public void onUpdateTraffic( MogoTraffic traffic ) {
if ( traffic == null ) {
return;
}
if (traffic.getSpeedLimit() <= 0) {
mSpeedLimit.setVisibility(View.INVISIBLE);
mSpeedLimitValue.setText("--");
if ( traffic.getSpeedLimit() <= 0 ) {
mSpeedLimit.setVisibility( View.INVISIBLE );
mSpeedLimitValue.setText( "--" );
} else {
mSpeedLimit.setVisibility(View.VISIBLE);
mSpeedLimitValue.setText(String.valueOf(traffic.getSpeedLimit()));
mSpeedLimit.setVisibility( View.VISIBLE );
mSpeedLimitValue.setText( String.valueOf( traffic.getSpeedLimit() ) );
}
}
@@ -278,43 +279,43 @@ public class EntranceFragment extends MvpFragment<EntranceView, EntrancePresente
}
@Override
public void onTouch(MotionEvent motionEvent) {
public void onTouch( MotionEvent motionEvent ) {
}
@Override
public void onPOIClick(MogoPoi poi) {
public void onPOIClick( MogoPoi poi ) {
}
@Override
public void onMapClick(MogoLatLng latLng) {
public void onMapClick( MogoLatLng latLng ) {
}
@Override
public void onLockMap(boolean isLock) {
public void onLockMap( boolean isLock ) {
mIsLock = isLock;
if (isLock) {
mExitNavi.setText(R.string.module_ext_str_exit_navi);
if ( isLock ) {
mExitNavi.setText( R.string.module_ext_str_exit_navi );
} else {
mExitNavi.setText(R.string.module_ext_str_exit_navi);
mExitNavi.setText( R.string.module_ext_str_exit_navi );
}
}
@Override
public void onMapModeChanged(EnumMapUI ui) {
public void onMapModeChanged( EnumMapUI ui ) {
}
@Override
public void onMapChanged(MogoLatLng latLng, float zoom, float tilt, float bearing) {
public void onMapChanged( MogoLatLng latLng, float zoom, float tilt, float bearing ) {
}
private void traceData(String from) {
Map<String, Object> properties = new HashMap<>();
properties.put("from", from);
mAnalytics.track("Launcher_Share_Click", properties);
private void traceData( String from ) {
Map< String, Object > properties = new HashMap<>();
properties.put( "from", from );
mAnalytics.track( "Launcher_Share_Click", properties );
}
}