diff --git a/.idea/misc.xml b/.idea/misc.xml
index 707ee6e613..2dc54c489f 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,6 +1,6 @@
-
+
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index 1b16d7e907..7967765624 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -57,6 +57,8 @@ android {
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
+ //Crash日志收集
+ implementation rootProject.ext.dependencies.crashSdk
implementation rootProject.ext.dependencies.androidxappcompat
implementation rootProject.ext.dependencies.arouter
implementation rootProject.ext.dependencies.androidxmultidex
diff --git a/app/src/main/java/com/mogo/launcher/MogoApplication.java b/app/src/main/java/com/mogo/launcher/MogoApplication.java
index 3808bd13bc..363d37bcf9 100644
--- a/app/src/main/java/com/mogo/launcher/MogoApplication.java
+++ b/app/src/main/java/com/mogo/launcher/MogoApplication.java
@@ -5,6 +5,7 @@ import android.content.Context;
import androidx.multidex.MultiDex;
import com.alibaba.android.arouter.launcher.ARouter;
+import com.auto.zhidao.logsdk.CrashSystem;
import com.mogo.commons.AbsMogoApplication;
import com.mogo.commons.debug.DebugConfig;
import com.mogo.module.adcard.AdCardConstants;
@@ -12,7 +13,6 @@ import com.mogo.module.carchatting.card.CallChatConstant;
import com.mogo.module.common.MogoModule;
import com.mogo.module.common.MogoModulePaths;
import com.mogo.module.media.MediaConstants;
-//import com.mogo.module.onlinecar.OnLineCarConstants;
import com.mogo.module.onlinecar.OnLineCarConstants;
import com.mogo.module.push.PushUIConstants;
import com.mogo.module.tanlu.constant.TanluConstants;
@@ -20,6 +20,8 @@ import com.mogo.module.v2x.V2XConst;
import com.mogo.service.MogoServicePaths;
import com.mogo.service.connection.IMogoSocketManager;
+//import com.mogo.module.onlinecar.OnLineCarConstants;
+
/**
* @author congtaowang
* @since 2019-12-18
@@ -31,11 +33,17 @@ public class MogoApplication extends AbsMogoApplication {
@Override
public void onCreate() {
super.onCreate();
+ // Crash 日志收集
+ CrashSystem crashSystem = CrashSystem.getInstance(this);
+ crashSystem.init();
+ //设置debug模式,日志不上传
+ crashSystem.setDebug(BuildConfig.DEBUG);
+
// MogoModulePaths.addModule( new MogoModule( DemoConstants.TAG, "CARD_DEMO" ) );
// MogoModulePaths.addModule( new MogoModule( Demo2Constants.TAG, "CARD_DEMO2" ) );
DebugConfig.setNetMode(BuildConfig.NET_ENV);
//运营位卡片,需要默认显示,放在第一个加载
-// MogoModulePaths.addModule(new MogoModule(AdCardConstants.TAG, AdCardConstants.MODULE_NAME));
+ MogoModulePaths.addModule(new MogoModule(AdCardConstants.TAG, AdCardConstants.MODULE_NAME));
MogoModulePaths.addModule(new MogoModule(OnLineCarConstants.TAG, OnLineCarConstants.MODULE_NAME));
MogoModulePaths.addModule(new MogoModule(V2XConst.PATH_V2X_UI, V2XConst.PATH_V2X_UI));
MogoModulePaths.addModule(new MogoModule(TanluConstants.TAG, TanluConstants.MODEL_NAME));
diff --git a/config.gradle b/config.gradle
index 8d956ff938..9b22bd8d31 100644
--- a/config.gradle
+++ b/config.gradle
@@ -117,5 +117,7 @@ ext {
// 统一登录
accountsdk : "com.zhidao.accountservice:account-sdk:1.0.5",
+ // crash
+ crashSdk : "com.zhidaoauto.crash.log:library:1.0.5",
]
}
\ No newline at end of file
diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerNoveltyInfo.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerNoveltyInfo.java
index a09010b15f..84157f6a84 100644
--- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerNoveltyInfo.java
+++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerNoveltyInfo.java
@@ -6,6 +6,7 @@ package com.mogo.module.common.entity;
*/
public class MarkerNoveltyInfo {
private String type;
+ private String sn;
private MarkerLocation location;
/**
* @see MarkerPoiTypeEnum
@@ -45,6 +46,13 @@ public class MarkerNoveltyInfo {
this.type = type;
}
+ public String getSn() {
+ return sn;
+ }
+
+ public void setSn(String sn) {
+ this.sn = sn;
+ }
public class ContentData {
private String content;
@@ -53,6 +61,7 @@ public class MarkerNoveltyInfo {
private String infoId;
private long likeNum;
private String title;
+ private String gasPrices;
private boolean displayNavigation;
private String styleType;
@@ -120,6 +129,14 @@ public class MarkerNoveltyInfo {
this.styleType = styleType;
}
+ public String getGasPrices() {
+ return gasPrices;
+ }
+
+ public void setGasPrices(String gasPrices) {
+ this.gasPrices = gasPrices;
+ }
+
@Override
public String toString() {
return "ContentData{" +
@@ -129,6 +146,7 @@ public class MarkerNoveltyInfo {
", infoId='" + infoId + '\'' +
", likeNum=" + likeNum +
", title='" + title + '\'' +
+ ", gasPrices='" + gasPrices + '\'' +
", displayNavigation=" + displayNavigation +
", styleType='" + styleType + '\'' +
'}';
@@ -139,6 +157,7 @@ public class MarkerNoveltyInfo {
public String toString() {
return "MarkerNoveltyInfo{" +
"type='" + type + '\'' +
+ ", sn='" + sn + '\'' +
", location=" + location +
", poiType='" + poiType + '\'' +
", contentData=" + contentData +
diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerUserInfo.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerUserInfo.java
index 8a18d0b9e1..2ee2a01ab2 100644
--- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerUserInfo.java
+++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerUserInfo.java
@@ -20,6 +20,10 @@ public class MarkerUserInfo implements Serializable {
this.age = age;
}
+ public int getAgeNumber() {
+ return age;
+ }
+
public String getAge() {
Calendar cal = Calendar.getInstance();
int year = cal.get(Calendar.YEAR);
@@ -124,7 +128,7 @@ public class MarkerUserInfo implements Serializable {
public String getUserName() {
if (TextUtils.isEmpty(userName)) {
- return "";
+ return "用户未设置昵称";
}
return userName;
}
diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java
index 077f7c1a62..02e0ffbcfe 100644
--- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java
+++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java
@@ -123,8 +123,7 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
mUploadRoadCondition = findViewById( R.id.module_entrance_id_upload_road_condition );
mUploadRoadCondition.setOnClickListener( view -> {
- ShareControl shareControl = new ShareControl();
- shareControl.showDialog( getActivity() );
+ ShareControl.getInstance(getActivity()).showDialog();
} );
mVRMode = findViewById( R.id.module_entrance_id_vr_mode );
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 ec5b6fbb73..44a29e9d19 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
@@ -1,6 +1,7 @@
package com.mogo.module.main;
import android.os.Bundle;
+import android.os.Handler;
import android.view.View;
import android.widget.FrameLayout;
@@ -46,7 +47,7 @@ import java.util.Map;
*
* 描述:加载各个模块
*/
-public class MainActivity extends MvpActivity< MainView, MainPresenter > implements MainView,
+public class MainActivity extends MvpActivity implements MainView,
IMogoLocationListener,
IMogoMarkerClickListener {
@@ -90,174 +91,189 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
@Override
protected void initViews() {
- mCardsContainer = findViewById( R.id.module_main_id_cards_container );
- mCardsContainer.setOrientation( OrientedViewPager.Orientation.VERTICAL );
-
- mCardsContainer.setOnPageChangeListener( new OnPageChangeListenerAdapter() {
+ mCardsContainer = findViewById(R.id.module_main_id_cards_container);
+ mCardsContainer.setOrientation(OrientedViewPager.Orientation.VERTICAL);
+ mCardsContainer.setOnPageChangeListener(new OnPageChangeListenerAdapter() {
+ private boolean mIsLast = true;
private boolean mCardFlipStatus = false;
@Override
- public void onPageSelected( int position ) {
+ public void onPageSelected(int position) {
try {
- IMogoModuleProvider provider = mCardModulesAdapter.getProvider( mCurrentPosition );
- trackLastCardShowEvent( provider );
+ IMogoModuleProvider provider = mCardModulesAdapter.getProvider(mCurrentPosition);
+ trackLastCardShowEvent(provider);
mCurrentPosition = position;
- provider = mCardModulesAdapter.getProvider( mCurrentPosition );
- mMogoModuleHandler.setModuleEnable( provider.getModuleName() );
- if ( !isClickMarker ) {
- mMogoCardManager.invoke( position, mMogoModuleHandler.getCurrentModuleName() );
+ provider = mCardModulesAdapter.getProvider(mCurrentPosition);
+ mMogoModuleHandler.setModuleEnable(provider.getModuleName());
+ if (!isClickMarker) {
+ mMogoCardManager.invoke(position, mMogoModuleHandler.getCurrentModuleName());
}
- } catch ( Exception e ) {
+ } catch (Exception e) {
e.printStackTrace();
}
}
@Override
- public void onPageScrollStateChanged( int state ) {
- super.onPageScrollStateChanged( state );
- if ( state == ViewPager.SCROLL_STATE_DRAGGING ) {
- if ( !mCardFlipStatus ) {
+ public void onPageScrollStateChanged(int state) {
+ super.onPageScrollStateChanged(state);
+ if (state == ViewPager.SCROLL_STATE_DRAGGING) {
+ if (!mCardFlipStatus) {
mCardFlipStatus = true;
- final IMogoModuleProvider provider = mCardModulesAdapter.getProvider( mCurrentPosition );
- trackCardFlipEvent( provider );
+ final IMogoModuleProvider provider = mCardModulesAdapter.getProvider(mCurrentPosition);
+ trackCardFlipEvent(provider);
}
- } else if ( state == ViewPager.SCROLL_STATE_IDLE ) {
+ } else if (state == ViewPager.SCROLL_STATE_IDLE) {
mCardFlipStatus = false;
}
+
+ int cardSize = mCardModulesAdapter.getCount();
+
+ if (state == ViewPager.SCROLL_STATE_SETTLING) {
+ mIsLast = false;
+ } else if (state == ViewPager.SCROLL_STATE_IDLE && mIsLast) {
+ //此处为你需要的情况,再加入当前页码判断可知道是第一页还是最后一页
+ if (cardSize != 1 && mCurrentPosition == (cardSize - 1)) {
+ mCardsContainer.setCurrentItem(0, false);
+ } else if (cardSize != 1 && mCurrentPosition == 0) {
+ mCardsContainer.setCurrentItem(cardSize - 1, false);
+ }
+ } else {
+ mIsLast = true;
+ }
}
/**
* 卡片展示时长埋点
* @param provider
*/
- private void trackLastCardShowEvent( IMogoModuleProvider provider ) {
- if ( provider == null ) {
+ private void trackLastCardShowEvent(IMogoModuleProvider provider) {
+ if (provider == null) {
return;
}
- Map< String, Object > properties = new HashMap<>();
- properties.put( "appname", provider.getAppName() );
- properties.put( "packagename", provider.getAppPackage() );
- properties.put( "activeTime", System.currentTimeMillis() - mCardStartShowTime );
- properties.put( "type", provider.getModuleName() );
- mAnalytics.track( "Launcher_Card_Show", properties );
+ Map properties = new HashMap<>();
+ properties.put("appname", provider.getAppName());
+ properties.put("packagename", provider.getAppPackage());
+ properties.put("activeTime", System.currentTimeMillis() - mCardStartShowTime);
+ properties.put("type", provider.getModuleName());
+ mAnalytics.track("Launcher_Card_Show", properties);
mCardStartShowTime = System.currentTimeMillis();
}
/**
* 卡片滑动埋点,WTF
*/
- private void trackCardFlipEvent( IMogoModuleProvider provider ) {
- if ( provider == null ) {
+ private void trackCardFlipEvent(IMogoModuleProvider provider) {
+ if (provider == null) {
return;
}
- Map< String, Object > properties = new HashMap<>();
- properties.put( "appname", provider.getAppName() );
- properties.put( "packagename", provider.getAppPackage() );
- properties.put( "type", provider.getModuleName() );
- mAnalytics.track( "Launcher_Card_Slide", properties );
+ Map properties = new HashMap<>();
+ properties.put("appname", provider.getAppName());
+ properties.put("packagename", provider.getAppPackage());
+ properties.put("type", provider.getModuleName());
+ mAnalytics.track("Launcher_Card_Slide", properties);
}
- } );
+ });
- mMogoFragmentManager = ( IMogoFragmentManager ) ARouter.getInstance().build( MogoServicePaths.PATH_FRAGMENT_MANAGER ).navigation( this );
- mMogoFragmentManager.init( this, R.id.module_main_id_search_fragment );
- mMogoFragmentManager.registerMainFragmentStackTransactionListener( ( size ) -> {
- if ( size == 0 ) {
+ mMogoFragmentManager = (IMogoFragmentManager) ARouter.getInstance().build(MogoServicePaths.PATH_FRAGMENT_MANAGER).navigation(this);
+ mMogoFragmentManager.init(this, R.id.module_main_id_search_fragment);
+ mMogoFragmentManager.registerMainFragmentStackTransactionListener((size) -> {
+ if (size == 0) {
showLayout();
- } else if ( size == 1 ) {
+ } else if (size == 1) {
hideLayout();
}
- } );
- mHeader = findViewById( R.id.module_main_id_header_fragment_container );
- mCards = findViewById( R.id.module_main_id_cards_container );
- mApps = findViewById( R.id.module_main_id_apps_fragment_container );
- mEntrance = findViewById( R.id.module_main_id_entrance_fragment_container );
- mFloatingLayout = findViewById( R.id.module_main_id_floating_view );
- mLeftShadowFrame = findViewById( R.id.module_main_id_map_left_shadow_frame );
- mTopShadowFrame = findViewById( R.id.module_main_id_map_top_shadow_frame );
+ });
+ mHeader = findViewById(R.id.module_main_id_header_fragment_container);
+ mCards = findViewById(R.id.module_main_id_cards_container);
+ mApps = findViewById(R.id.module_main_id_apps_fragment_container);
+ mEntrance = findViewById(R.id.module_main_id_entrance_fragment_container);
+ mFloatingLayout = findViewById(R.id.module_main_id_floating_view);
+ mLeftShadowFrame = findViewById(R.id.module_main_id_map_left_shadow_frame);
+ mTopShadowFrame = findViewById(R.id.module_main_id_map_top_shadow_frame);
- WindowViewHandler.init( mFloatingLayout );
+ WindowViewHandler.init(mFloatingLayout);
}
// 隐藏布局
private void hideLayout() {
- mHeader.setVisibility( View.GONE );
- mCards.setVisibility( View.GONE );
- mApps.setVisibility( View.GONE );
- mEntrance.setVisibility( View.GONE );
- mFloatingLayout.setVisibility( View.GONE );
- mLeftShadowFrame.setVisibility( View.GONE );
+ mHeader.setVisibility(View.GONE);
+ mCards.setVisibility(View.GONE);
+ mApps.setVisibility(View.GONE);
+ mEntrance.setVisibility(View.GONE);
+ mFloatingLayout.setVisibility(View.GONE);
+ mLeftShadowFrame.setVisibility(View.GONE);
}
// 显示布局
private void showLayout() {
- mHeader.setVisibility( View.VISIBLE );
- mCards.setVisibility( View.VISIBLE );
- mApps.setVisibility( View.VISIBLE );
- mEntrance.setVisibility( View.VISIBLE );
- mFloatingLayout.setVisibility( View.VISIBLE );
- mLeftShadowFrame.setVisibility( View.VISIBLE );
+ mHeader.setVisibility(View.VISIBLE);
+ mCards.setVisibility(View.VISIBLE);
+ mApps.setVisibility(View.VISIBLE);
+ mEntrance.setVisibility(View.VISIBLE);
+ mFloatingLayout.setVisibility(View.VISIBLE);
+ mLeftShadowFrame.setVisibility(View.VISIBLE);
}
@Override
- protected void onCreate( @Nullable Bundle savedInstanceState ) {
- super.onCreate( savedInstanceState );
+ protected void onCreate(@Nullable Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
- MogoModulePaths.addModule( new MogoModule( ServiceConst.PATH_REFRESH_STRATEGY, ServiceConst.PATH_REFRESH_STRATEGY ) );
+ MogoModulePaths.addModule(new MogoModule(ServiceConst.PATH_REFRESH_STRATEGY, ServiceConst.PATH_REFRESH_STRATEGY));
- mMogoModuleHandler = new MogoModulesManager( this );
- mMogoMapService = ( IMogoMapService ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICES_MAP ).navigation();
- if ( mMogoMapService != null ) {
- mMogoMapService.getHostListenerRegister().registerHostMapListener( mMogoModuleHandler );
- mMogoMapService.getHostListenerRegister().registerHostNaviListener( mMogoModuleHandler );
- mMogoMapService.getHostListenerRegister().registerMarkerClickListener( this );
+ mMogoModuleHandler = new MogoModulesManager(this);
+ mMogoMapService = (IMogoMapService) ARouter.getInstance().build(MogoServicePaths.PATH_SERVICES_MAP).navigation();
+ if (mMogoMapService != null) {
+ mMogoMapService.getHostListenerRegister().registerHostMapListener(mMogoModuleHandler);
+ mMogoMapService.getHostListenerRegister().registerHostNaviListener(mMogoModuleHandler);
+ mMogoMapService.getHostListenerRegister().registerMarkerClickListener(this);
}
- mMogoModuleHandler.setMapLoadedCallback( () -> {
- Logger.d( TAG, "map loaded." + Thread.currentThread().getName() );
+ mMogoModuleHandler.setMapLoadedCallback(() -> {
+ Logger.d(TAG, "map loaded." + Thread.currentThread().getName());
// 加载地图,触发地图加载完毕回调,在初始化其他卡片模块,保证卡片模块可以正确获取地图相关服务。
mMogoModuleHandler.loadModules();
loadContainerModules();
- loadCardModules();
+ new Handler().postDelayed(() -> loadCardModules(), 5000);
// 显示左边遮罩
- mLeftShadowFrame.setVisibility( View.VISIBLE );
- mTopShadowFrame.setVisibility( View.VISIBLE );
+ mLeftShadowFrame.setVisibility(View.VISIBLE);
+ mTopShadowFrame.setVisibility(View.VISIBLE);
// 右移地图中心点
mMogoMapUIController = mMogoMapService.getMapUIController();
- mMogoMapUIController.setPointToCenter( 0.66145, 0.590688 );
+ mMogoMapUIController.setPointToCenter(0.66145, 0.590688);
// 开启定位
startLocation();
- } );
- mMogoModuleHandler.loadMapModule( R.id.module_main_id_map_fragment_container );
+ });
+ mMogoModuleHandler.loadMapModule(R.id.module_main_id_map_fragment_container);
- mMogoCardManager = ( IMogoCardManager ) ARouter.getInstance().build( MogoServicePaths.PATH_CARD_MANAGER ).navigation( this );
- mAnalytics = ( IMogoAnalytics ) ARouter.getInstance().build( MogoServicePaths.PATH_UTILS_ANALYTICS ).navigation( this );
+ mMogoCardManager = (IMogoCardManager) ARouter.getInstance().build(MogoServicePaths.PATH_CARD_MANAGER).navigation(this);
+ mAnalytics = (IMogoAnalytics) ARouter.getInstance().build(MogoServicePaths.PATH_UTILS_ANALYTICS).navigation(this);
}
private void startLocation() {
- mLocationClient = mMogoMapService.getSingletonLocationClient( getApplicationContext() );
- mLocationClient.addLocationListener( this );
+ mLocationClient = mMogoMapService.getSingletonLocationClient(getApplicationContext());
+ mLocationClient.addLocationListener(this);
mLocationClient.start();
}
private void loadContainerModules() {
- mMogoModuleHandler.loadAppsListModule( R.id.module_main_id_apps_fragment_container );
- mMogoModuleHandler.loadExtensionsModule( R.id.module_main_id_header_fragment_container );
- mMogoModuleHandler.loadEntrancesModule( R.id.module_main_id_entrance_fragment_container );
+ mMogoModuleHandler.loadAppsListModule(R.id.module_main_id_apps_fragment_container);
+ mMogoModuleHandler.loadExtensionsModule(R.id.module_main_id_header_fragment_container);
+ mMogoModuleHandler.loadEntrancesModule(R.id.module_main_id_entrance_fragment_container);
}
private void loadCardModules() {
- List< IMogoModuleProvider > providers = mMogoModuleHandler.loadCardsModule();
- mCardModulesAdapter = new CardModulesAdapter( this, providers );
- mCardsContainer.setOffscreenPageLimit( providers.size() );
- mCardsContainer.setPageTransformer( true, new VerticalStackTransformer( this ) );
- mCardsContainer.setAdapter( mCardModulesAdapter );
- mCardsContainer.setCurrentItem( mCurrentPosition );
+ List providers = mMogoModuleHandler.loadCardsModule();
+ mCardModulesAdapter = new CardModulesAdapter(this, providers);
+ mCardsContainer.setOffscreenPageLimit(providers.size());
+ mCardsContainer.setPageTransformer(true, new VerticalStackTransformer(this));
+ mCardsContainer.setAdapter(mCardModulesAdapter);
+ mCardsContainer.setCurrentItem(mCurrentPosition);
mCardStartShowTime = System.currentTimeMillis();
}
@@ -266,60 +282,62 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
@NonNull
@Override
protected MainPresenter createPresenter() {
- return new MainPresenter( this );
+ return new MainPresenter(this);
}
@Override
- public void onLocationChanged( MogoLocation location ) {
- if ( mMogoModuleHandler != null ) {
- mMogoModuleHandler.onLocationChanged( location );
+ public void onLocationChanged(MogoLocation location) {
+ if (mMogoModuleHandler != null) {
+ mMogoModuleHandler.onLocationChanged(location);
}
}
@Override
- public boolean onMarkerClicked( IMogoMarker marker ) {
+ public boolean onMarkerClicked(IMogoMarker marker) {
isClickMarker = true;
- switch2( marker.getOwner() );
- if ( mMogoModuleHandler != null ) {
- mMogoModuleHandler.onMarkerClicked( marker );
+ switch2(marker.getOwner());
+ if (mMogoModuleHandler != null) {
+ mMogoModuleHandler.onMarkerClicked(marker);
}
isClickMarker = false;
return false;
}
@Override
- public void switch2( String cardType ) {
- if ( mCardModulesAdapter != null ) {
+ public void switch2(String cardType) {
+ if (mCardModulesAdapter != null) {
- int position = mCardModulesAdapter.getProviderPosition( cardType );
- if ( position != -1 ) {
- int lastFactPosition = mCardModulesAdapter.getFactPosition( mCurrentPosition );
- mCardsContainer.setCurrentItem( mCurrentPosition + position - lastFactPosition, Math.abs( lastFactPosition - position ) == 1 );
- if ( !isClickMarker ) {
- mMogoCardManager.invoke( position, mMogoModuleHandler.getCurrentModuleName() );
+ int position = mCardModulesAdapter.getProviderPosition(cardType);
+ if (position != -1) {
+ int lastFactPosition = mCardModulesAdapter.getFactPosition(mCurrentPosition);
+ mCardsContainer.setCurrentItem(mCurrentPosition + position - lastFactPosition, Math.abs(lastFactPosition - position) == 1);
+ if (!isClickMarker) {
+ mMogoCardManager.invoke(position, mMogoModuleHandler.getCurrentModuleName());
}
} else {
- Logger.e( TAG, "Can't find type of %s's position", cardType );
+ Logger.e(TAG, "Can't find type of %s's position", cardType);
}
}
}
- @Override protected void onResume() {
+ @Override
+ protected void onResume() {
MapBroadCastHelper.getInstance(this).mapFrount();
super.onResume();
}
- @Override protected void onPause() {
+ @Override
+ protected void onPause() {
MapBroadCastHelper.getInstance(this).mapBackground();
super.onPause();
}
@Override
public void onBackPressed() {
- if ( mMogoFragmentManager.getStackSize() == 0 ) {
+ if (mMogoFragmentManager.getStackSize() == 0) {
return;
}
- if ( mMogoFragmentManager != null ) {
+ if (mMogoFragmentManager != null) {
mMogoFragmentManager.pop();
}
}
@@ -328,12 +346,12 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
@Override
protected void onDestroy() {
super.onDestroy();
- if ( mLocationClient != null ) {
- mLocationClient.removeLocationListener( this );
+ if (mLocationClient != null) {
+ mLocationClient.removeLocationListener(this);
mLocationClient.destroy();
}
mLocationClient = null;
- if ( mMogoModuleHandler != null ) {
+ if (mMogoModuleHandler != null) {
mMogoModuleHandler.destroy();
}
mMogoModuleHandler = null;
@@ -342,6 +360,6 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
mMogoCardManager = null;
mMogoFragmentManager = null;
- AIAssist.getInstance( this ).release();
+ AIAssist.getInstance(this).release();
}
}
diff --git a/modules/mogo-module-service/build.gradle b/modules/mogo-module-service/build.gradle
index fa646b8779..88ce45edb7 100644
--- a/modules/mogo-module-service/build.gradle
+++ b/modules/mogo-module-service/build.gradle
@@ -40,6 +40,8 @@ dependencies {
annotationProcessor rootProject.ext.dependencies.aroutercompiler
implementation rootProject.ext.dependencies.rxjava
implementation rootProject.ext.dependencies.rxandroid
+// implementation rootProject.ext.dependencies.moduleonlinecar
+
if (Boolean.valueOf(RELEASE)) {
api rootProject.ext.dependencies.mogomap
api rootProject.ext.dependencies.mogomapapi
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java
index e614f92411..33b6a55df7 100644
--- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java
@@ -1,6 +1,8 @@
package com.mogo.module.service;
import android.content.Context;
+import android.os.Handler;
+import android.os.Looper;
import android.view.View;
import com.alibaba.android.arouter.launcher.ARouter;
@@ -98,11 +100,17 @@ public class MarkerServiceHandler {
}
@Override
- public void onMsgReceived(MarkerResponse response) {
+ public void onMsgReceived(final MarkerResponse response) {
Logger.e(TAG, "======MarkerResponse:" + response);
if (!getMogoStatusManager().isSearchUIShow() && !getMogoStatusManager().isV2XShow()) {
isFirstMarker = true;
- drawMapMarker(response);
+ Handler handler = new Handler(Looper.getMainLooper());
+ handler.post(new Runnable() {
+ @Override
+ public void run() {
+ drawMapMarker(response);
+ }
+ });
}
}
});
@@ -162,7 +170,7 @@ public class MarkerServiceHandler {
@Override
public boolean onMarkerClicked(IMogoMarker marker) {
- Logger.e(TAG, "onMarkerClicked 点击了大而全中的Marker:" + marker);
+ Logger.i(TAG, "onMarkerClicked 点击了大而全中的Marker:" + marker);
try {
if (lastMarker != null) {
// 判断点击的是否是同一个
@@ -174,7 +182,7 @@ public class MarkerServiceHandler {
// 将上次选中 Marker 设置为未选中状态
MarkerShowEntity lastMarkerShowEntity = (MarkerShowEntity) lastMarker.getObject();
- Logger.w(TAG, "onMarkerClicked 点击了大而全中的Marker lastMarkerShowEntity:" + lastMarkerShowEntity);
+ Logger.i(TAG, "onMarkerClicked 点击了大而全中的Marker lastMarkerShowEntity:" + lastMarkerShowEntity);
lastMarkerShowEntity.setChecked(false);
lastMarkerShowEntity.setHighlighted(false);
@@ -186,7 +194,7 @@ public class MarkerServiceHandler {
// 将当前的Marker设置为选中
MarkerShowEntity markerShowEntity = (MarkerShowEntity) marker.getObject();
- Logger.w(TAG, "onMarkerClicked 点击了大而全中的Marker markerShowEntity:" + markerShowEntity);
+ Logger.i(TAG, "onMarkerClicked 点击了大而全中的Marker markerShowEntity:" + markerShowEntity);
markerShowEntity.setChecked(true);
markerShowEntity.setHighlighted(true);
@@ -352,6 +360,10 @@ public class MarkerServiceHandler {
// 在ACC on 之后第一次获取到了在线车辆数据,选中最近的一个Marker
if (isFirstMarker) {
if (nearlyMogoMarker != null) {
+// getMogoCardManager().switch2(ServiceConst.CARD_TYPE_USER_DATA);
+// MarkerShowEntity markerShowEntity = (MarkerShowEntity) nearlyMogoMarker.getObject();
+// MarkerOnlineCar markerOnlineCar = (MarkerOnlineCar) markerShowEntity.getBindObj();
+// onLineCarCardViewProvider.updateView(markerOnlineCar);
MogoMarkersHandler.getInstance().onMarkerClicked(nearlyMogoMarker);
isFirstMarker = false;
}
@@ -476,7 +488,7 @@ public class MarkerServiceHandler {
* 绘制Marker,这里绘制的会使用markerShowEntities队列进行维护
*/
public static IMogoMarker drawMapMarker(MarkerShowEntity markerShowEntity) {
- Logger.e(TAG, "绘制Marker====drawMapMarker:" + markerShowEntity);
+// Logger.i(TAG, "绘制Marker====drawMapMarker:" + markerShowEntity);
try {
if (markerShowEntity.getMarkerLocation() != null) {
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 24b8774c8b..11b2d0f32f 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
@@ -303,7 +303,7 @@ public class MogoServiceProvider implements IMogoModuleProvider,
Logger.i( TAG, "map status is vertical : " + mIsVertical );
mIsMapStatusOk = true;
} catch ( Exception e ) {
-
+ e.printStackTrace();
}
}
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerInfoView.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerInfoView.java
index 7ab5a372c4..d6237fd22b 100644
--- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerInfoView.java
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerInfoView.java
@@ -20,6 +20,8 @@ import com.mogo.module.common.entity.MarkerShowEntity;
import com.mogo.module.service.R;
import com.mogo.module.service.ServiceConst;
+import java.util.Random;
+
/**
* author : donghongyu
* e-mail : 1358506549@qq.com
@@ -74,7 +76,8 @@ public class MapMarkerInfoView extends MapMarkerBaseView {
ivIcon.setVisibility(View.INVISIBLE);
loadImageWithMarker(markerShowEntity);
ivCar.setImageResource(R.drawable.icon_map_marker_car_gray);
- ivCar.setRotation((float) markerShowEntity.getMarkerLocation().getAngle());
+ ivCar.setRotation(new Random().nextInt(360));
+// ivCar.setRotation((float) markerShowEntity.getMarkerLocation().getAngle());
if (bindObj instanceof MarkerOnlineCar) {
if (((MarkerOnlineCar) bindObj).getUserInfo().getGenderValue() == 0) {
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerView.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerView.java
index 104aeac656..6043598951 100644
--- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerView.java
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerView.java
@@ -17,6 +17,8 @@ import com.mogo.module.common.entity.MarkerShowEntity;
import com.mogo.module.service.R;
import com.mogo.module.service.ServiceConst;
+import java.util.Random;
+
/**
* author : donghongyu
* e-mail : 1358506549@qq.com
@@ -65,7 +67,8 @@ public class MapMarkerView extends MapMarkerBaseView {
ivIcon.setVisibility(View.INVISIBLE);
loadImageWithMarker(markerShowEntity);
ivCar.setImageResource(R.drawable.icon_map_marker_car_gray);
- ivCar.setRotation((float) markerShowEntity.getMarkerLocation().getAngle());
+// ivCar.setRotation((float) markerShowEntity.getMarkerLocation().getAngle());
+ ivCar.setRotation(new Random().nextInt(360));
if (bindObj instanceof MarkerOnlineCar) {
if (((MarkerOnlineCar) bindObj).getUserInfo().getGenderValue() == 0) {
diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/IShareControl.java b/modules/mogo-module-share/src/main/java/com/mogo/module/share/IShareControl.java
index 76d27221e9..0224679a7e 100644
--- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/IShareControl.java
+++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/IShareControl.java
@@ -15,7 +15,7 @@ public interface IShareControl {
* 显示对话框
*/
@Keep
- void showDialog(Context context);
+ void showDialog(/*Context context*/);
/**
* 对话框消失
diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java b/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java
index 5d09b0d770..43ce0868aa 100644
--- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java
+++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java
@@ -1,6 +1,9 @@
package com.mogo.module.share;
import android.content.Context;
+
+import com.mogo.map.MogoNavi;
+import com.mogo.map.impl.amap.navi.NaviClient;
import com.mogo.module.share.dialog.LaucherShareDialog;
/**
@@ -9,14 +12,36 @@ import com.mogo.module.share.dialog.LaucherShareDialog;
* @since 2020-01-10
*/
public class ShareControl implements IShareControl {
+
+ private static volatile ShareControl sInstance;
+ private Context mContext;
+
+ private ShareControl(Context context) {
+ mContext = context;
+ }
+
+ public static ShareControl getInstance(Context context) {
+ if (sInstance == null) {
+ synchronized (ShareControl.class) {
+ if (sInstance == null) {
+ sInstance = new ShareControl(context);
+ }
+ }
+ }
+ return sInstance;
+ }
+
+
@Override
- public void showDialog(Context context) {
- LaucherShareDialog shareDialog = new LaucherShareDialog(context);
+ public void showDialog() {
+ LaucherShareDialog shareDialog = new LaucherShareDialog(mContext);
+ shareDialog.setCanceledOnTouchOutside(true);
shareDialog.show();
}
@Override
public void dismissDialog() {
-
+ LaucherShareDialog shareDialog = new LaucherShareDialog(mContext);
+ shareDialog.dismiss();
}
}
diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/constant/TanluConstants.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/constant/TanluConstants.java
index 18c482a475..5ed6632629 100644
--- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/constant/TanluConstants.java
+++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/constant/TanluConstants.java
@@ -42,4 +42,7 @@ public class TanluConstants {
//语音搜索
public static final String CARNET_VOICE_SEARCH = "CarNet_Voice_Search";
+ //视频播放
+ public static final String CARNET_USER_VIDEO_PLAY = "CarNet_user_video_play";
+
}
diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluCardViewFragment.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluCardViewFragment.java
index 682ec808ad..28c93fd0c9 100644
--- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluCardViewFragment.java
+++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluCardViewFragment.java
@@ -16,15 +16,6 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.alibaba.android.arouter.launcher.ARouter;
-import com.amap.api.services.core.LatLonPoint;
-import com.amap.api.services.core.PoiItem;
-import com.amap.api.services.geocoder.GeocodeAddress;
-import com.amap.api.services.geocoder.GeocodeQuery;
-import com.amap.api.services.geocoder.GeocodeResult;
-import com.amap.api.services.geocoder.GeocodeSearch;
-import com.amap.api.services.geocoder.RegeocodeResult;
-import com.amap.api.services.poisearch.PoiResult;
-import com.amap.api.services.poisearch.PoiSearch;
import com.mogo.commons.data.BaseData;
import com.mogo.commons.mvp.IView;
import com.mogo.commons.mvp.MvpFragment;
@@ -33,7 +24,6 @@ import com.mogo.commons.voice.AIAssist;
import com.mogo.commons.voice.IMogoVoiceCmdCallBack;
import com.mogo.map.MogoLatLng;
import com.mogo.map.listener.IMogoMapListener;
-import com.mogo.map.location.IMogoLocationClient;
import com.mogo.map.location.IMogoLocationListener;
import com.mogo.map.location.MogoLocation;
import com.mogo.map.marker.IMogoMarker;
@@ -44,9 +34,17 @@ import com.mogo.map.model.MogoPoi;
import com.mogo.map.navi.IMogoNaviListener;
import com.mogo.map.navi.MogoNaviInfo;
import com.mogo.map.navi.MogoTraffic;
+import com.mogo.map.search.geo.IMogoGeoSearch;
+import com.mogo.map.search.geo.IMogoGeoSearchListener;
+import com.mogo.map.search.geo.MogoGeocodeAddress;
+import com.mogo.map.search.geo.MogoGeocodeResult;
import com.mogo.map.search.geo.MogoPoiItem;
+import com.mogo.map.search.geo.MogoRegeocodeResult;
+import com.mogo.map.search.geo.query.MogoGeocodeQuery;
+import com.mogo.map.search.poisearch.IMogoPoiSearch;
import com.mogo.map.search.poisearch.IMogoPoiSearchListener;
import com.mogo.map.search.poisearch.MogoPoiResult;
+import com.mogo.map.search.poisearch.query.MogoPoiSearchQuery;
import com.mogo.map.uicontroller.EnumMapUI;
import com.mogo.map.uicontroller.IMogoMapUIController;
import com.mogo.module.common.entity.MarkerExploreWay;
@@ -56,9 +54,7 @@ import com.mogo.module.common.entity.MarkerShowEntity;
import com.mogo.module.common.entity.MarkerUserInfo;
import com.mogo.module.service.receiver.MogoReceiver;
import com.mogo.module.share.ShareControl;
-import com.mogo.module.share.constant.ShareConstants;
import com.mogo.module.tanlu.R;
-import com.mogo.module.tanlu.callback.AlongTheWayCallback;
import com.mogo.module.tanlu.callback.NaviCallback;
import com.mogo.module.tanlu.callback.RoadLineCallback;
import com.mogo.module.tanlu.callback.UploadShareCallback;
@@ -66,7 +62,6 @@ import com.mogo.module.tanlu.callback.VoiceSearchCallback;
import com.mogo.module.tanlu.constant.TanluConstants;
import com.mogo.module.tanlu.model.Center;
import com.mogo.module.tanlu.model.Information;
-import com.mogo.module.tanlu.model.InformationAndLiveCarResult;
import com.mogo.module.tanlu.model.Items;
import com.mogo.module.tanlu.model.NaviResult;
import com.mogo.module.tanlu.model.PathLineResult;
@@ -75,13 +70,11 @@ import com.mogo.module.tanlu.model.VoiceSearchResult;
import com.mogo.module.tanlu.model.event.MarkerInfo;
import com.mogo.module.tanlu.model.event.PushTypeInfo;
import com.mogo.module.tanlu.util.Utils;
-import com.mogo.module.tanlu.video.FullMediaActivity;
import com.mogo.module.tanlu.video.SimpleCoverVideoPlayer;
import com.mogo.module.tanlu.view.AutoZoomInImageView;
import com.mogo.service.MogoServicePaths;
import com.mogo.service.analytics.IMogoAnalytics;
import com.mogo.service.cardmanager.IMogoCardManager;
-import com.mogo.service.connection.IMogoSocketManager;
import com.mogo.service.imageloader.IMogoImageLoaderListener;
import com.mogo.service.imageloader.IMogoImageloader;
import com.mogo.service.intent.IMogoIntentListener;
@@ -127,17 +120,14 @@ public class TanluCardViewFragment extends MvpFragment>
SimpleCoverVideoPlayer simpleCoverVideoPlayer;
AutoZoomInImageView autoZoomInImageView;
//map
- private IMogoMarker mPoiMarker;
private IMogoMarkerManager mMarkerManager;
private IMogoMapService mMogoMapService;
- private IMogoSocketManager mMogoSocketManager;
- private IMogoLocationClient mLocationClient;
private IMogoCardManager iMogoCardManager;
private IMogoStatusManager mMogoStatusManager;
private IMogoIntentManager mogoIntentManager; //免唤醒
private IMogoMapUIController mMApUIController;
- private GeocodeSearch mGeocodeSearch;
private IMogoAnalytics mAnalytics;
+ private IMogoGeoSearch mIMogoGeoSearch;
//声音控制文字
private String voiceGetInfoMationTts;
@@ -202,7 +192,9 @@ public class TanluCardViewFragment extends MvpFragment>
// @Override
// public void onClick(View view) {
// Logger.d(TAG, "simpleCoverVideoPlayer onClick -------> ");
-// FullMediaActivity.Companion.launch(getActivity(), mVideoUrl, mImageUrl, mTitle, mGenerateTime);
+// gsyVideoOptionBuilder.setUrl(mVideoUrl).setCacheWithPlay(false).setPlayTag(TAG)
+// .build(simpleCoverVideoPlayer);
+//// simpleCoverVideoPlayer.getStartButton().performClick();
// }
// });
}
@@ -211,36 +203,36 @@ public class TanluCardViewFragment extends MvpFragment>
private void initInterface() {
//图片配置
mogoImageloader = (IMogoImageloader) ARouter.getInstance().build(MogoServicePaths.PATH_UTILS_IMAGE_LOADER).navigation();
- //地图marker
+ //地图marker,地图操作
mMogoMapService = (IMogoMapService) ARouter.getInstance().build(MogoServicePaths.PATH_SERVICES_MAP).navigation(getActivity());
mMarkerManager = mMogoMapService.getMarkerManager(getContext());
+ mMApUIController = mMogoMapService.getMapUIController();
+ //地图逆序
+ mIMogoGeoSearch = mMogoMapService.getGeoSearch(getContext());
+
//切换卡片操作
iMogoCardManager = (IMogoCardManager) ARouter.getInstance().build(MogoServicePaths.PATH_CARD_MANAGER).navigation(getActivity());
mMogoRegisterCenter = (IMogoRegisterCenter) ARouter.getInstance().build(MogoServicePaths.PATH_REGISTER_CENTER).navigation(getContext());
mMogoRegisterCenter.registerMogoModuleLifecycle(TanluConstants.MODEL_NAME, this);
//唤醒
mogoIntentManager = (IMogoIntentManager) ARouter.getInstance().build(MogoServicePaths.PATH_INTENT_MANAGER).navigation(getContext());
- //地图操作
- mMogoMapService = (IMogoMapService) ARouter.getInstance().build(MogoServicePaths.PATH_SERVICES_MAP).navigation(getContext());
- mMApUIController = mMogoMapService.getMapUIController();
- mGeocodeSearch = new GeocodeSearch(getContext());
+
mMogoStatusManager = (IMogoStatusManager) ARouter.getInstance().build(MogoServicePaths.PATH_STATUS_MANAGER).navigation(getContext());
mAnalytics = (IMogoAnalytics) ARouter.getInstance().build(MogoServicePaths.PATH_UTILS_ANALYTICS).navigation(getContext());
- //poi查询
- mGeocodeSearch.setOnGeocodeSearchListener(new GeocodeSearch.OnGeocodeSearchListener() {
+ mIMogoGeoSearch.setGeoSearchListener(new IMogoGeoSearchListener() {
@Override
- public void onRegeocodeSearched(RegeocodeResult regeocodeResult, int i) {
+ public void onRegeocodeSearched(MogoRegeocodeResult regeocodeResult) {
Logger.d(TAG, "onRegeocodeSearched -----> ");
}
@Override
- public void onGeocodeSearched(GeocodeResult p0, int p1) {
- Logger.d(TAG, "onGeocodeSearched ------mKeywords =" + mKeywords + ">>p1 =" + p1);
- if (p1 == 1000) {
- if (p0.getGeocodeAddressList() != null && p0.getGeocodeAddressList().size() != 0) {
- GeocodeAddress geocodeAddress = p0.getGeocodeAddressList().get(0);
- LatLonPoint latLon = geocodeAddress.getLatLonPoint();
+ public void onGeocodeSearched(MogoGeocodeResult geocodeResult) {
+ Logger.d(TAG, "onGeocodeSearched ------mKeywords =" + mKeywords);
+ if (geocodeResult != null) {
+ if (geocodeResult.getAddresses() != null && geocodeResult.getAddresses().size() != 0) {
+ MogoGeocodeAddress geocodeAddress = geocodeResult.getAddresses().get(0);
+ MogoLatLng latLon = geocodeAddress.getLatlng();
Double longit; //经度
Double lat; //维度
if (mKeywords.equals("附近")) {
@@ -249,23 +241,22 @@ public class TanluCardViewFragment extends MvpFragment>
lat = TanluServiceHandler.getLocationClient().getLastKnowLocation().getLatitude();
} else {
Logger.d(TAG, "其他 ---1----");
- longit = latLon.getLongitude();
- lat = latLon.getLatitude();
+ longit = latLon.lng;
+ lat = latLon.lat;
}
Log.d(TAG, "geoSearch keywords =" + mKeywords + ">>longitude= " + longit + "--latitude= " + lat);
getVoiceControlRoadData(mKeywords, lat, longit);
} else {
String cityCode = TanluServiceHandler.getLocationClient().getLastKnowLocation().getCityCode();
- PoiSearch.Query query = new PoiSearch.Query(mKeywords, "", cityCode);
- PoiSearch poiSearch = new PoiSearch(getContext(), query);
- poiSearch.setOnPoiSearchListener(new PoiSearch.OnPoiSearchListener() {
+ MogoPoiSearchQuery poiSearchQuery = new MogoPoiSearchQuery(mKeywords, "", cityCode);
+ IMogoPoiSearch poiSearch = mMogoMapService.getPoiSearch(getContext(), poiSearchQuery);
+ poiSearch.setPoiSearchListener(new IMogoPoiSearchListener() {
@Override
- public void onPoiSearched(PoiResult p0, int p1) {
- Logger.d(TAG, "setOnPoiSearchListener--mKeywords =" + mKeywords + ">>p1 =" + p1);
+ public void onPoiSearched(MogoPoiResult p0, int p1) {
if (p1 == 1000) {
if (p0.getPois() != null && p0.getPois().size() != 0) {
- PoiItem poi = p0.getPois().get(0);
- LatLonPoint latLon = poi.getLatLonPoint();
+ MogoPoiItem poi = p0.getPois().get(0);
+ MogoLatLng latLon = poi.getPoint();
Double longit; //经度
Double lat; //维度
if (mKeywords.equals("附近")) {
@@ -274,8 +265,8 @@ public class TanluCardViewFragment extends MvpFragment>
lat = TanluServiceHandler.getLocationClient().getLastKnowLocation().getLatitude();
} else {
Logger.d(TAG, "其他 --2----");
- longit = latLon.getLongitude();
- lat = latLon.getLatitude();
+ longit = latLon.lng;
+ lat = latLon.lat;
}
getVoiceControlRoadData(mKeywords, lat, longit);
Log.d(TAG, "setOnPoiSearchListener keywords =" + mKeywords + ">>longitude= " + longit + "--latitude" + lat);
@@ -288,7 +279,7 @@ public class TanluCardViewFragment extends MvpFragment>
}
@Override
- public void onPoiItemSearched(PoiItem poiItem, int i) {
+ public void onPoiItemSearched(MogoPoiItem item, int errorCode) {
}
});
@@ -338,7 +329,6 @@ public class TanluCardViewFragment extends MvpFragment>
@Override
public void onStartNavi() { //开始导航
- Logger.d(TAG, "onStartNavi -------> ");
initModelData();
getNavigationData();
}
@@ -407,14 +397,14 @@ public class TanluCardViewFragment extends MvpFragment>
* @return
*/
private void handleActionFoo(String keywords) {
- Log.d(TAG, "handleActionFoo keywords = " + keywords);
speakSearchingVoice();
- GeocodeQuery geocodeQuery;
+ MogoGeocodeQuery geocodeQuery;
String cityCode = TanluServiceHandler.getLocationClient().getLastKnowLocation().getCityCode();
- geocodeQuery = new GeocodeQuery(keywords, cityCode);
+ geocodeQuery = new MogoGeocodeQuery();
geocodeQuery.setLocationName(keywords);
- mGeocodeSearch.getFromLocationNameAsyn(geocodeQuery);
+ geocodeQuery.setCity(cityCode);
+ mIMogoGeoSearch.getFromLocationNameAsyn(geocodeQuery);
}
/**
@@ -428,7 +418,6 @@ public class TanluCardViewFragment extends MvpFragment>
mogoIntentManager.registerIntentListener(TanluConstants.GO_TO_SHARE, mogoIntentListener);
}
-
/**
* 唤醒语音
*/
@@ -436,7 +425,7 @@ public class TanluCardViewFragment extends MvpFragment>
@Override
public void onIntentReceived(String intentStr, Intent intent) {
String data = intent.getStringExtra("data");
- Logger.e(TAG, "唤醒 mogoIntentListener intentStr =" + intentStr + ">>data =" + data);
+ Logger.d(TAG, "唤醒 mogoIntentListener intentStr =" + intentStr + ">>data =" + data);
if (intentStr.equals(TanluConstants.SPECIFIEDROAD_SEARCH)) { //地点堵不堵 --ok
try {
JSONObject jsonObject = new JSONObject(data);
@@ -451,6 +440,7 @@ public class TanluCardViewFragment extends MvpFragment>
sendShareReceiver("1");
Logger.d(TAG, "mogoIntentListener 上报路况 ----> ");
traceTypeData("1");
+ ShareControl.getInstance(getActivity()).dismissDialog();
} else if (intentStr.equals(TanluConstants.SHARE_ROAD_CLOSURE)) { //分享封路(封路了) --ok
traceData("2");
sendShareReceiver("3");
@@ -462,13 +452,46 @@ public class TanluCardViewFragment extends MvpFragment>
Logger.d(TAG, "mogoIntentListener 分享交通检查 ----> ");
traceTypeData("3");
} else if (intentStr.equals(TanluConstants.GO_TO_SHARE)) { //我要分享 --ok
- ShareControl shareControl = new ShareControl();
- shareControl.showDialog(getActivity());
+ ShareControl.getInstance(getActivity()).showDialog();
Logger.d(TAG, "mogoIntentListener 我要分享 ----> ");
}
}
};
+
+ /**
+ * 免唤醒语音监听
+ */
+ private IMogoVoiceCmdCallBack mogoVoiceListener = new IMogoVoiceCmdCallBack() {
+ @Override
+ public void onCmdSelected(String cmd) {
+ Log.d(TAG, "mogoVoiceListener cmd = " + cmd);
+ if (cmd.equals(TanluConstants.PLAY_VIDEO)) { //播放路况 --ok
+ gsyVideoOptionBuilder.setUrl(mVideoUrl).setCacheWithPlay(false).setPlayTag(TAG)
+ .build(simpleCoverVideoPlayer);
+ simpleCoverVideoPlayer.getStartButton().performClick();
+ traceVideoPlayStatusData("1");
+ }
+ }
+
+ @Override
+ public void onCmdAction(String speakText) {
+ }
+
+ @Override
+ public void onCmdCancel(String speakText) {
+ }
+
+ @Override
+ public void onSpeakEnd(String speakText) {
+ }
+
+ @Override
+ public void onSpeakSelectTimeOut(String speakText) {
+ }
+ };
+
+
/**
* type=1 路况
*
@@ -498,40 +521,6 @@ public class TanluCardViewFragment extends MvpFragment>
mAnalytics.track(TanluConstants.CARNET_USER_UPLOAD, properties);
}
- /**
- * 免唤醒语音监听
- */
- private IMogoVoiceCmdCallBack mogoVoiceListener = new IMogoVoiceCmdCallBack() {
- @Override
- public void onCmdSelected(String cmd) {
- Log.d(TAG, "com.zhidao.tanlu.play ------->");
- if (cmd.equals(TanluConstants.PLAY_VIDEO)) { //播放路况 --ok
-// FullMediaActivity.Companion.launch(getActivity(), mVideoUrl, mImageUrl, mTitle, mGenerateTime);
- //TODO
- gsyVideoOptionBuilder.setUrl(mVideoUrl).setCacheWithPlay(false).setPlayTag(TAG)
- .build(simpleCoverVideoPlayer);
- simpleCoverVideoPlayer.getStartButton().performClick();
-
- }
- }
-
- @Override
- public void onCmdAction(String speakText) {
- }
-
- @Override
- public void onCmdCancel(String speakText) {
- }
-
- @Override
- public void onSpeakEnd(String speakText) {
- }
-
- @Override
- public void onSpeakSelectTimeOut(String speakText) {
- }
- };
-
/**
* 发送广播 1拥堵,2交通检查,3封路
*/
@@ -662,7 +651,6 @@ public class TanluCardViewFragment extends MvpFragment>
mGenerateTime = markerExploreWay.getGenerateTime();
mTitle = markerExploreWay.getAddr();
mAddressTv.setText(markerExploreWay.getAddr());
- Log.d(TAG, "refreshVideoData addr = " + markerExploreWay.getAddr());
mDistanceTv.setText(handleDistance(markerExploreWay.getDistance()));
mTimeTv.setText(formatDate(markerExploreWay.getGenerateTime()));
//判断是图片还是视频,第一个时,上一个不可点击
@@ -670,17 +658,31 @@ public class TanluCardViewFragment extends MvpFragment>
simpleCoverVideoPlayer.setVisibility(View.VISIBLE);
//视频配置
mVideoUrl = videoUrl;
- Log.d(TAG, "refreshVideoData mVideoUrl = " + mVideoUrl);
simpleCoverVideoPlayer.loadCoverImage(mImageUrl, getContext());
gsyVideoOptionBuilder.setUrl(videoUrl).setCacheWithPlay(false).setPlayTag(TAG)
.build(simpleCoverVideoPlayer);
simpleCoverVideoPlayer.getStartButton().performClick();
+ traceVideoPlayStatusData("2");
+
if (mImageUrl == null) {
return;
}
-
}
+ /**
+ * 上传播放
+ * @param type
+ * type=1 主动触发播放
+ *
+ * type=2 自动播放
+ */
+ private void traceVideoPlayStatusData(String type) {
+ Map properties = new HashMap<>();
+ properties.put("type", type);
+ mAnalytics.track(TanluConstants.CARNET_USER_VIDEO_PLAY, properties);
+ }
+
+
/**
* 刷新单个图片数据
*/
@@ -735,7 +737,9 @@ public class TanluCardViewFragment extends MvpFragment>
@Override
public void onPerform() {
//免唤醒
- AIAssist.getInstance(getActivity()).registerUnWakeupCommand(TanluConstants.PLAY_VIDEO, TanluConstants.CMD_PLAY_ROAD_CONDITION, mogoVoiceListener);
+ AIAssist.getInstance(getActivity()).registerUnWakeupCommand(TanluConstants.PLAY_VIDEO,
+ TanluConstants.CMD_PLAY_ROAD_CONDITION, mogoVoiceListener);
+
isCurrentPage = true;
Logger.d(TAG, "tanlu卡片 onPerform 有效 ---->");
mMarkerManager = mMogoMapService.getMarkerManager(getActivity());
@@ -901,7 +905,7 @@ public class TanluCardViewFragment extends MvpFragment>
/**
- * 上报分享信息 TODO
+ * 上报分享信息
*/
private void uploadShareInfo(String poiType, String poiImgUrl, String nickname, String headImgUrl) {
double lat = TanluServiceHandler.getLocationClient().getLastKnowLocation().getLatitude();
@@ -964,11 +968,16 @@ public class TanluCardViewFragment extends MvpFragment>
// }
// });
+
mTanluModelData.getNaviInformation(new NaviCallback() {
@Override
public void onSuccess(NaviResult data) {
- Log.d(TAG, "getNavigationData onSuccess ----->");
List informationList = data.getResult().getInformations();
+ Log.d(TAG, "getNavigationData onSuccess informationList =" + informationList);
+ if (informationList == null || (informationList != null && informationList.size() == 0)) {
+ return;
+ }
+
//清除探路之前的数据
mMarkerManager.removeMarkers(TanluConstants.MODEL_NAME);
@@ -994,7 +1003,6 @@ public class TanluCardViewFragment extends MvpFragment>
.longitude(informationList.get(i).lon);
optionList.add(options);
- Log.d(TAG, "lat =" + informationList.get(i).lat + ">>>lon =" + informationList.get(i).lon);
}
Logger.d(TAG, "getNavigationData optionList.size() = " + optionList.size());
mMarkerManager.addMarkers(TanluConstants.MODEL_NAME, optionList, true);
@@ -1112,6 +1120,11 @@ public class TanluCardViewFragment extends MvpFragment>
speakSuccessVoice(o.getResult().getInformations(), discription == null ? "" : discription);
List informationList = o.getResult().getInformations();
+ Log.d(TAG, "getVoiceControlRoadData onSuccess informationList =" + informationList);
+ if (informationList == null || (informationList != null && informationList.size() == 0)) {
+ return;
+ }
+
//清除探路之前的数据
mMarkerManager.removeMarkers(TanluConstants.MODEL_NAME);
//添加埋点数据
@@ -1140,7 +1153,7 @@ public class TanluCardViewFragment extends MvpFragment>
.longitude(informationList.get(i).lon);
optionList.add(options);
- Log.d(TAG, "lat =" + informationList.get(i).lat + ">>>lon =" + informationList.get(i).lon);
+// Log.d(TAG, "getVoiceControlRoadData lat =" + informationList.get(i).lat + ">>>lon =" + informationList.get(i).lon);
}
Logger.d(TAG, "getVoiceControlRoadData optionList.size() = " + optionList.size());
mMarkerManager.addMarkers(TanluConstants.MODEL_NAME, optionList, true);
diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/NaviRoadRequest.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/NaviRoadRequest.java
index 456fc5225b..f62763b6b2 100644
--- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/NaviRoadRequest.java
+++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/NaviRoadRequest.java
@@ -8,10 +8,10 @@ import java.util.List;
* @since 2020-02-03
*/
public class NaviRoadRequest {
- public List coordinates;
+ public List coordinates;
public int limit;
- public NaviRoadRequest(List coordinates, int limit) {
+ public NaviRoadRequest(List coordinates, int limit) {
this.coordinates = coordinates;
this.limit = limit;
}
diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/TanluModelData.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/TanluModelData.java
index e460cdc528..e903b69282 100644
--- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/TanluModelData.java
+++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/TanluModelData.java
@@ -291,10 +291,22 @@ public class TanluModelData {
*/
public void getNaviInformation(final NaviCallback callback) {
Gson gson = new Gson();
+ double lng = 120.42;
+ double lat = 36.19;
+ double lng2 = 120.66;
+ double lat2 = 36.32;
+
+ List coordinates = new ArrayList<>();
+ coordinates.add(lng + "," + lat);
+ coordinates.add(lng2 + "," + lat2);
+
+ NaviRoadRequest naviRoadRequest = new NaviRoadRequest(coordinates, 10);
+ String naviStr = gson.toJson(naviRoadRequest);
+ Log.d(TAG, "getNaviInformation naviStr = " + naviStr);
final Map params = new ParamsProvider.Builder(mContext)
.append("sn", Utils.getSn())
-// .append("data", uploadShareStr)
+ .append("data", naviStr)
.build();
mTanluApiService.getNaviInformation(params)
diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/video/SimpleCoverVideoPlayer.kt b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/video/SimpleCoverVideoPlayer.kt
index e0239d7ee5..02f0674e68 100644
--- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/video/SimpleCoverVideoPlayer.kt
+++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/video/SimpleCoverVideoPlayer.kt
@@ -2,6 +2,7 @@ package com.mogo.module.tanlu.video
import android.content.Context
import android.util.AttributeSet
+import android.util.Log
import android.view.Surface
import android.view.View
import android.widget.ImageView
@@ -77,6 +78,33 @@ class SimpleCoverVideoPlayer : StandardGSYVideoPlayer {
override fun changeUiToCompleteShow() {
super.changeUiToCompleteShow()
// setViewShowState(mBottomContainer, View.INVISIBLE)
+ Log.d("liyz", "changeUiToCompleteShow ------------>")
+ }
+
+ override fun hideAllWidget() {
+ super.hideAllWidget()
+ Log.d("liyz", "hideAllWidget ------------>")
+ mBottomContainer.visibility = View.VISIBLE
+ }
+
+ override fun changeUiToPrepareingClear() {
+ super.changeUiToPrepareingClear()
+ mBottomContainer.visibility = View.VISIBLE
+ }
+
+ override fun changeUiToPlayingBufferingClear() {
+ super.changeUiToPlayingBufferingClear()
+ mBottomContainer.visibility = View.VISIBLE
+ }
+
+ override fun changeUiToClear() {
+ super.changeUiToClear()
+ mBottomContainer.visibility = View.VISIBLE
+ }
+
+ override fun changeUiToCompleteClear() {
+ super.changeUiToCompleteClear()
+ mBottomContainer.visibility = View.INVISIBLE
}
override fun onAutoCompletion() {
diff --git a/modules/mogo-module-tanlu/src/main/res/layout/tanlu_item_main_media_recycler.xml b/modules/mogo-module-tanlu/src/main/res/layout/tanlu_item_main_media_recycler.xml
index 40a085df42..fcb133f346 100644
--- a/modules/mogo-module-tanlu/src/main/res/layout/tanlu_item_main_media_recycler.xml
+++ b/modules/mogo-module-tanlu/src/main/res/layout/tanlu_item_main_media_recycler.xml
@@ -66,7 +66,8 @@
android:layout_below="@+id/layout_top_view"
android:layout_marginLeft="@dimen/tanlu_module_card_margin_left"
android:layout_marginRight="@dimen/tanlu_module_card_margin_left"
- android:background="@drawable/shape_bg_222533_9px">
+ >
+
96px
90px
700px
- 10px
+ 5px
72px
25px
diff --git a/modules/mogo-module-tanlu/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-tanlu/src/main/res/values-xhdpi/dimens.xml
index 08d5243a1f..57993dcf50 100644
--- a/modules/mogo-module-tanlu/src/main/res/values-xhdpi/dimens.xml
+++ b/modules/mogo-module-tanlu/src/main/res/values-xhdpi/dimens.xml
@@ -15,7 +15,7 @@
96px
100px
700px
- 10px
+ 5px
135px
50px
diff --git a/modules/mogo-module-tanlu/src/main/res/values/dimens.xml b/modules/mogo-module-tanlu/src/main/res/values/dimens.xml
index 131282c5a1..a2953cf57c 100644
--- a/modules/mogo-module-tanlu/src/main/res/values/dimens.xml
+++ b/modules/mogo-module-tanlu/src/main/res/values/dimens.xml
@@ -15,7 +15,7 @@
96px
144px
760px
- 10px
+ 5px
135px
50px