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 de2af7923d..65532a4c2f 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -4,7 +4,7 @@ apply plugin: 'com.android.application'
android {
compileSdkVersion rootProject.ext.android.compileSdkVersion
- buildToolsVersion rootProject.ext.android.buildToolsVersion
+ // buildToolsVersion rootProject.ext.android.buildToolsVersion
defaultConfig {
minSdkVersion rootProject.ext.android.minSdkVersion
targetSdkVersion rootProject.ext.android.targetSdkVersion
@@ -39,11 +39,13 @@ android {
debug {
signingConfig signingConfigs.release
debuggable = true
+ buildConfigField 'int', 'NET_ENV', '2'
}
release {
minifyEnabled false
signingConfig signingConfigs.release
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
+ buildConfigField 'int', 'NET_ENV', '3'
}
}
compileOptions {
diff --git a/app/src/main/java/com/mogo/launcher/MogoApplication.java b/app/src/main/java/com/mogo/launcher/MogoApplication.java
index 5cd280f032..8c3924cf8c 100644
--- a/app/src/main/java/com/mogo/launcher/MogoApplication.java
+++ b/app/src/main/java/com/mogo/launcher/MogoApplication.java
@@ -30,7 +30,7 @@ public class MogoApplication extends AbsMogoApplication {
super.onCreate();
// MogoModulePaths.addModule( new MogoModule( DemoConstants.TAG, "CARD_DEMO" ) );
// MogoModulePaths.addModule( new MogoModule( Demo2Constants.TAG, "CARD_DEMO2" ) );
- DebugConfig.setNetMode( DebugConfig.NET_MODE_QA );
+ DebugConfig.setNetMode( BuildConfig.NET_ENV );
MogoModulePaths.addModule( new MogoModule( OnLineCarConstants.TAG, OnLineCarConstants.MODULE_NAME ) );
MogoModulePaths.addModule( new MogoModule( TanluConstants.TAG, TanluConstants.MODEL_NAME ) );
MogoModulePaths.addModule( new MogoModule( CallChatConstant.PROVIDER, CallChatConstant.MODULE_NAME ) );
diff --git a/config.gradle b/config.gradle
index c4c2ab4f8c..c7760b645a 100644
--- a/config.gradle
+++ b/config.gradle
@@ -1,7 +1,7 @@
ext {
android = [
applicationId : "com.mogo.launcher",
- compileSdkVersion: 29,
+ compileSdkVersion: 28,
buildToolsVersion: "29.0.2",
minSdkVersion : 19,
targetSdkVersion : 22,
diff --git a/foudations/mogo-commons/build.gradle b/foudations/mogo-commons/build.gradle
index 9064279c30..10c8490898 100644
--- a/foudations/mogo-commons/build.gradle
+++ b/foudations/mogo-commons/build.gradle
@@ -2,7 +2,7 @@ apply plugin: 'com.android.library'
android {
compileSdkVersion rootProject.ext.android.compileSdkVersion
- buildToolsVersion rootProject.ext.android.buildToolsVersion
+ // buildToolsVersion rootProject.ext.android.buildToolsVersion
defaultConfig {
minSdkVersion rootProject.ext.android.minSdkVersion
targetSdkVersion rootProject.ext.android.targetSdkVersion
diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/network/ParamsUtil.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/network/ParamsUtil.java
index 79ca7b4f74..73ca6ac8a3 100644
--- a/foudations/mogo-commons/src/main/java/com/mogo/commons/network/ParamsUtil.java
+++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/network/ParamsUtil.java
@@ -75,6 +75,8 @@ public class ParamsUtil {
public static Map< String, Object > getAnalyticsCustomParams() {
Map< String, Object > map = new ArrayMap<>();
map.put( "debug", DebugConfig.isDebug() ? 1 : 0 );
+ map.put( "systemversion", Utils.getFotaVersion() );
+ map.put( "sn", Utils.getSn() );
return map;
}
diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/network/Utils.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/network/Utils.java
index 350234532b..ccb06a943c 100644
--- a/foudations/mogo-commons/src/main/java/com/mogo/commons/network/Utils.java
+++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/network/Utils.java
@@ -55,15 +55,24 @@ public class Utils {
public static final String GET = "get";
public static final String GSM_SERIAL = "gsm.serial";
+ public static final String FOTA_VERSION = "ro.fota.version";
public static final String PROPERTIES = "android.os.SystemProperties";
public static String getSn() {
- String serial = "";
+ return getSystemProperties( GSM_SERIAL );
+ }
+
+ public static String getFotaVersion() {
+ return getSystemProperties( FOTA_VERSION );
+ }
+
+ public static String getSystemProperties( String name ) {
+ String value = "";
try {
Class< ? > c = Class.forName( PROPERTIES );
Method get = c.getMethod( GET, String.class );
- serial = ( String ) get.invoke( c, GSM_SERIAL );
+ value = ( String ) get.invoke( c, GSM_SERIAL );
} catch ( ClassNotFoundException var3 ) {
var3.printStackTrace();
} catch ( NoSuchMethodException var4 ) {
@@ -73,7 +82,6 @@ public class Utils {
} catch ( IllegalAccessException var6 ) {
var6.printStackTrace();
}
-
- return serial;
+ return value;
}
}
diff --git a/foudations/mogo-connection/build.gradle b/foudations/mogo-connection/build.gradle
index 2e029485b7..db342def5f 100644
--- a/foudations/mogo-connection/build.gradle
+++ b/foudations/mogo-connection/build.gradle
@@ -3,7 +3,7 @@ apply plugin: 'com.alibaba.arouter'
android {
compileSdkVersion rootProject.ext.android.compileSdkVersion
- buildToolsVersion rootProject.ext.android.buildToolsVersion
+ // buildToolsVersion rootProject.ext.android.buildToolsVersion
defaultConfig {
minSdkVersion rootProject.ext.android.minSdkVersion
targetSdkVersion rootProject.ext.android.targetSdkVersion
diff --git a/foudations/mogo-utils/build.gradle b/foudations/mogo-utils/build.gradle
index d4d19b5d03..2c08bfb9a3 100644
--- a/foudations/mogo-utils/build.gradle
+++ b/foudations/mogo-utils/build.gradle
@@ -2,7 +2,7 @@ apply plugin: 'com.android.library'
android {
compileSdkVersion rootProject.ext.android.compileSdkVersion
- buildToolsVersion rootProject.ext.android.buildToolsVersion
+ // buildToolsVersion rootProject.ext.android.buildToolsVersion
defaultConfig {
minSdkVersion rootProject.ext.android.minSdkVersion
targetSdkVersion rootProject.ext.android.targetSdkVersion
diff --git a/libraries/map-amap/build.gradle b/libraries/map-amap/build.gradle
index b70d651de7..a2c484c213 100644
--- a/libraries/map-amap/build.gradle
+++ b/libraries/map-amap/build.gradle
@@ -2,7 +2,7 @@ apply plugin: 'com.android.library'
android {
compileSdkVersion rootProject.ext.android.compileSdkVersion
- buildToolsVersion rootProject.ext.android.buildToolsVersion
+ // buildToolsVersion rootProject.ext.android.buildToolsVersion
defaultConfig {
minSdkVersion rootProject.ext.android.minSdkVersion
targetSdkVersion rootProject.ext.android.targetSdkVersion
diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java
index ad33524ffe..f80491fafd 100644
--- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java
+++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/AMapNaviViewWrapper.java
@@ -129,6 +129,7 @@ public class AMapNaviViewWrapper implements IMogoMapView,
options.setNaviArrowVisible( false );
// 通过路线是否自动置灰,仅支持驾车导航
options.setAfterRouteAutoGray( true );
+ options.setZoom( 16 );
options.setPointToCenter( 0.5D, 0.5D );
// 2D模式
options.setTilt( 0 );
@@ -456,6 +457,7 @@ public class AMapNaviViewWrapper implements IMogoMapView,
public void onNaviStarted() {
if ( checkAMapView() ) {
mMapView.setCarOverlayVisible( true );
+ showMyLocation( false );
}
}
@@ -463,6 +465,7 @@ public class AMapNaviViewWrapper implements IMogoMapView,
public void onNaviStopped() {
if ( checkAMapView() ) {
mMapView.setCarOverlayVisible( false );
+ showMyLocation( true );
}
}
diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/AMapNaviListenerAdapter.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/AMapNaviListenerAdapter.java
index dfe0daa985..f870148573 100644
--- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/AMapNaviListenerAdapter.java
+++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/AMapNaviListenerAdapter.java
@@ -15,6 +15,7 @@ import com.amap.api.navi.model.AimLessModeCongestionInfo;
import com.amap.api.navi.model.AimLessModeStat;
import com.amap.api.navi.model.NaviInfo;
import com.autonavi.tbt.TrafficFacilityInfo;
+import com.mogo.utils.logger.Logger;
/**
* @author congtaowang
@@ -24,6 +25,8 @@ import com.autonavi.tbt.TrafficFacilityInfo;
*/
public abstract class AMapNaviListenerAdapter implements AMapNaviListener {
+ private static final String TAG = "AMapNaviListenerAdapter";
+
@Override
public void onInitNaviFailure() {
@@ -111,9 +114,15 @@ public abstract class AMapNaviListenerAdapter implements AMapNaviListener {
@Override
public void updateIntervalCameraInfo( AMapNaviCameraInfo aMapNaviCameraInfo, AMapNaviCameraInfo aMapNaviCameraInfo1, int i ) {
-
+ if ( aMapNaviCameraInfo != null ) {
+ Logger.i( TAG, "current camera speed: %d, status = %d", aMapNaviCameraInfo.getCameraSpeed(), i );
+ }
+ if ( aMapNaviCameraInfo1 != null ) {
+ Logger.i( TAG, "current camera speed: %d, status = %d", aMapNaviCameraInfo1.getCameraSpeed(), i );
+ }
}
+
@Override
public void onServiceAreaUpdate( AMapServiceAreaInfo[] aMapServiceAreaInfos ) {
@@ -179,11 +188,23 @@ public abstract class AMapNaviListenerAdapter implements AMapNaviListener {
}
+ /**
+ * 巡航回调
+ * 连续5个点速度大于15km/h后触发 updateAimlessModeStatistics 回调,通过 AimLessModeStat 对象可获取巡航的连续行驶距离和连续启用时间
+ *
+ * @param aimLessModeStat
+ */
@Override
public void updateAimlessModeStatistics( AimLessModeStat aimLessModeStat ) {
}
+ /**
+ * 巡航回调
+ * 出现拥堵长度大于500米且拥堵时间大于5分钟时,会进到 updateAimlessModeCongestionInfo 回调中,通过 AimLessModeCongestionInfo 对象,可获取到道路拥堵信息(如:导致拥堵的事件类型、拥堵的状态等)
+ *
+ * @param aimLessModeCongestionInfo
+ */
@Override
public void updateAimlessModeCongestionInfo( AimLessModeCongestionInfo aimLessModeCongestionInfo ) {
diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/AimlessModeListenerAdapter.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/AimlessModeListenerAdapter.java
new file mode 100644
index 0000000000..9b9f45e1ef
--- /dev/null
+++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/AimlessModeListenerAdapter.java
@@ -0,0 +1,204 @@
+package com.mogo.map.impl.amap.navi;
+
+import com.amap.api.navi.AimlessModeListener;
+import com.amap.api.navi.model.AMapNaviTrafficFacilityInfo;
+import com.amap.api.navi.model.AimLessModeCongestionInfo;
+import com.amap.api.navi.model.AimLessModeStat;
+import com.mogo.map.navi.MogoNaviListenerHandler;
+import com.mogo.map.navi.MogoTraffic;
+
+/**
+ * @author congtaowang
+ * @since 2020-01-16
+ *
+ * 巡航监听
+ */
+public class AimlessModeListenerAdapter implements AimlessModeListener {
+
+ @Override
+ public void onUpdateTrafficFacility( AMapNaviTrafficFacilityInfo[] aMapNaviTrafficFacilityInfos ) {
+ if ( aMapNaviTrafficFacilityInfos == null || aMapNaviTrafficFacilityInfos.length == 0 ) {
+ return;
+ }
+ int speedLimit = 0;
+ for ( AMapNaviTrafficFacilityInfo aMapNaviTrafficFacilityInfo : aMapNaviTrafficFacilityInfos ) {
+ if ( aMapNaviTrafficFacilityInfo == null ) {
+ continue;
+ }
+ speedLimit = aMapNaviTrafficFacilityInfo.getLimitSpeed();
+ if ( aMapNaviTrafficFacilityInfo.getBroadcastType() == 4 && aMapNaviTrafficFacilityInfo.getLimitSpeed() > 0 ) {
+ MogoTraffic traffic = new MogoTraffic( MogoTraffic.TYPE_AIM );
+ traffic.setDistance( aMapNaviTrafficFacilityInfo.getDistance() );
+ traffic.setSpeedLimit( aMapNaviTrafficFacilityInfo.getLimitSpeed() );
+ traffic.setDesc( "测速摄像头、测速雷达" );
+ MogoNaviListenerHandler.getInstance().onUpdateTraffic( traffic );
+ }
+ }
+ if ( speedLimit <= 0 ) {
+ MogoTraffic traffic = new MogoTraffic( MogoTraffic.TYPE_AIM );
+ traffic.setDistance( 0 );
+ traffic.setSpeedLimit( 0 );
+ traffic.setDesc( "测速摄像头、测速雷达" );
+ MogoNaviListenerHandler.getInstance().onUpdateTraffic( traffic );
+ }
+// MogoTraffic traffic = new MogoTraffic( MogoTraffic.TYPE_AIM );
+// traffic.setDistance( aMapNaviTrafficFacilityInfos[0].getDistance() );
+// traffic.setSpeedLimit( aMapNaviTrafficFacilityInfos[0].getLimitSpeed() );
+// switch ( aMapNaviTrafficFacilityInfos[0].getBroadcastType() ) {
+// case 0:
+// traffic.setDesc( "未知道路设施" );
+// break;
+// case 4:
+// traffic.setDesc( "测速摄像头、测速雷达" );
+// break;
+// case 5:
+// traffic.setDesc( "违章摄像头" );
+// break;
+// case 10:
+// traffic.setDesc( "请谨慎驾驶" );
+// break;
+// case 11:
+// traffic.setDesc( "有连续拍照" );
+// break;
+// case 12:
+// traffic.setDesc( "铁路道口" );
+// break;
+// case 13:
+// traffic.setDesc( "注意落石(左侧)" );
+// break;
+// case 14:
+// traffic.setDesc( "事故易发地段" );
+// break;
+// case 15:
+// traffic.setDesc( "易滑" );
+// break;
+// case 16:
+// traffic.setDesc( "村庄" );
+// break;
+// case 18:
+// traffic.setDesc( "前方学校" );
+// break;
+// case 19:
+// traffic.setDesc( "有人看管的铁路道口" );
+// break;
+// case 20:
+// traffic.setDesc( "无人看管的铁路道口" );
+// break;
+// case 21:
+// traffic.setDesc( "两侧变窄" );
+// break;
+// case 22:
+// traffic.setDesc( "向左急弯路" );
+// break;
+// case 23:
+// traffic.setDesc( "向右急弯路" );
+// break;
+// case 24:
+// traffic.setDesc( "反向弯路" );
+// break;
+// case 25:
+// traffic.setDesc( "连续弯路" );
+// break;
+// case 26:
+// traffic.setDesc( "左侧合流标识牌" );
+// break;
+// case 27:
+// traffic.setDesc( "右侧合流标识牌" );
+// break;
+// case 28:
+// traffic.setDesc( "监控摄像头" );
+// break;
+// case 29:
+// traffic.setDesc( "专用道摄像头" );
+// break;
+// case 31:
+// traffic.setDesc( "禁止超车" );
+// break;
+// case 36:
+// traffic.setDesc( "右侧变窄" );
+// break;
+// case 37:
+// traffic.setDesc( "左侧变窄" );
+// break;
+// case 38:
+// traffic.setDesc( "窄桥" );
+// break;
+// case 39:
+// traffic.setDesc( "左右绕行" );
+// break;
+// case 40:
+// traffic.setDesc( "左侧绕行" );
+// break;
+// case 41:
+// traffic.setDesc( "右侧绕行" );
+// break;
+// case 42:
+// traffic.setDesc( "注意落石(右侧)" );
+// break;
+// case 43:
+// traffic.setDesc( "傍山险路(左侧)" );
+// break;
+// case 44:
+// traffic.setDesc( "傍山险路(右侧)" );
+// break;
+// case 47:
+// traffic.setDesc( "上陡坡" );
+// break;
+// case 48:
+// traffic.setDesc( "下陡坡" );
+// break;
+// case 49:
+// traffic.setDesc( "过水路面" );
+// break;
+// case 50:
+// traffic.setDesc( "路面不平" );
+// break;
+// case 52:
+// traffic.setDesc( "慢行" );
+// break;
+// case 53:
+// traffic.setDesc( "注意危险" );
+// break;
+// case 58:
+// traffic.setDesc( "隧道" );
+// break;
+// case 59:
+// traffic.setDesc( "渡口" );
+// break;
+// case 92:
+// traffic.setDesc( "闯红灯" );
+// break;
+// case 93:
+// traffic.setDesc( "应急车道" );
+// break;
+// case 94:
+// traffic.setDesc( "非机动车道" );
+// break;
+// case 100:
+// traffic.setDesc( "不绑定电子眼高发地" );
+// break;
+// case 101:
+// traffic.setDesc( "车道违章" );
+// break;
+// case 102:
+// traffic.setDesc( "超速违章" );
+// break;
+// }
+
+ }
+
+ @Override
+ public void onUpdateAimlessModeElecCameraInfo( AMapNaviTrafficFacilityInfo[] aMapNaviTrafficFacilityInfos ) {
+
+ }
+
+ @Override
+ public void updateAimlessModeStatistics( AimLessModeStat aimLessModeStat ) {
+
+ }
+
+ @Override
+ public void updateAimlessModeCongestionInfo( AimLessModeCongestionInfo aimLessModeCongestionInfo ) {
+
+ }
+}
diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviClient.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviClient.java
index 1675ec9d3f..5af6826e99 100644
--- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviClient.java
+++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviClient.java
@@ -5,6 +5,7 @@ import android.graphics.Rect;
import com.amap.api.maps.model.Polyline;
import com.amap.api.navi.AMapNavi;
+import com.amap.api.navi.enums.AimLessMode;
import com.amap.api.navi.enums.NaviType;
import com.amap.api.navi.model.NaviLatLng;
import com.mogo.map.MogoLatLng;
@@ -32,6 +33,9 @@ public class NaviClient implements IMogoNavi {
private AMapNavi mAMapNavi;
private final NaviListenerAdapter mAMapNaviListener;
+
+ private final AimlessModeListenerAdapter mAimlessModeListener;
+
/**
* 导航策略配置
*/
@@ -45,7 +49,10 @@ public class NaviClient implements IMogoNavi {
mAMapNavi.setEmulatorNaviSpeed( 120 );
mAMapNavi.setUseInnerVoice( true );
mAMapNaviListener = new NaviListenerAdapter( context, mAMapNavi, this );
+ mAimlessModeListener = new AimlessModeListenerAdapter() {
+ };
mAMapNavi.addAMapNaviListener( mAMapNaviListener );
+ mAMapNavi.addAimlessModeListener( mAimlessModeListener );
}
public static NaviClient getInstance( Context context ) {
@@ -123,6 +130,8 @@ public class NaviClient implements IMogoNavi {
if ( mAMapNaviListener != null ) {
mAMapNaviListener.stopNavi();
}
+ // 开启巡航 巡航时返回电子眼和特殊道路设施信息
+ mAMapNavi.startAimlessMode( AimLessMode.CAMERA_AND_SPECIALROAD_DETECTED );
}
@@ -131,6 +140,8 @@ public class NaviClient implements IMogoNavi {
if ( mAMapNaviListener.isStopped() ) {
return;
}
+ // 关闭巡航
+ mAMapNavi.stopAimlessMode();
mIsRealNavi = isRealNavi;
mAMapNavi.startNavi( isRealNavi ? NaviType.GPS : NaviType.EMULATOR );
}
@@ -176,16 +187,18 @@ public class NaviClient implements IMogoNavi {
@Override
public void setCalculatePathDisplayBounds( Rect bounds ) {
if ( mAMapNaviListener != null ) {
- mAMapNaviListener.setCalculatePathDisplayBounds(bounds);
+ mAMapNaviListener.setCalculatePathDisplayBounds( bounds );
}
}
- @Override public MogoNaviConfig getNaviConfig() {
+ @Override
+ public MogoNaviConfig getNaviConfig() {
return mMogoNaviConfig;
}
- @Override public boolean setBroadcastMode(int mode) {
- return mAMapNavi.setBroadcastMode(mode);
+ @Override
+ public boolean setBroadcastMode( int mode ) {
+ return mAMapNavi.setBroadcastMode( mode );
}
// -- end
diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviListenerAdapter.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviListenerAdapter.java
index b48d9ac07f..572380b7d1 100644
--- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviListenerAdapter.java
+++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/navi/NaviListenerAdapter.java
@@ -5,8 +5,13 @@ import android.graphics.Rect;
import com.amap.api.maps.model.Polyline;
import com.amap.api.navi.AMapNavi;
+import com.amap.api.navi.AimlessModeListener;
+import com.amap.api.navi.enums.AimLessMode;
+import com.amap.api.navi.enums.CameraType;
+import com.amap.api.navi.enums.CarEnterCameraStatus;
import com.amap.api.navi.enums.NaviType;
import com.amap.api.navi.model.AMapCalcRouteResult;
+import com.amap.api.navi.model.AMapNaviCameraInfo;
import com.amap.api.navi.model.AMapNaviInfo;
import com.amap.api.navi.model.AMapNaviLocation;
import com.amap.api.navi.model.NaviInfo;
@@ -15,6 +20,7 @@ import com.mogo.map.impl.amap.message.AMapMessageManager;
import com.mogo.map.impl.amap.utils.ObjectUtils;
import com.mogo.map.navi.MogoCalculatePath;
import com.mogo.map.navi.MogoNaviListenerHandler;
+import com.mogo.map.navi.MogoTraffic;
import com.mogo.map.navi.OnCalculatePathItemClickInteraction;
import com.mogo.utils.logger.Logger;
@@ -86,14 +92,77 @@ public class NaviListenerAdapter extends AMapNaviListenerAdapter {
}
@Override
- public void onStartNavi( int i ) {
- setStopped( false );
- setNaviing( true );
- if ( mAMapNavi != null ) {
- mAMapNavi.startSpeak();
+ public void updateCameraInfo( AMapNaviCameraInfo[] aMapNaviCameraInfos ) {
+ super.updateCameraInfo( aMapNaviCameraInfos );
+ if ( aMapNaviCameraInfos == null || aMapNaviCameraInfos.length == 0 ) {
+ return;
+ }
+ int limitSpeed = 0;
+ for ( AMapNaviCameraInfo aMapNaviCameraInfo : aMapNaviCameraInfos ) {
+ if ( aMapNaviCameraInfo == null ) {
+ continue;
+ }
+ limitSpeed = aMapNaviCameraInfo.getCameraSpeed();
+ if ( limitSpeed > 0 && aMapNaviCameraInfo.getCameraType() == CameraType.SPEED ) {
+ MogoTraffic traffic = new MogoTraffic( MogoTraffic.TYPE_NAVI );
+ traffic.setDistance( aMapNaviCameraInfo.getCameraDistance() );
+ traffic.setSpeedLimit( aMapNaviCameraInfo.getCameraSpeed() );
+ traffic.setDesc( "测速摄像" );
+ MogoNaviListenerHandler.getInstance().onUpdateTraffic( traffic );
+ }
+
+// switch ( aMapNaviCameraInfo.getCameraType() ) {
+// case CameraType.SPEED:
+//
+// break;
+// case CameraType.SURVEILLANCE:
+// traffic.setDesc( "监控摄像" );
+// break;
+// case CameraType.TRAFFICLIGHT:
+// traffic.setDesc( "闯红灯拍照" );
+// break;
+// case CameraType.BREAKRULE:
+// traffic.setDesc( "违章拍照" );
+// break;
+// case CameraType.BUSWAY:
+// traffic.setDesc( "公交专用道摄像头" );
+// break;
+// case CameraType.EMERGENCY:
+// traffic.setDesc( "应急车道拍照" );
+// break;
+// case CameraType.BICYCLE:
+// traffic.setDesc( "非机动车道" );
+// break;
+// case CameraType.INTERVALVELOCITYSTART:
+// traffic.setDesc( "区间测速起始" );
+// break;
+// case CameraType.INTERVALVELOCITYEND:
+// traffic.setDesc( "区间测速解除" );
+// break;
+// }
+ }
+ if ( limitSpeed <= 0 ) {
+ MogoTraffic traffic = new MogoTraffic( MogoTraffic.TYPE_NAVI );
+ traffic.setDistance( 0 );
+ traffic.setSpeedLimit( 0 );
+ traffic.setDesc( "测速摄像" );
+ MogoNaviListenerHandler.getInstance().onUpdateTraffic( traffic );
+ }
+ }
+
+ @Override
+ public void onStartNavi( int type ) {
+
+ // 巡航
+ if ( type != NaviType.CRUISE ) {
+ setStopped( false );
+ setNaviing( true );
+ if ( mAMapNavi != null ) {
+ mAMapNavi.startSpeak();
+ }
+ MogoNaviListenerHandler.getInstance().onStartNavi();
+ AMapMessageManager.getInstance().postNaviStarted();
}
- MogoNaviListenerHandler.getInstance().onStartNavi();
- AMapMessageManager.getInstance().postNaviStarted();
}
@Override
@@ -148,10 +217,10 @@ public class NaviListenerAdapter extends AMapNaviListenerAdapter {
if ( mNaviOverlayHelper != null ) {
mNaviOverlayHelper.handleClickedPolyline( polyline, isNaviing() );
mAMapNavi.selectRouteId( mNaviOverlayHelper.getSelectedPathId() );
- if ( isNaviing() ) {
- mAMapNavi.stopNavi();
- mAMapNavi.startNavi( mClient.isRealNavi() ? NaviType.GPS : NaviType.EMULATOR );
- }
+// if ( isNaviing() ) {
+// mAMapNavi.stopNavi();
+// mAMapNavi.startNavi( mClient.isRealNavi() ? NaviType.GPS : NaviType.EMULATOR );
+// }
}
}
@@ -175,15 +244,15 @@ public class NaviListenerAdapter extends AMapNaviListenerAdapter {
}
}
- public void clearCalculatePaths(){
+ public void clearCalculatePaths() {
if ( mNaviOverlayHelper != null ) {
mNaviOverlayHelper.clearCalculatedOverlay();
}
}
- public void setCalculatePathDisplayBounds( Rect bounds ){
+ public void setCalculatePathDisplayBounds( Rect bounds ) {
if ( mNaviOverlayHelper != null ) {
- mNaviOverlayHelper.setCalculatePathDisplayBounds(bounds);
+ mNaviOverlayHelper.setCalculatePathDisplayBounds( bounds );
}
}
}
diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/utils/ObjectUtils.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/utils/ObjectUtils.java
index b035a4fdf3..fec2a14a02 100644
--- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/utils/ObjectUtils.java
+++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/utils/ObjectUtils.java
@@ -636,6 +636,7 @@ public class ObjectUtils {
mogoNaviInfo.setNextRoadName( naviInfo.getNextRoadName() );
mogoNaviInfo.setPathRetainDistance( naviInfo.getPathRetainDistance() );
mogoNaviInfo.setPathRetainTime( naviInfo.getPathRetainTime() );
+ mogoNaviInfo.setCurrentSpeed( naviInfo.getLimitSpeed() );
return mogoNaviInfo;
}
}
diff --git a/libraries/map-baidu/build.gradle b/libraries/map-baidu/build.gradle
index 132d753ede..16897a579a 100644
--- a/libraries/map-baidu/build.gradle
+++ b/libraries/map-baidu/build.gradle
@@ -2,7 +2,7 @@ apply plugin: 'com.android.library'
android {
compileSdkVersion rootProject.ext.android.compileSdkVersion
- buildToolsVersion rootProject.ext.android.buildToolsVersion
+ // buildToolsVersion rootProject.ext.android.buildToolsVersion
defaultConfig {
minSdkVersion rootProject.ext.android.minSdkVersion
targetSdkVersion rootProject.ext.android.targetSdkVersion
diff --git a/libraries/mogo-map-api/build.gradle b/libraries/mogo-map-api/build.gradle
index 5c38883e28..9fbe1f35f1 100644
--- a/libraries/mogo-map-api/build.gradle
+++ b/libraries/mogo-map-api/build.gradle
@@ -2,7 +2,7 @@ apply plugin: 'com.android.library'
android {
compileSdkVersion rootProject.ext.android.compileSdkVersion
- buildToolsVersion rootProject.ext.android.buildToolsVersion
+ // buildToolsVersion rootProject.ext.android.buildToolsVersion
defaultConfig {
minSdkVersion rootProject.ext.android.minSdkVersion
targetSdkVersion rootProject.ext.android.targetSdkVersion
diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/IMogoNavi.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/IMogoNavi.java
index 73fcb2d307..74f7579b07 100644
--- a/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/IMogoNavi.java
+++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/IMogoNavi.java
@@ -63,7 +63,8 @@ public interface IMogoNavi {
*
* @param isRealNavi true - 实时导航 false - 模拟导航
*/
- void startNavi( boolean isRealNavi );
+ void
+ startNavi( boolean isRealNavi );
/**
* 是否正在导航
diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/IMogoNaviListener.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/IMogoNaviListener.java
index 762e5d4f91..3047900c0e 100644
--- a/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/IMogoNaviListener.java
+++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/IMogoNaviListener.java
@@ -44,4 +44,9 @@ public interface IMogoNaviListener {
* 路径规划失败
*/
void onoCalculateFailed();
+
+ /**
+ * 巡航信息发生改变
+ */
+ void onUpdateTraffic(MogoTraffic traffic);
}
diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/MogoNaviInfo.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/MogoNaviInfo.java
index 1da3f6d630..ee394bfef8 100644
--- a/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/MogoNaviInfo.java
+++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/MogoNaviInfo.java
@@ -54,6 +54,11 @@ public class MogoNaviInfo implements Parcelable {
*/
private int pathRetainDistance;
+ /**
+ * 当前限速
+ */
+ private float currentLimitSpeed;
+
public String getCurrentRoadName() {
return currentRoadName;
}
@@ -118,6 +123,14 @@ public class MogoNaviInfo implements Parcelable {
this.pathRetainDistance = pathRetainDistance;
}
+ public float getCurrentLimitSpeed() {
+ return currentLimitSpeed;
+ }
+
+ public void setCurrentLimitSpeed( float currentLimitSpeed ) {
+ this.currentLimitSpeed = currentLimitSpeed;
+ }
+
@Override
public int describeContents() {
return 0;
@@ -133,6 +146,7 @@ public class MogoNaviInfo implements Parcelable {
dest.writeString( this.nextRoadName );
dest.writeInt( this.pathRetainTime );
dest.writeInt( this.pathRetainDistance );
+ dest.writeFloat( this.currentLimitSpeed );
}
public MogoNaviInfo() {
@@ -147,9 +161,10 @@ public class MogoNaviInfo implements Parcelable {
this.nextRoadName = in.readString();
this.pathRetainTime = in.readInt();
this.pathRetainDistance = in.readInt();
+ this.currentLimitSpeed = in.readFloat();
}
- public static final Parcelable.Creator< MogoNaviInfo > CREATOR = new Parcelable.Creator< MogoNaviInfo >() {
+ public static final Creator< MogoNaviInfo > CREATOR = new Creator< MogoNaviInfo >() {
@Override
public MogoNaviInfo createFromParcel( Parcel source ) {
return new MogoNaviInfo( source );
diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/MogoNaviListenerHandler.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/MogoNaviListenerHandler.java
index f3a29328f9..f627910fe6 100644
--- a/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/MogoNaviListenerHandler.java
+++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/MogoNaviListenerHandler.java
@@ -91,4 +91,11 @@ public class MogoNaviListenerHandler implements IMogoNaviListener, IMogoNaviList
mDelegateListener.onoCalculateFailed();
}
}
+
+ @Override
+ public void onUpdateTraffic( MogoTraffic traffic ) {
+ if ( mDelegateListener != null ) {
+ mDelegateListener.onUpdateTraffic( traffic );
+ }
+ }
}
diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/MogoTraffic.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/MogoTraffic.java
new file mode 100644
index 0000000000..a331207c91
--- /dev/null
+++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/navi/MogoTraffic.java
@@ -0,0 +1,76 @@
+package com.mogo.map.navi;
+
+/**
+ * @author congtaowang
+ * @since 2020-01-16
+ *
+ * 巡航信息、导航信息
+ */
+public class MogoTraffic {
+
+ /**
+ * 导航
+ */
+ public static final int TYPE_NAVI = 1;
+
+ /**
+ * 巡航
+ */
+ public static final int TYPE_AIM = 2;
+
+ /**
+ * 导航 or 巡航
+ */
+ private int mFromType;
+
+ /**
+ * 距离
+ */
+ private int mDistance;
+
+ /**
+ * 限速
+ */
+ private int mSpeedLimit;
+
+ /**
+ * 描述
+ */
+ private String mDesc;
+
+ public MogoTraffic( int fromType ) {
+ mFromType = fromType;
+ }
+
+ public int getFromType() {
+ return mFromType;
+ }
+
+ public void setFromType( int fromType ) {
+ this.mFromType = fromType;
+ }
+
+ public int getDistance() {
+ return mDistance;
+ }
+
+ public void setDistance( int distance ) {
+ this.mDistance = distance;
+ }
+
+ public int getSpeedLimit() {
+ return mSpeedLimit;
+ }
+
+ public void setSpeedLimit( int speedLimit ) {
+ this.mSpeedLimit = speedLimit;
+ }
+
+ public String getDesc() {
+ return mDesc;
+ }
+
+ public void setDesc( String desc ) {
+ this.mDesc = desc;
+ }
+}
diff --git a/libraries/mogo-map/build.gradle b/libraries/mogo-map/build.gradle
index 3dfd2a8589..064d1d82b8 100644
--- a/libraries/mogo-map/build.gradle
+++ b/libraries/mogo-map/build.gradle
@@ -2,7 +2,7 @@ apply plugin: 'com.android.library'
android {
compileSdkVersion rootProject.ext.android.compileSdkVersion
- buildToolsVersion rootProject.ext.android.buildToolsVersion
+ // buildToolsVersion rootProject.ext.android.buildToolsVersion
defaultConfig {
minSdkVersion rootProject.ext.android.minSdkVersion
targetSdkVersion rootProject.ext.android.targetSdkVersion
diff --git a/modules/mogo-module-apps/build.gradle b/modules/mogo-module-apps/build.gradle
index 35003b7077..8b87ab74eb 100644
--- a/modules/mogo-module-apps/build.gradle
+++ b/modules/mogo-module-apps/build.gradle
@@ -3,7 +3,7 @@ apply plugin: 'com.alibaba.arouter'
android {
compileSdkVersion rootProject.ext.android.compileSdkVersion
- buildToolsVersion rootProject.ext.android.buildToolsVersion
+ // buildToolsVersion rootProject.ext.android.buildToolsVersion
defaultConfig {
minSdkVersion rootProject.ext.android.minSdkVersion
targetSdkVersion rootProject.ext.android.targetSdkVersion
diff --git a/modules/mogo-module-apps/src/main/res/drawable-ldpi/module_apps_ic_retract.png b/modules/mogo-module-apps/src/main/res/drawable-ldpi/module_apps_ic_retract.png
index 8c37a69e35..24d42281c4 100755
Binary files a/modules/mogo-module-apps/src/main/res/drawable-ldpi/module_apps_ic_retract.png and b/modules/mogo-module-apps/src/main/res/drawable-ldpi/module_apps_ic_retract.png differ
diff --git a/modules/mogo-module-apps/src/main/res/layout/module_apps_fragment_apps.xml b/modules/mogo-module-apps/src/main/res/layout/module_apps_fragment_apps.xml
index 1229ca7d01..20a38ba132 100644
--- a/modules/mogo-module-apps/src/main/res/layout/module_apps_fragment_apps.xml
+++ b/modules/mogo-module-apps/src/main/res/layout/module_apps_fragment_apps.xml
@@ -19,11 +19,11 @@
android:layout_height="match_parent">
@@ -38,7 +38,7 @@
android:id="@+id/module_apps_id_apps_pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:layout_marginTop="@dimen/dp_210"
+ android:layout_marginTop="@dimen/module_apps_pager_marginTop"
android:overScrollMode="never" />
+ android:paddingBottom="@dimen/module_apps_navigation_icon_paddingBottom">
\ No newline at end of file
diff --git a/modules/mogo-module-apps/src/main/res/layout/module_apps_item_app.xml b/modules/mogo-module-apps/src/main/res/layout/module_apps_item_app.xml
index 499d8a5166..7fe69dfb38 100644
--- a/modules/mogo-module-apps/src/main/res/layout/module_apps_item_app.xml
+++ b/modules/mogo-module-apps/src/main/res/layout/module_apps_item_app.xml
@@ -8,16 +8,16 @@
+ android:layout_width="@dimen/module_apps_navigation_icon_width"
+ android:layout_height="@dimen/module_apps_navigation_icon_height" />
+ android:textSize="@dimen/module_apps_app_name_textSize" />
\ No newline at end of file
diff --git a/modules/mogo-module-apps/src/main/res/layout/module_apps_item_app_pager.xml b/modules/mogo-module-apps/src/main/res/layout/module_apps_item_app_pager.xml
index 1e159101ce..b7fce405bf 100644
--- a/modules/mogo-module-apps/src/main/res/layout/module_apps_item_app_pager.xml
+++ b/modules/mogo-module-apps/src/main/res/layout/module_apps_item_app_pager.xml
@@ -5,8 +5,8 @@
android:layout_height="match_parent"
android:numColumns="6"
android:orientation="vertical"
- android:paddingLeft="@dimen/dp_220"
- android:paddingRight="@dimen/dp_220"
- android:verticalSpacing="@dimen/dp_154">
+ android:paddingLeft="@dimen/module_apps_page_paddingLeft"
+ android:paddingRight="@dimen/module_apps_page_paddingRight"
+ android:verticalSpacing="@dimen/module_apps_page_item_verticalSpacing">
\ No newline at end of file
diff --git a/modules/mogo-module-apps/src/main/res/values-ldpi/dimens.xml b/modules/mogo-module-apps/src/main/res/values-ldpi/dimens.xml
new file mode 100644
index 0000000000..a5316a0ea2
--- /dev/null
+++ b/modules/mogo-module-apps/src/main/res/values-ldpi/dimens.xml
@@ -0,0 +1,16 @@
+
+
+ 117px
+ 2.7px
+ 16px
+ 54.9px
+ 64px
+ 64px
+ 31.6px
+ 33px
+ 24px
+ 18px
+ 112px
+ 112px
+ 89px
+
\ No newline at end of file
diff --git a/modules/mogo-module-apps/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-apps/src/main/res/values-xhdpi/dimens.xml
new file mode 100644
index 0000000000..da464ff5de
--- /dev/null
+++ b/modules/mogo-module-apps/src/main/res/values-xhdpi/dimens.xml
@@ -0,0 +1,16 @@
+
+
+ 260px
+ 5px
+ 30px
+ 103px
+ 120px
+ 120px
+ 61px
+ 60px
+ 32px
+ 32px
+ 220px
+ 220px
+ 154px
+
\ No newline at end of file
diff --git a/modules/mogo-module-apps/src/main/res/values/dimens.xml b/modules/mogo-module-apps/src/main/res/values/dimens.xml
new file mode 100644
index 0000000000..da464ff5de
--- /dev/null
+++ b/modules/mogo-module-apps/src/main/res/values/dimens.xml
@@ -0,0 +1,16 @@
+
+
+ 260px
+ 5px
+ 30px
+ 103px
+ 120px
+ 120px
+ 61px
+ 60px
+ 32px
+ 32px
+ 220px
+ 220px
+ 154px
+
\ No newline at end of file
diff --git a/modules/mogo-module-common/build.gradle b/modules/mogo-module-common/build.gradle
index df6bc596ba..6268ca0629 100644
--- a/modules/mogo-module-common/build.gradle
+++ b/modules/mogo-module-common/build.gradle
@@ -2,7 +2,7 @@ apply plugin: 'com.android.library'
android {
compileSdkVersion rootProject.ext.android.compileSdkVersion
- buildToolsVersion rootProject.ext.android.buildToolsVersion
+ // buildToolsVersion rootProject.ext.android.buildToolsVersion
defaultConfig {
minSdkVersion rootProject.ext.android.minSdkVersion
targetSdkVersion rootProject.ext.android.targetSdkVersion
diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerActivitiesScope.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerActivitiesScope.java
index 208a79934f..ad7bc0e6dc 100644
--- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerActivitiesScope.java
+++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerActivitiesScope.java
@@ -2,15 +2,20 @@
package com.mogo.module.common.entity;
+import android.text.TextUtils;
+
import java.io.Serializable;
@SuppressWarnings("unused")
public class MarkerActivitiesScope implements Serializable {
private String content;
- private int isCheck;
+ private boolean isCheck;
public String getContent() {
+ if (TextUtils.isEmpty(content)) {
+ return "未知";
+ }
return content;
}
@@ -18,11 +23,11 @@ public class MarkerActivitiesScope implements Serializable {
this.content = content;
}
- public int getIsCheck() {
+ public boolean getIsCheck() {
return isCheck;
}
- public void setIsCheck(int isCheck) {
+ public void setIsCheck(boolean isCheck) {
this.isCheck = isCheck;
}
diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerDynamicData.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerDynamicData.java
index 0d94fae475..34ec679b67 100644
--- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerDynamicData.java
+++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerDynamicData.java
@@ -8,44 +8,159 @@ import java.io.Serializable;
@SuppressWarnings("unused")
public class MarkerDynamicData implements Serializable {
+ //QQ音乐,懒人听书,乐听头条 2 为书籍听书,3 为新闻,1 为qq音乐
+ private int type;
+ private String mediaId;//qq音乐id,书的bookId
+ //qq音乐url 懒人听书为“”
+ private String mediaUrl;
+ //歌曲名 ,当前播放书名,新闻标题内容
+ private String mediaName;
+ //演唱歌手,当前章节,新闻来源
+ private String mediaSinger;
+ //歌曲封面,书籍封面,新闻预览图
+ private String mediaImg;
+ //音乐类别,类似经典 ,流行只有qq特有
+ private String mediaType;
+ private int maxTime;//音频总时长
+ private String bookInfo;//懒人听书json串
+ //当前播放时长,可以不加,播放进度单独独立出来
+ private int curTime;
+ //是否是本地音频,只有qq音乐
+ private boolean isLocalMedia;//本地
+ //播放模式,顺序,单曲循环,随机
+ private int mediaPlayMode;
+ //1 播放 2 缓冲 0 暂停/停止 -1 播放错误
+ private int playState;
- private double id;
- private String name;
- private double type;
-
- public double getId() {
- return id;
+ public String getMediaId() {
+ return mediaId;
}
- public void setId(double id) {
- this.id = id;
+ public void setMediaId(String mediaId) {
+ this.mediaId = mediaId;
}
- public String getName() {
- if (TextUtils.isEmpty(name)) {
- return "未知";
- }
- return name;
+ public String getMediaUrl() {
+ return mediaUrl;
}
- public void setName(String name) {
- this.name = name;
+ public void setMediaUrl(String mediaUrl) {
+ this.mediaUrl = mediaUrl;
}
- public double getType() {
+ public int getType() {
return type;
}
- public void setType(double type) {
+ public void setType(int type) {
this.type = type;
}
+ public int getPlayState() {
+ return playState;
+ }
+
+ public void setPlayState(int playState) {
+ this.playState = playState;
+ }
+
+ public String getMediaName() {
+ if (TextUtils.isEmpty(mediaName)) {
+ return "未知";
+ }
+ return mediaName;
+ }
+
+ public void setMediaName(String mediaName) {
+ this.mediaName = mediaName;
+ }
+
+ public String getMediaSinger() {
+ if (TextUtils.isEmpty(mediaSinger)) {
+ return "";
+ }
+ return mediaSinger;
+ }
+
+ public void setMediaSinger(String mediaSinger) {
+ this.mediaSinger = mediaSinger;
+ }
+
+ public String getMediaImg() {
+ return mediaImg;
+ }
+
+ public void setMediaImg(String mediaImg) {
+ this.mediaImg = mediaImg;
+ }
+
+ public long getMaxTime() {
+ return maxTime;
+ }
+
+ public void setMaxTime(int maxTime) {
+ this.maxTime = maxTime;
+ }
+
+ public long getCurTime() {
+ return curTime;
+ }
+
+ public void setCurTime(int curTime) {
+ this.curTime = curTime;
+ }
+
+ public String getMediaType() {
+ if (TextUtils.isEmpty(mediaType)) {
+ return "";
+ }
+ return mediaType;
+ }
+
+ public void setMediaType(String mediaType) {
+ this.mediaType = mediaType;
+ }
+
+ public boolean isLocalMedia() {
+ return isLocalMedia;
+ }
+
+ public void setLocalMedia(boolean localMedia) {
+ isLocalMedia = localMedia;
+ }
+
+ public int getMediaPlayMode() {
+ return mediaPlayMode;
+ }
+
+ public void setMediaPlayMode(int mediaPlayMode) {
+ this.mediaPlayMode = mediaPlayMode;
+ }
+
+ public String getBookInfo() {
+ return bookInfo;
+ }
+
+ public void setBookInfo(String bookInfo) {
+ this.bookInfo = bookInfo;
+ }
+
@Override
public String toString() {
return "MarkerDynamicData{" +
- "id=" + id +
- ", name='" + name + '\'' +
- ", type=" + type +
+ "type=" + type +
+ ", mediaId='" + mediaId + '\'' +
+ ", mediaUrl='" + mediaUrl + '\'' +
+ ", mediaName='" + mediaName + '\'' +
+ ", mediaSinger='" + mediaSinger + '\'' +
+ ", mediaImg='" + mediaImg + '\'' +
+ ", mediaType='" + mediaType + '\'' +
+ ", maxTime=" + maxTime +
+ ", bookInfo='" + bookInfo + '\'' +
+ ", curTime=" + curTime +
+ ", isLocalMedia=" + isLocalMedia +
+ ", mediaPlayMode=" + mediaPlayMode +
+ ", playState=" + playState +
'}';
}
}
diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerHobbyDatum.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerHobbyDatum.java
index 5d69c78ec0..a190f2f759 100644
--- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerHobbyDatum.java
+++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerHobbyDatum.java
@@ -1,42 +1,71 @@
-
package com.mogo.module.common.entity;
-
-import android.text.TextUtils;
-
import java.io.Serializable;
+import java.util.List;
-@SuppressWarnings("unused")
+/**
+ * author : donghongyu
+ * e-mail : 1358506549@qq.com
+ * date : 2020-01-1615:12
+ * desc : 爱好
+ * version: 1.0
+ */
public class MarkerHobbyDatum implements Serializable {
+ private List singerTop2; // 最喜欢的两位歌手
+ private List songTypeTop2; // 最喜欢的两种音乐类型
+ private List newsType; // 最喜欢的资讯类型
+ private List listenBookTop2; // 最喜欢听的两本书
+ private List ifSociety; // 是否喜爱社交
- private String content;
-
- private int isCheck;
- public String getContent() {
- if (TextUtils.isEmpty(content)) {
- return "未知";
- }
- return content;
+ public List getSingerTop2() {
+ return singerTop2;
}
- public void setContent(String content) {
- this.content = content;
+ public void setSingerTop2(List singerTop2) {
+ this.singerTop2 = singerTop2;
}
- public int getIsCheck() {
- return isCheck;
+ public List getSongTypeTop2() {
+ return songTypeTop2;
}
- public void setIsCheck(int isCheck) {
- this.isCheck = isCheck;
+ public void setSongTypeTop2(List songTypeTop2) {
+ this.songTypeTop2 = songTypeTop2;
+ }
+
+ public List getNewsType() {
+ return newsType;
+ }
+
+ public void setNewsType(List newsType) {
+ this.newsType = newsType;
+ }
+
+ public List getListenBookTop2() {
+ return listenBookTop2;
+ }
+
+ public void setListenBookTop2(List listenBookTop2) {
+ this.listenBookTop2 = listenBookTop2;
+ }
+
+ public List getIfSociety() {
+ return ifSociety;
+ }
+
+ public void setIfSociety(List ifSociety) {
+ this.ifSociety = ifSociety;
}
@Override
public String toString() {
return "MarkerHobbyDatum{" +
- "content='" + content + '\'' +
- ", isCheck=" + isCheck +
+ "singerTop2=" + singerTop2 +
+ ", songTypeTop2=" + songTypeTop2 +
+ ", newsType=" + newsType +
+ ", listenBookTop2=" + listenBookTop2 +
+ ", ifSociety=" + ifSociety +
'}';
}
}
diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerOnlineCar.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerOnlineCar.java
index 1bc7ea165b..a9f25f16b4 100644
--- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerOnlineCar.java
+++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerOnlineCar.java
@@ -13,7 +13,7 @@ public class MarkerOnlineCar implements Serializable {
private MarkerUserInfo userInfo;//用户数据
private MarkerCarInfo carInfo;//车辆数据
private MarkerDynamicData dynamicData;//动态数据
- private List hobbyData;//爱好数据集合
+ private MarkerHobbyDatum hobbyData;//爱好数据集合
private List activitiesScope;//活动范围数据集合
private double compatibility;
@@ -49,11 +49,11 @@ public class MarkerOnlineCar implements Serializable {
this.dynamicData = dynamicData;
}
- public List getHobbyData() {
+ public MarkerHobbyDatum getHobbyData() {
return hobbyData;
}
- public void setHobbyData(List hobbyData) {
+ public void setHobbyData(MarkerHobbyDatum hobbyData) {
this.hobbyData = hobbyData;
}
diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerOnlineTag.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerOnlineTag.java
new file mode 100644
index 0000000000..4266fd9d34
--- /dev/null
+++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerOnlineTag.java
@@ -0,0 +1,41 @@
+
+package com.mogo.module.common.entity;
+
+
+import android.text.TextUtils;
+
+import java.io.Serializable;
+
+@SuppressWarnings("unused")
+public class MarkerOnlineTag implements Serializable {
+
+ private String content;
+ private boolean isCheck;
+
+ public String getContent() {
+ if (TextUtils.isEmpty(content)) {
+ return "未知";
+ }
+ return content;
+ }
+
+ public void setContent(String content) {
+ this.content = content;
+ }
+
+ public boolean getIsCheck() {
+ return isCheck;
+ }
+
+ public void setIsCheck(boolean isCheck) {
+ this.isCheck = isCheck;
+ }
+
+ @Override
+ public String toString() {
+ return "MarkerHobbyDatum{" +
+ "content='" + content + '\'' +
+ ", isCheck=" + isCheck +
+ '}';
+ }
+}
diff --git a/modules/mogo-module-extensions/build.gradle b/modules/mogo-module-extensions/build.gradle
index 5c2e75d70a..1434fe9a58 100644
--- a/modules/mogo-module-extensions/build.gradle
+++ b/modules/mogo-module-extensions/build.gradle
@@ -3,7 +3,7 @@ apply plugin: 'com.alibaba.arouter'
android {
compileSdkVersion rootProject.ext.android.compileSdkVersion
- buildToolsVersion rootProject.ext.android.buildToolsVersion
+ // buildToolsVersion rootProject.ext.android.buildToolsVersion
defaultConfig {
minSdkVersion rootProject.ext.android.minSdkVersion
targetSdkVersion rootProject.ext.android.targetSdkVersion
diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/anim/JSurfaceView.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/anim/JSurfaceView.java
index cae414cf21..46c005b357 100644
--- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/anim/JSurfaceView.java
+++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/anim/JSurfaceView.java
@@ -15,9 +15,16 @@ import android.view.SurfaceHolder;
import android.view.SurfaceView;
import com.mogo.utils.ThreadPoolService;
+import com.mogo.utils.logger.Logger;
+
+import java.lang.ref.WeakReference;
+import java.util.HashMap;
+import java.util.Map;
public class JSurfaceView extends SurfaceView implements Runnable, SurfaceHolder.Callback {
+ private static final String TAG = "JSurfaceView";
+
private SurfaceHolder mHolder;
/**
@@ -33,6 +40,15 @@ public class JSurfaceView extends SurfaceView implements Runnable, SurfaceHolder
*/
private int[] mFrames;
+ // 使用 BitmapFactory.Option.inBitmap 属性复用 bitmap 对象
+ private Bitmap mContainerBitmap = null;
+
+ // mContainerBitmap 是否生效
+ private boolean mContainerBitmapStatus = true;
+
+ // mContainerBitmapStatus 为 false 时,使用该缓存方案
+ private Map< Integer, WeakReference< Bitmap > > mBitmapRefMap = new HashMap<>();
+
public JSurfaceView( Context context ) {
super( context );
init();
@@ -87,28 +103,60 @@ public class JSurfaceView extends SurfaceView implements Runnable, SurfaceHolder
private void drawBitmap() {
//获取画布并锁定
- Canvas mCanvas = mHolder.lockCanvas();
- if ( mCanvas == null ) {
+ Canvas canvas = mHolder.lockCanvas();
+ if ( canvas == null ) {
return;
}
//绘制透明色
- mCanvas.drawColor( Color.TRANSPARENT, PorterDuff.Mode.CLEAR );
- Bitmap mBitmap = BitmapFactory.decodeResource( getResources(), mFrames[mCurrentPos % mFrames.length] );
+ canvas.drawColor( Color.TRANSPARENT, PorterDuff.Mode.CLEAR );
+
+ int factPosition = mCurrentPos % mFrames.length;
+
+ if ( mContainerBitmapStatus ) {
+ if ( mContainerBitmap == null ) {
+ BitmapFactory.Options options = new BitmapFactory.Options();
+ options.inMutable = true;
+ mContainerBitmap = BitmapFactory.decodeResource( getResources(), mFrames[factPosition], options );
+ } else {
+ BitmapFactory.Options options = new BitmapFactory.Options();
+ options.inMutable = true;
+ options.inBitmap = mContainerBitmap;
+ try {
+ BitmapFactory.decodeResource( getResources(), mFrames[factPosition], options );
+ } catch ( Exception e ) {
+ Logger.e( TAG, e, "error." );
+ mContainerBitmapStatus = false;
+ mContainerBitmap = null;
+ }
+ }
+ }
+ if ( !mContainerBitmapStatus ) {
+ WeakReference< Bitmap > ref = mBitmapRefMap.get( factPosition );
+ if ( ref != null && ref.get() != null && !ref.get().isRecycled() ) {
+ mContainerBitmap = ref.get();
+ } else {
+ mContainerBitmap = BitmapFactory.decodeResource( getResources(), mFrames[factPosition] );
+ mBitmapRefMap.put( factPosition, new WeakReference<>( mContainerBitmap ) );
+ }
+ }
+
+ if ( mContainerBitmap == null || mContainerBitmap.isRecycled() ) {
+ return;
+ }
Paint paint = new Paint();
Rect mSrcRect = new Rect( 0,
0,
- mBitmap.getWidth(),
- mBitmap.getHeight() ); // 图片绘制
+ mContainerBitmap.getWidth(),
+ mContainerBitmap.getHeight() ); // 图片绘制
Rect mDestRect = new Rect( 0,
0,
getWidth(),
getHeight() );// 图片绘制位置
- mCanvas.drawBitmap( mBitmap, mSrcRect, mDestRect, paint );
+ canvas.drawBitmap( mContainerBitmap, mSrcRect, mDestRect, paint );
//解锁画布,并展示bitmap到surface
- mHolder.unlockCanvasAndPost( mCanvas );
- mBitmap.recycle();
+ mHolder.unlockCanvasAndPost( canvas );
}
@Override
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 f02dad8dff..e9bbd2e69f 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
@@ -23,6 +23,7 @@ import com.mogo.map.model.MogoPoi;
import com.mogo.map.navi.IMogoNavi;
import com.mogo.map.navi.IMogoNaviListener;
import com.mogo.map.navi.MogoNaviInfo;
+import com.mogo.map.navi.MogoTraffic;
import com.mogo.map.uicontroller.EnumMapUI;
import com.mogo.map.uicontroller.IMogoMapUIController;
import com.mogo.module.common.MogoModulePaths;
@@ -41,6 +42,7 @@ import com.mogo.service.module.IMogoModuleProvider;
import com.mogo.service.module.IMogoRegisterCenter;
import com.mogo.service.windowview.IMogoWindowManager;
import com.mogo.utils.TipToast;
+
import java.util.HashMap;
/**
@@ -67,6 +69,10 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
private NaviInfoView mNaviInfo;
private TextView mExitNavi;
+ private View mSpeedLimit;
+ private TextView mSpeedLimitValue;
+ private View mSpeedLimitUnit;
+
private IMogoMapService mService;
private IMogoMapUIController mMApUIController;
private IMogoLocationClient mMogoLocationClient;
@@ -91,7 +97,7 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
@Override
protected void initViews() {
mMogoFragmentManager = ( IMogoFragmentManager ) ARouter.getInstance().build( MogoServicePaths.PATH_FRAGMENT_MANAGER ).navigation();
- mMogoAddressManager = (IMogoAddressManager) ARouter.getInstance().build( MogoServicePaths.PATH_ADDRESS_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 );
@@ -135,7 +141,7 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
mExitNavi.setOnClickListener( view -> {
if ( mMogoNavi != null ) {
if ( mIsLock ) {
- NaviNoticeDialog naviNoticeDialog = new NaviNoticeDialog(getContext());
+ NaviNoticeDialog naviNoticeDialog = new NaviNoticeDialog( getContext() );
naviNoticeDialog.show();
} else {
mMApUIController.recoverLockMode();
@@ -143,6 +149,10 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
}
} );
+ 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
@@ -188,9 +198,9 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
mCommonAddress.setVisibility( View.GONE );
mNaviInfo.setVisibility( View.VISIBLE );
mExitNavi.setVisibility( View.VISIBLE );
- AnalyticsUtils.track("Navigation_guide_type", new HashMap<>());
+ AnalyticsUtils.track( "Navigation_guide_type", new HashMap<>() );
- mMApUIController.setPointToCenter(0.675926, 0.77552);
+ mMApUIController.setPointToCenter( 0.675926, 0.77552 );
}
@Override
@@ -198,9 +208,10 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
mCommonAddress.setVisibility( View.VISIBLE );
mNaviInfo.setVisibility( View.GONE );
mExitNavi.setVisibility( View.GONE );
- AnalyticsUtils.track("Navigation_guide_type", new HashMap<>());
+ mSpeedLimit.setVisibility( View.GONE );
+ AnalyticsUtils.track( "Navigation_guide_type", new HashMap<>() );
- mMApUIController.setPointToCenter(0.66145, 0.590688);
+ mMApUIController.setPointToCenter( 0.66145, 0.590688 );
}
@@ -212,6 +223,20 @@ public class EntranceFragment extends MvpFragment< EntranceView, EntrancePresent
public void onoCalculateFailed() {
}
+ @Override
+ public void onUpdateTraffic( MogoTraffic traffic ) {
+ if ( traffic == null ) {
+ return;
+ }
+ if ( traffic.getSpeedLimit() <= 0 ) {
+ mSpeedLimit.setVisibility( View.INVISIBLE );
+ mSpeedLimitValue.setText( "--" );
+ } else {
+ mSpeedLimit.setVisibility( View.VISIBLE );
+ mSpeedLimitValue.setText( String.valueOf( traffic.getSpeedLimit() ) );
+ }
+ }
+
@Override
public void onMapLoaded() {
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_cloudy.png b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_cloudy.png
new file mode 100755
index 0000000000..8a9ef00365
Binary files /dev/null and b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_cloudy.png differ
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_dust_sand.png b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_dust_sand.png
new file mode 100755
index 0000000000..e4b369fd5d
Binary files /dev/null and b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_dust_sand.png differ
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_duststorm.png b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_duststorm.png
new file mode 100755
index 0000000000..3df9ec7236
Binary files /dev/null and b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_duststorm.png differ
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_fog.png b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_fog.png
new file mode 100755
index 0000000000..62fd9f4242
Binary files /dev/null and b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_fog.png differ
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_haze.png b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_haze.png
new file mode 100755
index 0000000000..5448cd94e6
Binary files /dev/null and b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_haze.png differ
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_heavy_rain.png b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_heavy_rain.png
new file mode 100755
index 0000000000..fa9f6d73bf
Binary files /dev/null and b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_heavy_rain.png differ
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_light_rain.png b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_light_rain.png
new file mode 100755
index 0000000000..19365b521a
Binary files /dev/null and b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_light_rain.png differ
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_moderate_rain.png b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_moderate_rain.png
new file mode 100755
index 0000000000..19365b521a
Binary files /dev/null and b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_moderate_rain.png differ
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_overcast.png b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_overcast.png
new file mode 100755
index 0000000000..4a90f7c87e
Binary files /dev/null and b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_overcast.png differ
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_severe_storm.png b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_severe_storm.png
new file mode 100755
index 0000000000..4650033797
Binary files /dev/null and b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_severe_storm.png differ
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_shower.png b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_shower.png
new file mode 100755
index 0000000000..ed7ccf66b9
Binary files /dev/null and b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_shower.png differ
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_snow.png b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_snow.png
new file mode 100755
index 0000000000..67d43a2ee1
Binary files /dev/null and b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_snow.png differ
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_sunny.png b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_sunny.png
new file mode 100755
index 0000000000..73ceaaf264
Binary files /dev/null and b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_sunny.png differ
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_thunder.png b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_thunder.png
new file mode 100755
index 0000000000..8609690645
Binary files /dev/null and b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_thunder.png differ
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_thundershower.png b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_thundershower.png
new file mode 100755
index 0000000000..e5821e3fc3
Binary files /dev/null and b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_thundershower.png differ
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_unknown.png b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_unknown.png
new file mode 100755
index 0000000000..2e2a052a74
Binary files /dev/null and b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/ic_unknown.png differ
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/module_map_ic_search.png b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/module_map_ic_search.png
old mode 100644
new mode 100755
index 27b414c367..a03c6eb313
Binary files a/modules/mogo-module-extensions/src/main/res/drawable-ldpi/module_map_ic_search.png and b/modules/mogo-module-extensions/src/main/res/drawable-ldpi/module_map_ic_search.png differ
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_cloudy.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_cloudy.png
similarity index 100%
rename from modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_cloudy.png
rename to modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_cloudy.png
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_dust_sand.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_dust_sand.png
similarity index 100%
rename from modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_dust_sand.png
rename to modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_dust_sand.png
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_duststorm.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_duststorm.png
similarity index 100%
rename from modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_duststorm.png
rename to modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_duststorm.png
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_fog.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_fog.png
similarity index 100%
rename from modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_fog.png
rename to modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_fog.png
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_haze.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_haze.png
similarity index 100%
rename from modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_haze.png
rename to modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_haze.png
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_heavy_rain.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_heavy_rain.png
similarity index 100%
rename from modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_heavy_rain.png
rename to modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_heavy_rain.png
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_light_rain.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_light_rain.png
similarity index 100%
rename from modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_light_rain.png
rename to modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_light_rain.png
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_moderate_rain.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_moderate_rain.png
similarity index 100%
rename from modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_moderate_rain.png
rename to modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_moderate_rain.png
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_overcast.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_overcast.png
similarity index 100%
rename from modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_overcast.png
rename to modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_overcast.png
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_severe_storm.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_severe_storm.png
similarity index 100%
rename from modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_severe_storm.png
rename to modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_severe_storm.png
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_shower.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_shower.png
similarity index 100%
rename from modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_shower.png
rename to modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_shower.png
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_snow.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_snow.png
similarity index 100%
rename from modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_snow.png
rename to modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_snow.png
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_sunny.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_sunny.png
similarity index 100%
rename from modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_sunny.png
rename to modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_sunny.png
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_thunder.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_thunder.png
similarity index 100%
rename from modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_thunder.png
rename to modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_thunder.png
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_thundershower.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_thundershower.png
similarity index 100%
rename from modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_thundershower.png
rename to modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_thundershower.png
diff --git a/modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_unknown.png b/modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_unknown.png
similarity index 100%
rename from modules/mogo-module-extensions/src/main/res/drawable-nodpi/ic_unknown.png
rename to modules/mogo-module-extensions/src/main/res/drawable-xhdpi/ic_unknown.png
diff --git a/modules/mogo-module-extensions/src/main/res/drawable/module_ext_dw_speed_limit_bkg.xml b/modules/mogo-module-extensions/src/main/res/drawable/module_ext_dw_speed_limit_bkg.xml
new file mode 100644
index 0000000000..290a36041c
--- /dev/null
+++ b/modules/mogo-module-extensions/src/main/res/drawable/module_ext_dw_speed_limit_bkg.xml
@@ -0,0 +1,9 @@
+
+
+ -
+
+
+ />
+
+
+
\ No newline at end of file
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 d21d892790..2ea2761fe9 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
@@ -1,24 +1,25 @@
@@ -26,9 +27,9 @@
@@ -57,8 +58,8 @@
@@ -71,22 +72,52 @@
+
+
+
+
+
+
+
@@ -107,11 +138,11 @@
android:src="@drawable/module_map_ic_move2_current_location"
android:text="实景"
android:textColor="#CCFFFFFF"
- android:textSize="@dimen/dp_24" />
+ android:textSize="@dimen/module_ext_operation_panel_vr_textSize" />
@@ -120,7 +151,7 @@
@@ -133,30 +164,30 @@
+ app:layout_goneMarginBottom="@dimen/module_ext_operation_panel_share_goneMarginBottom"
+ app:layout_goneMarginRight="@dimen/module_ext_operation_panel_share_goneMarginRight" />
diff --git a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_extensions.xml b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_extensions.xml
index 1dfd0c5f6c..7aafa02548 100644
--- a/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_extensions.xml
+++ b/modules/mogo-module-extensions/src/main/res/layout/module_ext_layout_extensions.xml
@@ -3,16 +3,16 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
- android:layout_height="@dimen/dp_120"
+ android:layout_height="@dimen/module_ext_height"
android:background="@drawable/module_ext_dw_shadow_frame_bkg"
android:orientation="vertical"
- android:paddingLeft="@dimen/dp_70"
- android:paddingRight="@dimen/dp_70">
+ android:paddingLeft="@dimen/module_ext_paddingLeft"
+ android:paddingRight="@dimen/module_ext_paddingRight">
@@ -24,7 +24,7 @@
android:gravity="center_vertical"
android:text="@string/module_ext_str_voice_msg"
android:textColor="@color/module_ext_color_voice_text"
- android:textSize="@dimen/dp_32"
+ android:textSize="@dimen/module_ext_voice_textSize"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toRightOf="@+id/module_ext_id_voice"
app:layout_constraintTop_toTopOf="parent" />
@@ -35,7 +35,7 @@
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:textColor="#FFFFFF"
- android:textSize="@dimen/dp_48"
+ android:textSize="@dimen/module_ext_time_textSize"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
@@ -45,10 +45,10 @@
android:id="@+id/module_ext_id_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginRight="@dimen/dp_80"
+ android:layout_marginRight="@dimen/module_ext_date_marginRight"
android:gravity="center_vertical"
android:textColor="#FFFFFF"
- android:textSize="@dimen/dp_28"
+ android:textSize="@dimen/module_ext_date_textSize"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toLeftOf="@+id/module_ext_id_time"
app:layout_constraintTop_toTopOf="parent"
@@ -58,8 +58,8 @@
android:id="@+id/module_ext_id_weather_container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginRight="@dimen/dp_26"
- android:gravity="center"
+ android:layout_marginRight="@dimen/module_ext_weather_marginRight"
+ android:gravity="bottom"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toLeftOf="@+id/module_ext_id_date"
@@ -67,25 +67,25 @@
+ android:layout_width="@dimen/module_ext_weather_icon_width"
+ android:layout_height="@dimen/module_ext_weather_icon_height" />
@@ -100,7 +100,7 @@
android:id="@+id/module_ext_id_msg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginRight="@dimen/dp_28"
+ android:layout_marginRight="@dimen/module_ext_msg_marginRight"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toLeftOf="@+id/module_ext_id_weather_container"
@@ -113,13 +113,13 @@
diff --git a/modules/mogo-module-extensions/src/main/res/layout/module_map_layout_navi_info_panel.xml b/modules/mogo-module-extensions/src/main/res/layout/module_map_layout_navi_info_panel.xml
index 53427653f7..d9de30169c 100644
--- a/modules/mogo-module-extensions/src/main/res/layout/module_map_layout_navi_info_panel.xml
+++ b/modules/mogo-module-extensions/src/main/res/layout/module_map_layout_navi_info_panel.xml
@@ -1,17 +1,17 @@
@@ -20,10 +20,10 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/module_map_id_navi_next_info_road_turn_icon"
- android:layout_marginTop="@dimen/dp_10"
+ android:layout_marginTop="@dimen/module_ext_navi_info_panel_next_info_distance_marginTop"
android:layout_toRightOf="@+id/module_map_id_navi_next_info_road_turn_icon"
android:textColor="#282828"
- android:textSize="@dimen/dp_60"
+ android:textSize="@dimen/module_ext_navi_info_panel_next_info_distance_textSize"
tools:text="53" />
\ No newline at end of file
diff --git a/modules/mogo-module-extensions/src/main/res/values-ldpi/dimens.xml b/modules/mogo-module-extensions/src/main/res/values-ldpi/dimens.xml
new file mode 100644
index 0000000000..9f9c7a937f
--- /dev/null
+++ b/modules/mogo-module-extensions/src/main/res/values-ldpi/dimens.xml
@@ -0,0 +1,93 @@
+
+
+
+ 58px
+ 18px
+ 8px
+ 11.2px
+ 10.8px
+ 17px
+ 20px
+
+ 58px
+ 19px
+ 8px
+ 64.2px
+ 58px
+ 1px
+ 33.4px
+ 64.2px
+ 58px
+
+
+ 96px
+ 96px
+ 8px
+ 32px
+ 32px
+ 15px
+
+ 20px
+ 8px
+
+ 58px
+ 20px
+ 34.5px
+ 58px
+ 17px
+ 31.4px
+ 1.2px
+ 58px
+ 58px
+ 58px
+ 21px
+ 14px
+ 34.5px
+ 20px
+
+
+ 130px
+ 58px
+ 20px
+ 32px
+ 22px
+
+
+ 640px
+ 32px
+ 32px
+ 64px
+ 64px
+ 22px
+ 28px
+ 22px
+ 22px
+ 16px
+ 24px
+ 24px
+ 18px
+ 18.48px
+ 16px
+ 22px
+ 28px
+ 15px
+ 15px
+ 11.73px
+
+
+ 244px
+ 170px
+ 85px
+ 85px
+ 13px
+ 13px
+ 20px
+ 32px
+ 7px
+ 8px
+ 16px
+ 15px
+ 24px
+
+ 15px
+
\ No newline at end of file
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
new file mode 100644
index 0000000000..6280c4cf51
--- /dev/null
+++ b/modules/mogo-module-extensions/src/main/res/values-xhdpi/dimens.xml
@@ -0,0 +1,91 @@
+
+
+
+ 90px
+ 32px
+ 2px
+ 16px
+ 26px
+ 26px
+ 32px
+
+ 90px
+ 32px
+ 2px
+ 100px
+ 90px
+ 2px
+ 54px
+ 100px
+ 90px
+
+ 180px
+ 180px
+ 2px
+ 60px
+ 60px
+ 28px
+
+ 32px
+ 2px
+
+ 90px
+ 32px
+ 60px
+ 92px
+ 24px
+ 48px
+ 2px
+ 90px
+ 90px
+ 90px
+ 40px
+ 24px
+ 32px
+ 32px
+
+ 200px
+ 90px
+ 32px
+ 60px
+ 32px
+
+
+ 120px
+ 60px
+ 60px
+ 120px
+ 120px
+ 32px
+ 48px
+ 80px
+ 28px
+ 26px
+ 44px
+ 44px
+ 18px
+ 34px
+ 26px
+ 28px
+ 28px
+ 30px
+ 30px
+ 20px
+
+
+ 458px
+ 318px
+ 159px
+ 159px
+ 24px
+ 24px
+ 10px
+ 60px
+ 12px
+ 16px
+ 28px
+ 28px
+ 24px
+ 28px
+
+
\ No newline at end of file
diff --git a/modules/mogo-module-extensions/src/main/res/values/dimens.xml b/modules/mogo-module-extensions/src/main/res/values/dimens.xml
new file mode 100644
index 0000000000..bb5f4d1780
--- /dev/null
+++ b/modules/mogo-module-extensions/src/main/res/values/dimens.xml
@@ -0,0 +1,91 @@
+
+
+
+ 90px
+ 32px
+ 2px
+ 16px
+ 26px
+ 26px
+ 32px
+
+ 90px
+ 32px
+ 2px
+ 100px
+ 90px
+ 2px
+ 54px
+ 100px
+ 90px
+
+ 180px
+ 180px
+ 2px
+ 60px
+ 60px
+ 28px
+
+ 32px
+ 2px
+
+ 90px
+ 32px
+ 60px
+ 92px
+ 24px
+ 48px
+ 2px
+ 90px
+ 90px
+ 90px
+ 40px
+ 24px
+ 32px
+ 32px
+
+ 200px
+ 90px
+ 32px
+ 60px
+ 32px
+
+
+ 120px
+ 60px
+ 60px
+ 120px
+ 120px
+ 32px
+ 48px
+ 80px
+ 28px
+ 26px
+ 44px
+ 44px
+ 18px
+ 34px
+ 26px
+ 28px
+ 28px
+ 30px
+ 30px
+ 20px
+
+
+ 458px
+ 318px
+ 159px
+ 159px
+ 24px
+ 24px
+ 10px
+ 60px
+ 12px
+ 16px
+ 28px
+ 28px
+ 24px
+ 28px
+
+
\ No newline at end of file
diff --git a/modules/mogo-module-main/build.gradle b/modules/mogo-module-main/build.gradle
index b7f3d015bb..61422928c8 100644
--- a/modules/mogo-module-main/build.gradle
+++ b/modules/mogo-module-main/build.gradle
@@ -2,7 +2,7 @@ apply plugin: 'com.android.library'
android {
compileSdkVersion rootProject.ext.android.compileSdkVersion
- buildToolsVersion rootProject.ext.android.buildToolsVersion
+ // buildToolsVersion rootProject.ext.android.buildToolsVersion
defaultConfig {
minSdkVersion rootProject.ext.android.minSdkVersion
targetSdkVersion rootProject.ext.android.targetSdkVersion
diff --git a/modules/mogo-module-main/src/main/AndroidManifest.xml b/modules/mogo-module-main/src/main/AndroidManifest.xml
index 5b83761576..3abd196eb2 100644
--- a/modules/mogo-module-main/src/main/AndroidManifest.xml
+++ b/modules/mogo-module-main/src/main/AndroidManifest.xml
@@ -5,7 +5,7 @@
impleme
@Override
public void onPageSelected( int position ) {
try {
+ IMogoModuleProvider provider = mCardModulesAdapter.getProvider( mCurrentPosition );
+ trackLastCardShowEvent( provider );
+
mCurrentPosition = position;
- final IMogoModuleProvider provider = mCardModulesAdapter.getProvider( position );
+ provider = mCardModulesAdapter.getProvider( mCurrentPosition );
mMogoModuleHandler.setEnable( provider.getModuleName() );
if ( !isClickMarker ) {
mMogoCardManager.invoke( position, mMogoModuleHandler.getCurrentModuleName() );
}
- trackCardSelectedEvent( provider );
} catch ( Exception e ) {
e.printStackTrace();
}
}
- @Override
- public void onPageScrolled( int position, float positionOffset, int positionOffsetPixels ) {
- super.onPageScrolled( position, positionOffset, positionOffsetPixels );
- }
-
@Override
public void onPageScrollStateChanged( int state ) {
super.onPageScrollStateChanged( state );
@@ -135,7 +131,7 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
* 卡片展示时长埋点
* @param provider
*/
- private void trackCardSelectedEvent( IMogoModuleProvider provider ) {
+ private void trackLastCardShowEvent( IMogoModuleProvider provider ) {
if ( provider == null ) {
return;
}
@@ -143,6 +139,7 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
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();
}
@@ -157,6 +154,7 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
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 );
}
} );
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 dec3600f87..6cc2f7d8ee 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
@@ -19,6 +19,7 @@ import com.mogo.map.marker.IMogoMarkerClickListener;
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.uicontroller.EnumMapUI;
import com.mogo.module.common.MogoModule;
import com.mogo.module.common.MogoModulePaths;
@@ -212,96 +213,216 @@ public class MogoModulesManager implements MogoModulesHandler,
mMapLoadedCallback = null;
}
Iterator< IMogoMapListener > iterator = MogoRegisterCenterHandler.getInstance().getMapListeners();
+ if ( iterator == null ) {
+ return;
+ }
while ( iterator.hasNext() ) {
- iterator.next().onMapLoaded();
+ IMogoMapListener listener = iterator.next();
+ if ( listener != null ) {
+ try {
+ listener.onMapLoaded();
+ } catch ( Exception e ) {
+ Logger.e( TAG, e, "error." );
+ }
+ }
}
}
@Override
public void onTouch( MotionEvent motionEvent ) {
Iterator< IMogoMapListener > iterator = MogoRegisterCenterHandler.getInstance().getMapListeners();
+ if ( iterator == null ) {
+ return;
+ }
while ( iterator.hasNext() ) {
- iterator.next().onTouch( motionEvent );
+ IMogoMapListener listener = iterator.next();
+ if ( listener != null ) {
+ try {
+ listener.onTouch( motionEvent );
+ } catch ( Exception e ) {
+ Logger.e( TAG, e, "error." );
+ }
+ }
}
}
@Override
public void onPOIClick( MogoPoi poi ) {
Iterator< IMogoMapListener > iterator = MogoRegisterCenterHandler.getInstance().getMapListeners();
+ if ( iterator == null ) {
+ return;
+ }
while ( iterator.hasNext() ) {
- iterator.next().onPOIClick( poi );
+ IMogoMapListener listener = iterator.next();
+ if ( listener != null ) {
+ try {
+ listener.onPOIClick( poi );
+ } catch ( Exception e ) {
+ Logger.e( TAG, e, "error." );
+ }
+ }
}
}
@Override
public void onMapClick( MogoLatLng latLng ) {
Iterator< IMogoMapListener > iterator = MogoRegisterCenterHandler.getInstance().getMapListeners();
+ if ( iterator == null ) {
+ return;
+ }
while ( iterator.hasNext() ) {
- iterator.next().onMapClick( latLng );
+ IMogoMapListener listener = iterator.next();
+ if ( listener != null ) {
+ try {
+ listener.onMapClick( latLng );
+ } catch ( Exception e ) {
+ Logger.e( TAG, e, "error." );
+ }
+ }
}
}
@Override
public void onLockMap( boolean isLock ) {
Iterator< IMogoMapListener > iterator = MogoRegisterCenterHandler.getInstance().getMapListeners();
+ if ( iterator == null ) {
+ return;
+ }
while ( iterator.hasNext() ) {
- iterator.next().onLockMap( isLock );
+ IMogoMapListener listener = iterator.next();
+ if ( listener != null ) {
+ try {
+ listener.onLockMap( isLock );
+ } catch ( Exception e ) {
+ Logger.e( TAG, e, "error." );
+ }
+ }
}
}
@Override
public void onMapModeChanged( EnumMapUI ui ) {
Iterator< IMogoMapListener > iterator = MogoRegisterCenterHandler.getInstance().getMapListeners();
+ if ( iterator == null ) {
+ return;
+ }
while ( iterator.hasNext() ) {
- iterator.next().onMapModeChanged( ui );
+ IMogoMapListener listener = iterator.next();
+ if ( listener != null ) {
+ try {
+ listener.onMapModeChanged( ui );
+ } catch ( Exception e ) {
+ Logger.e( TAG, e, "error." );
+ }
+ }
}
}
@Override
public void onMapChanged( MogoLatLng location, float zoom, float tilt, float bearing ) {
Iterator< IMogoMapListener > iterator = MogoRegisterCenterHandler.getInstance().getMapListeners();
+ if ( iterator == null ) {
+ return;
+ }
while ( iterator.hasNext() ) {
- iterator.next().onMapChanged( location, zoom, tilt, bearing );
+ IMogoMapListener listener = iterator.next();
+ if ( listener != null ) {
+ try {
+ listener.onMapChanged( location, zoom, tilt, bearing );
+ } catch ( Exception e ) {
+ Logger.e( TAG, e, "error." );
+ }
+ }
}
}
@Override
public void onInitNaviFailure() {
Iterator< IMogoNaviListener > iterator = MogoRegisterCenterHandler.getInstance().getNaviListeners();
+ if ( iterator == null ) {
+ return;
+ }
while ( iterator.hasNext() ) {
- iterator.next().onInitNaviFailure();
+ IMogoNaviListener listener = iterator.next();
+ if ( listener != null ) {
+ try {
+ listener.onInitNaviFailure();
+ } catch ( Exception e ) {
+ Logger.e( TAG, e, "error." );
+ }
+ }
}
}
@Override
public void onInitNaviSuccess() {
Iterator< IMogoNaviListener > iterator = MogoRegisterCenterHandler.getInstance().getNaviListeners();
+ if ( iterator == null ) {
+ return;
+ }
while ( iterator.hasNext() ) {
- iterator.next().onInitNaviSuccess();
+ IMogoNaviListener listener = iterator.next();
+ if ( listener != null ) {
+ try {
+ listener.onInitNaviSuccess();
+ } catch ( Exception e ) {
+ Logger.e( TAG, e, "error." );
+ }
+ }
}
}
@Override
public void onNaviInfoUpdate( MogoNaviInfo naviinfo ) {
Iterator< IMogoNaviListener > iterator = MogoRegisterCenterHandler.getInstance().getNaviListeners();
+ if ( iterator == null ) {
+ return;
+ }
while ( iterator.hasNext() ) {
- iterator.next().onNaviInfoUpdate( naviinfo );
+ IMogoNaviListener listener = iterator.next();
+ if ( listener != null ) {
+ try {
+ listener.onNaviInfoUpdate( naviinfo );
+ } catch ( Exception e ) {
+ Logger.e( TAG, e, "error." );
+ }
+ }
}
}
@Override
public void onStartNavi() {
Iterator< IMogoNaviListener > iterator = MogoRegisterCenterHandler.getInstance().getNaviListeners();
+ if ( iterator == null ) {
+ return;
+ }
while ( iterator.hasNext() ) {
- iterator.next().onStartNavi();
+ IMogoNaviListener listener = iterator.next();
+ if ( listener != null ) {
+ try {
+ listener.onStartNavi();
+ } catch ( Exception e ) {
+ Logger.e( TAG, e, "error." );
+ }
+ }
}
}
@Override
public void onStopNavi() {
Iterator< IMogoNaviListener > iterator = MogoRegisterCenterHandler.getInstance().getNaviListeners();
+ if ( iterator == null ) {
+ return;
+ }
while ( iterator.hasNext() ) {
- iterator.next().onStopNavi();
+ IMogoNaviListener listener = iterator.next();
+ if ( listener != null ) {
+ try {
+ listener.onStopNavi();
+ } catch ( Exception e ) {
+ Logger.e( TAG, e, "error." );
+ }
+ }
}
}
@@ -309,24 +430,72 @@ public class MogoModulesManager implements MogoModulesHandler,
@Override
public void onCalculateSuccess() {
Iterator< IMogoNaviListener > iterator = MogoRegisterCenterHandler.getInstance().getNaviListeners();
+ if ( iterator == null ) {
+ return;
+ }
while ( iterator.hasNext() ) {
- iterator.next().onCalculateSuccess();
+ IMogoNaviListener listener = iterator.next();
+ if ( listener != null ) {
+ try {
+ listener.onCalculateSuccess();
+ } catch ( Exception e ) {
+ Logger.e( TAG, e, "error." );
+ }
+ }
}
}
@Override
public void onoCalculateFailed() {
Iterator< IMogoNaviListener > iterator = MogoRegisterCenterHandler.getInstance().getNaviListeners();
+ if ( iterator == null ) {
+ return;
+ }
while ( iterator.hasNext() ) {
- iterator.next().onoCalculateFailed();
+ IMogoNaviListener listener = iterator.next();
+ if ( listener != null ) {
+ try {
+ listener.onoCalculateFailed();
+ } catch ( Exception e ) {
+ Logger.e( TAG, e, "error." );
+ }
+ }
+ }
+ }
+
+ @Override
+ public void onUpdateTraffic( MogoTraffic traffic ) {
+ Iterator< IMogoNaviListener > iterator = MogoRegisterCenterHandler.getInstance().getNaviListeners();
+ if ( iterator == null ) {
+ return;
+ }
+ while ( iterator.hasNext() ) {
+ IMogoNaviListener listener = iterator.next();
+ if ( listener != null ) {
+ try {
+ listener.onUpdateTraffic(traffic);
+ } catch ( Exception e ) {
+ Logger.e( TAG, e, "error." );
+ }
+ }
}
}
@Override
public void onLocationChanged( MogoLocation location ) {
Iterator< IMogoLocationListener > iterator = MogoRegisterCenterHandler.getInstance().getLocationListeners();
+ if ( iterator == null ) {
+ return;
+ }
while ( iterator.hasNext() ) {
- iterator.next().onLocationChanged( location );
+ IMogoLocationListener listener = iterator.next();
+ if ( listener != null ) {
+ try {
+ listener.onLocationChanged( location );
+ } catch ( Exception e ) {
+ Logger.e( TAG, e, "error." );
+ }
+ }
}
}
@@ -375,7 +544,11 @@ public class MogoModulesManager implements MogoModulesHandler,
public void onMarkerReceive( IMogoMarker marker ) {
IMogoMarkerClickListener listener = MogoRegisterCenterHandler.getInstance().getMarkerListener( marker.getOwner() );
if ( listener != null ) {
- listener.onMarkerClicked( marker );
+ try {
+ listener.onMarkerClicked( marker );
+ } catch ( Exception e ) {
+ Logger.e( TAG, e, "error." );
+ }
}
}
diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/receiver/MogoReceiver.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/receiver/MogoReceiver.java
deleted file mode 100644
index 129523cbbb..0000000000
--- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/receiver/MogoReceiver.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package com.mogo.module.main.receiver;
-
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.text.TextUtils;
-
-/**
- * @author congtaowang
- * @since 2020-01-02
- *
- * 广播接收者
- *
- * {@link Intent#ACTION_POWER_CONNECTED}
- * {@link Intent#ACTION_POWER_DISCONNECTED}
- */
-public class MogoReceiver extends BroadcastReceiver {
-
- public static void register( Context context ) {
- if ( context == null ) {
- return;
- }
- IntentFilter inputFilter = new IntentFilter();
- inputFilter.addAction( Intent.ACTION_POWER_CONNECTED );
- inputFilter.addAction( Intent.ACTION_POWER_DISCONNECTED );
- context.getApplicationContext().registerReceiver( new MogoReceiver(), inputFilter );
- }
-
- @Override
- public void onReceive( Context context, Intent intent ) {
- final String action = intent.getAction();
- if ( TextUtils.equals( action, Intent.ACTION_POWER_CONNECTED ) ) {
-
- }
- if ( TextUtils.equals( action, Intent.ACTION_POWER_DISCONNECTED ) ) {
-
- }
- }
-}
diff --git a/modules/mogo-module-main/src/main/res/layout/module_main_activity_main.xml b/modules/mogo-module-main/src/main/res/layout/module_main_activity_main.xml
index 299315a101..e761f21d4f 100644
--- a/modules/mogo-module-main/src/main/res/layout/module_main_activity_main.xml
+++ b/modules/mogo-module-main/src/main/res/layout/module_main_activity_main.xml
@@ -15,7 +15,7 @@
@@ -36,21 +36,21 @@
+ android:layout_marginTop="@dimen/module_main_card_container_marginTop">
+ android:layout_marginLeft="@dimen/module_main_card_container_marginLeft">
+ android:paddingBottom="@dimen/module_main_card_container_paddingBottom" />
+
+
+ 720px
+ 10px
+ 660px
+ 60px
+ 211px
+ 20px
+
\ No newline at end of file
diff --git a/modules/mogo-module-main/src/main/res/values-xhdpi/dimens.xml b/modules/mogo-module-main/src/main/res/values-xhdpi/dimens.xml
new file mode 100644
index 0000000000..a707ceedb5
--- /dev/null
+++ b/modules/mogo-module-main/src/main/res/values-xhdpi/dimens.xml
@@ -0,0 +1,10 @@
+
+
+
+ 720px
+ 10px
+ 660px
+ 60px
+ 211px
+ 20px
+
\ No newline at end of file
diff --git a/modules/mogo-module-main/src/main/res/values/dimens.xml b/modules/mogo-module-main/src/main/res/values/dimens.xml
new file mode 100644
index 0000000000..d69bd56a73
--- /dev/null
+++ b/modules/mogo-module-main/src/main/res/values/dimens.xml
@@ -0,0 +1,10 @@
+
+
+
+ 384px
+ 8px
+ 352px
+ 32px
+ 140.5px
+ 20px
+
\ No newline at end of file
diff --git a/modules/mogo-module-map/build.gradle b/modules/mogo-module-map/build.gradle
index 4f753ca703..ebff9c6729 100644
--- a/modules/mogo-module-map/build.gradle
+++ b/modules/mogo-module-map/build.gradle
@@ -3,7 +3,7 @@ apply plugin: 'com.alibaba.arouter'
android {
compileSdkVersion rootProject.ext.android.compileSdkVersion
- buildToolsVersion rootProject.ext.android.buildToolsVersion
+ // buildToolsVersion rootProject.ext.android.buildToolsVersion
defaultConfig {
minSdkVersion rootProject.ext.android.minSdkVersion
targetSdkVersion rootProject.ext.android.targetSdkVersion
diff --git a/modules/mogo-module-search/build.gradle b/modules/mogo-module-search/build.gradle
index 42f83bdf90..cc2624ce99 100644
--- a/modules/mogo-module-search/build.gradle
+++ b/modules/mogo-module-search/build.gradle
@@ -4,7 +4,7 @@ apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
android {
compileSdkVersion rootProject.ext.android.compileSdkVersion
- buildToolsVersion rootProject.ext.android.buildToolsVersion
+ // buildToolsVersion rootProject.ext.android.buildToolsVersion
defaultConfig {
minSdkVersion rootProject.ext.android.minSdkVersion
diff --git a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/ChoosePathFragment.kt b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/ChoosePathFragment.kt
index 5721a7b94a..2d600c992f 100644
--- a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/ChoosePathFragment.kt
+++ b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/search/ChoosePathFragment.kt
@@ -8,6 +8,7 @@ import com.mogo.map.MogoLatLng
import com.mogo.map.navi.IMogoNaviListener
import com.mogo.map.navi.MogoCalculatePath
import com.mogo.map.navi.MogoNaviInfo
+import com.mogo.map.navi.MogoTraffic
import com.mogo.map.search.inputtips.MogoTip
import com.mogo.module.common.MogoModulePaths
import com.mogo.module.navi.R
@@ -53,7 +54,10 @@ class ChoosePathFragment : BaseFragment(), IMogoNaviListener {
override fun onoCalculateFailed() {
}
- private lateinit var mAdapter: CalculatePathAdapter
+ override fun onUpdateTraffic(traffic: MogoTraffic?) {
+}
+
+ private lateinit var mAdapter: CalculatePathAdapter
override fun getLayoutId(): Int {
return R.layout.fragment_search_category
}
diff --git a/modules/mogo-module-service/build.gradle b/modules/mogo-module-service/build.gradle
index 4c8893f572..fa646b8779 100644
--- a/modules/mogo-module-service/build.gradle
+++ b/modules/mogo-module-service/build.gradle
@@ -3,7 +3,7 @@ apply plugin: 'com.alibaba.arouter'
android {
compileSdkVersion rootProject.ext.android.compileSdkVersion
- buildToolsVersion rootProject.ext.android.buildToolsVersion
+ // buildToolsVersion rootProject.ext.android.buildToolsVersion
defaultConfig {
minSdkVersion rootProject.ext.android.minSdkVersion
targetSdkVersion rootProject.ext.android.targetSdkVersion
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 28a9cf8288..3235099c5f 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
@@ -32,6 +32,10 @@ import com.mogo.service.map.IMogoMapService;
import com.mogo.service.statusmanager.IMogoStatusManager;
import com.mogo.utils.logger.Logger;
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -263,6 +267,8 @@ public class MarkerServiceHandler {
lastMarker = null;
getMarkerManager().removeMarkers();
+ JSONArray array = new JSONArray();
+
// 解析不同的Marker类型,然后对应的进行绘制
if (response != null && response.getResult() != null) {
MarkerCardResult markerCardResult = response.getResult();
@@ -301,7 +307,7 @@ public class MarkerServiceHandler {
drawMapMarker(markerShowEntity);
}
- analyticData(3, onlineCarList.size());
+ fillNumberTrackEventBody(array, 3, onlineCarList.size());
}
if (exploreWayList != null) {
@@ -318,7 +324,7 @@ public class MarkerServiceHandler {
drawMapMarker(markerShowEntity);
}
}
- analyticData(1, exploreWayList.size());
+ fillNumberTrackEventBody(array, 1, exploreWayList.size());
}
if (shareMusicList != null) {
@@ -334,7 +340,7 @@ public class MarkerServiceHandler {
drawMapMarker(markerShowEntity);
}
- analyticData(4, shareMusicList.size());
+ fillNumberTrackEventBody(array, 4, shareMusicList.size());
}
if (noveltyInfoList != null) {
@@ -373,27 +379,42 @@ public class MarkerServiceHandler {
break;
}
}
- analyticData(2, num_gas_station);
- analyticData(6, num_road_closed);
- analyticData(5, num_traffic_check);
- analyticData(7, num_shop_discount);
- analyticData(8, num_fours_shop);
+ fillNumberTrackEventBody(array,2, num_gas_station);
+ fillNumberTrackEventBody(array,6, num_road_closed);
+ fillNumberTrackEventBody(array,5, num_traffic_check);
+ fillNumberTrackEventBody(array,7, num_shop_discount);
+ fillNumberTrackEventBody(array,8, num_fours_shop);
}
+ analyticData(array);
+ }
+ }
+
+
+ private static void fillNumberTrackEventBody(JSONArray arr, int type, int size){
+ JSONObject object = new JSONObject( );
+ try {
+ object.put( "type", type );
+ object.put( "num", size);
+ if ( arr != null ) {
+ arr.put( object );
+ }
+ } catch ( JSONException e ) {
+ e.printStackTrace();
}
- getMapUIController().changeZoom(12);
}
/**
* 统计地图内数据获取
*
- * @param type 类型
- * @param num marker数量
+ * @param array 埋点数据
*/
- private static void analyticData(int type, int num) {
+ private static void analyticData(JSONArray array) {
try {
+ if ( array == null || array.length() == 0 ) {
+ return;
+ }
final Map properties = new HashMap<>();
- properties.put("type", type);
- properties.put("num", num);
+ properties.put("data", array.toString());
getMogoAnalytics().track("Launcher_Data_Get", properties);
} catch (Exception e) {
e.printStackTrace();
@@ -411,14 +432,14 @@ public class MarkerServiceHandler {
MogoMarkerOptions options = new MogoMarkerOptions()
.owner(markerShowEntity.getMarkerType())
+ .alpha( 0.7f )
+ .object( markerShowEntity )
.latitude(markerShowEntity.getMarkerLocation().getLat())
.longitude(markerShowEntity.getMarkerLocation().getLon());
options.icon(markerView);
IMogoMarker marker = getMarkerManager().addMarker(markerShowEntity.getMarkerType(), options);
marker.setOnMarkerClickListener(mogoMarkerClickListener);
- marker.setObject(markerShowEntity);
- marker.setAlpha(0.7f);
return marker;
} else {
Logger.e(TAG, "Location 必须进行初始化!!!!!");
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 89feb55cb7..514d584dae 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
@@ -26,6 +26,7 @@ import com.mogo.map.marker.IMogoMarkerManager;
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.uicontroller.EnumMapUI;
import com.mogo.map.uicontroller.IMogoMapUIController;
import com.mogo.module.common.MogoModule;
@@ -46,8 +47,6 @@ import com.mogo.service.module.ModuleType;
import com.mogo.service.statusmanager.IMogoStatusChangedListener;
import com.mogo.service.statusmanager.IMogoStatusManager;
import com.mogo.service.statusmanager.StatusDescriptor;
-import com.mogo.service.voice.IMogoVoiceListener;
-import com.mogo.service.voice.IMogoVoiceManager;
import com.mogo.utils.logger.Logger;
import java.util.List;
@@ -116,7 +115,7 @@ public class MogoServiceProvider implements IMogoModuleProvider,
case ServiceConst.MSG_TYPE_REFRESH_DECREASE:
mRefreshRemainingTime -= ServiceConst.DECREASE_INTERVAL;
if ( mRefreshRemainingTime == 0 ) {
- notifyRefreshData( mLastAutoRefreshLocation, 2_000, mAutoRefreshCallback );
+ notifyRefreshData( mLastAutoRefreshLocation, getQueryRadius(), mAutoRefreshCallback );
} else {
mHandler.sendEmptyMessageDelayed( msg.what, ServiceConst.DECREASE_INTERVAL );
}
@@ -239,8 +238,10 @@ public class MogoServiceProvider implements IMogoModuleProvider,
registerCenter.registerMogoMapListener( getModuleName(), this );
mIntentManager = ( IMogoIntentManager ) ARouter.getInstance().build( MogoServicePaths.PATH_INTENT_MANAGER ).navigation( context );
- mIntentManager.registerIntentListener( MogoReceiver.ADAS_ACTION, this );
-
+ mIntentManager.registerIntentListener( MogoReceiver.ACTIION_ADAS, this );
+ mIntentManager.registerIntentListener( Intent.ACTION_POWER_CONNECTED, this );
+ mIntentManager.registerIntentListener( Intent.ACTION_POWER_DISCONNECTED, this );
+ mIntentManager.registerIntentListener( MogoReceiver.ACTION_NWD_ACC, this );
}
private void registerAIReceiver( Context context ) {
@@ -262,7 +263,11 @@ public class MogoServiceProvider implements IMogoModuleProvider,
}
}
filter.addAction( MogoReceiver.VOICE_ACTION );
- filter.addAction( MogoReceiver.ADAS_ACTION );
+ filter.addAction( MogoReceiver.ACTIION_ADAS );
+ filter.addAction( MogoReceiver.ACTION_NWD_ACC );
+ // acc On
+ filter.addAction( Intent.ACTION_POWER_CONNECTED );
+ filter.addAction( Intent.ACTION_POWER_DISCONNECTED );
try {
context.getApplicationContext().registerReceiver( mAIAssistReceiver, filter );
Logger.i( TAG, "register voice receiver." );
@@ -297,7 +302,11 @@ public class MogoServiceProvider implements IMogoModuleProvider,
* @return
*/
private float getMapCameraFactWidth() {
- return Utils.calculateLineDistance( mCameraNorthEastPosition, new MogoLatLng( mCameraNorthEastPosition.lat, mCameraSouthWestPosition.lng ) );
+ try {
+ return Utils.calculateLineDistance( mCameraNorthEastPosition, new MogoLatLng( mCameraNorthEastPosition.lat, mCameraSouthWestPosition.lng ) );
+ } catch ( Exception e ) {
+ return 1000f;
+ }
}
/**
@@ -306,7 +315,11 @@ public class MogoServiceProvider implements IMogoModuleProvider,
* @return
*/
private float getMapCameraFactHeight() {
- return Utils.calculateLineDistance( mCameraSouthWestPosition, new MogoLatLng( mCameraNorthEastPosition.lat, mCameraSouthWestPosition.lng ) );
+ try {
+ return Utils.calculateLineDistance( mCameraSouthWestPosition, new MogoLatLng( mCameraNorthEastPosition.lat, mCameraSouthWestPosition.lng ) );
+ } catch ( Exception e ) {
+ return 1000f;
+ }
}
/**
@@ -368,7 +381,6 @@ public class MogoServiceProvider implements IMogoModuleProvider,
@Override
public void onMapChanged( MogoLatLng latLng, float zoom, float tilt, float bearing ) {
-
if ( mIsCameraInited ) {
mLastCustomRefreshCenterLocation = latLng;
mIsCameraInited = false;
@@ -385,14 +397,15 @@ public class MogoServiceProvider implements IMogoModuleProvider,
notifyRefreshData( latLng, getQueryRadius(), mCustomRefreshCallback );
mLastCustomRefreshCenterLocation = latLng;
mLastZoomLevel = zoom;
+ } else if ( mLastZoomLevel - zoom < 0 ) {
+ mLastZoomLevel = zoom;
+
} else if ( mLastZoomLevel == zoom ) {
// 手动平移
if ( invokeRefreshWhenTranslationByUser( latLng ) ) {
notifyRefreshData( latLng, getQueryRadius(), mCustomRefreshCallback );
mLastCustomRefreshCenterLocation = latLng;
}
- } else {
- mLastZoomLevel = zoom;
}
}
@@ -435,11 +448,11 @@ public class MogoServiceProvider implements IMogoModuleProvider,
// 自动刷新触发
if ( mLastAutoRefreshLocation == null ) {
mLastAutoRefreshLocation = new MogoLatLng( location.getLatitude(), location.getLongitude() );
- notifyRefreshData( mLastAutoRefreshLocation, 2_000, mAutoRefreshCallback );
+ notifyRefreshData( mLastAutoRefreshLocation, getQueryRadius(), mAutoRefreshCallback );
} else {
float distance = Utils.calculateLineDistance( mLastAutoRefreshLocation, new MogoLatLng( location.getLatitude(), location.getLongitude() ) );
if ( distance > mAutoRefreshStrategy.getDistance() ) {
- notifyRefreshData( mLastAutoRefreshLocation, 2_000, mAutoRefreshCallback );
+ notifyRefreshData( mLastAutoRefreshLocation, getQueryRadius(), mAutoRefreshCallback );
}
}
}
@@ -452,6 +465,7 @@ public class MogoServiceProvider implements IMogoModuleProvider,
return;
}
Logger.d( TAG, mAutoRefreshCallback == callback ? "触发自动刷新" : "触发手动刷新" );
+ Logger.i( TAG, "刷新半径 = %d, 点 = %s", radius, latLng );
mRefreshModel.refreshData( latLng, radius, callback );
}
@@ -467,7 +481,6 @@ public class MogoServiceProvider implements IMogoModuleProvider,
@Override
public void onNaviInfoUpdate( MogoNaviInfo naviinfo ) {
-
}
@Override
@@ -511,18 +524,37 @@ public class MogoServiceProvider implements IMogoModuleProvider,
}
+ @Override
+ public void onUpdateTraffic( MogoTraffic traffic ) {
+ if ( traffic != null ) {
+
+ Logger.i( TAG, "speed = %d, desc = %s", traffic.getSpeedLimit(), traffic.getDesc() );
+ // 发送当前限速到 adas
+ Intent intent = new Intent( "com.mogo.launcher.adas" );
+ intent.putExtra( "adas_speed_limit", traffic.getSpeedLimit() );
+ mContext.sendBroadcast( intent );
+ }
+ }
+
public IMogoMarkerClickListener getMarkerClickListener() {
return null;
}
@Override
public void onIntentReceived( String command, Intent intent ) {
- if ( MogoReceiver.ADAS_ACTION.equals( command ) ) {
+ if ( MogoReceiver.ACTIION_ADAS.equals( command ) ) {
if ( intent == null ) {
return;
}
int status = intent.getIntExtra( MogoReceiver.PARAM_ADAS_STATUS, 0 );
mStatusManager.setADASUIShow( getModuleName(), status == 1 );
+ } else if ( Intent.ACTION_POWER_CONNECTED.equals( command ) ) {
+ mStatusManager.setAccStatus( getModuleName(), true );
+ } else if ( Intent.ACTION_POWER_DISCONNECTED.equals( command ) ) {
+ mStatusManager.setAccStatus( getModuleName(), false );
+ } else if ( MogoReceiver.ACTION_NWD_ACC.equals( command ) ) {
+ int state = intent.getByteExtra( MogoReceiver.PARAM_ACC_STATUS, ( byte ) 0 );
+ mStatusManager.setAccStatus( getModuleName(), state == 1 );
}
}
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshBody.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshBody.java
index 2200ed394a..281ecdef93 100644
--- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshBody.java
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/network/RefreshBody.java
@@ -11,17 +11,20 @@ import java.util.List;
*/
public class RefreshBody {
- public List< String > dataType = new ArrayList<>();
- public int limit = 50;// 请求数量
- public int radius = 2_000; // 地理围栏半径(米)
- public LatLon location;
+ public List dataType = new ArrayList<>(); // 要查询的类型
+ public int limit = 50; // 请求数量
+ public int radius = 2_000; // 地理围栏半径(米)
+ public LatLon location; // 坐标
+
+ public boolean onlyFocus; // 是否仅查询已关注的好友
+ public boolean onlySameCity; // 是否仅查询注册城市相同的同城用户
public static class LatLon {
private double lat;
private double lon;
- public LatLon( double lat, double lon ) {
+ public LatLon(double lat, double lon) {
this.lat = lat;
this.lon = lon;
}
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 a30ca0e83b..605ba68188 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
@@ -7,14 +7,13 @@ import com.mogo.commons.data.BaseData;
import com.mogo.commons.debug.DebugConfig;
import com.mogo.commons.network.ParamsProvider;
import com.mogo.commons.network.SubscribeImpl;
-import com.mogo.commons.network.Utils;
import com.mogo.map.MogoLatLng;
+import com.mogo.module.service.ServiceConst;
import com.mogo.service.MogoServicePaths;
import com.mogo.service.network.IMogoNetwork;
import com.mogo.utils.network.RequestOptions;
import com.mogo.utils.network.utils.GsonUtil;
-import java.util.HashMap;
import java.util.Map;
import io.reactivex.android.schedulers.AndroidSchedulers;
@@ -36,14 +35,14 @@ public class RefreshModel {
private final Context mContext;
private RefreshApiService mRefreshApiService;
- public RefreshModel( Context context ) {
+ public RefreshModel(Context context) {
this.mContext = context;
- IMogoNetwork network = ( IMogoNetwork ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICES_NETWORK ).navigation( context );
- this.mRefreshApiService = network.create( RefreshApiService.class, getNetHost() );
+ IMogoNetwork network = (IMogoNetwork) ARouter.getInstance().build(MogoServicePaths.PATH_SERVICES_NETWORK).navigation(context);
+ this.mRefreshApiService = network.create(RefreshApiService.class, getNetHost());
}
private String getNetHost() {
- switch ( DebugConfig.getNetMode() ) {
+ switch (DebugConfig.getNetMode()) {
case DebugConfig.NET_MODE_DEV:
return HOST_DEV;
case DebugConfig.NET_MODE_QA:
@@ -53,34 +52,82 @@ public class RefreshModel {
}
}
- public void refreshData( MogoLatLng latLng, int radius, final RefreshCallback callback ) {
- if ( mRefreshApiService != null ) {
- final Map< String, Object > query = new ParamsProvider.Builder( mContext ).build();
+ public void refreshData(MogoLatLng latLng, int radius, final RefreshCallback callback) {
+ if (mRefreshApiService != null) {
+ final Map query = new ParamsProvider.Builder(mContext).build();
final RefreshBody refreshBody = new RefreshBody();
refreshBody.limit = 5;
- refreshBody.location = new RefreshBody.LatLon( latLng.lat, latLng.lng );
+ refreshBody.location = new RefreshBody.LatLon(latLng.lat, latLng.lng);
refreshBody.radius = radius;
- query.put( "data", GsonUtil.jsonFromObject( refreshBody ) );
- mRefreshApiService.refreshData( query )
- .subscribeOn( Schedulers.io() )
- .observeOn( AndroidSchedulers.mainThread() )
- .subscribe( new SubscribeImpl< BaseData >( RequestOptions.create( mContext ) ) {
+ query.put("data", GsonUtil.jsonFromObject(refreshBody));
+ mRefreshApiService.refreshData(query)
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new SubscribeImpl(RequestOptions.create(mContext)) {
@Override
- public void onSuccess( BaseData o ) {
- super.onSuccess( o );
- if ( callback != null ) {
+ public void onSuccess(BaseData o) {
+ super.onSuccess(o);
+ if (callback != null) {
callback.onSuccess();
}
}
@Override
- public void onError( String message, int code ) {
- super.onError( message, code );
- if ( callback != null ) {
+ public void onError(String message, int code) {
+ super.onError(message, code);
+ if (callback != null) {
callback.onFail();
}
}
- } );
+ });
+ }
+ }
+
+ /**
+ * 查询在线车辆
+ *
+ * @param latLng 经纬度
+ * @param radius 半径
+ * @param onlyFocus 是否仅查询已关注的好友
+ * @param onlySameCity 是否仅查询注册城市相同的同城用户
+ * @param callback
+ */
+ public void queryOnLineCar(MogoLatLng latLng,
+ int radius,
+ boolean onlyFocus,
+ boolean onlySameCity,
+ final RefreshCallback callback) {
+ if (mRefreshApiService != null) {
+ final Map query = new ParamsProvider.Builder(mContext).build();
+ final RefreshBody refreshBody = new RefreshBody();
+ refreshBody.limit = 100;
+ refreshBody.location = new RefreshBody.LatLon(latLng.lat, latLng.lng);
+ refreshBody.radius = radius;
+ refreshBody.onlyFocus = onlyFocus;
+ refreshBody.onlySameCity = onlySameCity;
+ refreshBody.dataType.add(ServiceConst.CARD_TYPE_USER_DATA);
+
+ query.put("data", GsonUtil.jsonFromObject(refreshBody));
+ mRefreshApiService.refreshData(query)
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new SubscribeImpl(RequestOptions.create(mContext)) {
+ @Override
+ public void onSuccess(BaseData o) {
+ super.onSuccess(o);
+ if (callback != null) {
+ callback.onSuccess();
+ }
+ }
+
+ @Override
+ public void onError(String message, int code) {
+ super.onError(message, code);
+ if (callback != null) {
+ callback.onFail();
+ }
+ }
+ });
}
}
}
diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/receiver/MogoReceiver.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/receiver/MogoReceiver.java
index f6a67463f8..fdf388bc9a 100644
--- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/receiver/MogoReceiver.java
+++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/receiver/MogoReceiver.java
@@ -30,10 +30,16 @@ public class MogoReceiver extends BroadcastReceiver {
/**
* ADAS
*/
- public static final String ADAS_ACTION = "com.mogo.launcher.adas";
+ public static final String ACTIION_ADAS = "com.zhidao.autopilot.adas";
// ADAS 状态 0 - 关闭 1 - 打开
public static final String PARAM_ADAS_STATUS = "adas_drawer_status";
+ // 诺威达 acc 状态
+ public static final String ACTION_NWD_ACC = "com.nwd.action.ACTION_MCU_STATE_CHANGE";
+
+ // 诺威达 acc 状态
+ public static final String PARAM_ACC_STATUS = "extra_mcu_state";
+
private IMogoIntentManager mMogoIntentManager;
public MogoReceiver( Context context ) {
diff --git a/modules/mogo-module-share/build.gradle b/modules/mogo-module-share/build.gradle
index 5fee9fa316..b65f63c235 100644
--- a/modules/mogo-module-share/build.gradle
+++ b/modules/mogo-module-share/build.gradle
@@ -5,7 +5,7 @@ apply plugin: 'com.alibaba.arouter'
android {
compileSdkVersion rootProject.ext.android.compileSdkVersion
- buildToolsVersion rootProject.ext.android.buildToolsVersion
+ // buildToolsVersion rootProject.ext.android.buildToolsVersion
defaultConfig {
minSdkVersion rootProject.ext.android.minSdkVersion
targetSdkVersion rootProject.ext.android.targetSdkVersion
diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/dialog/LaucherShareDialog.java b/modules/mogo-module-share/src/main/java/com/mogo/module/share/dialog/LaucherShareDialog.java
index 2f208f5efd..ea81073522 100644
--- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/dialog/LaucherShareDialog.java
+++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/dialog/LaucherShareDialog.java
@@ -3,6 +3,7 @@ package com.mogo.module.share.dialog;
import android.app.Dialog;
import android.content.Context;
import android.content.Intent;
+import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.RelativeLayout;
@@ -69,7 +70,9 @@ public class LaucherShareDialog extends Dialog implements View.OnClickListener {
if (id == R.id.btn_block_layout) { //拥堵
sendShareReceiver("1");
} else if (id == R.id.oil_price_layout) {
- //TODO
+ Intent intent = new Intent();
+ intent.setData(Uri.parse("reshthing://com.zhidao.fresh.things/shareOilPrice"));
+ mContext.startActivity(intent);
} else if (id == R.id.traffic_check_layout) { //交通检查
sendShareReceiver("2");
} else if (id == R.id.road_closure_layout) { //封路
@@ -80,7 +83,7 @@ public class LaucherShareDialog extends Dialog implements View.OnClickListener {
}
/**
- * 发送广播
+ * 发送广播 1拥堵,2交通检查,3封路
*/
private void sendShareReceiver(String type) {
Logger.d("liyz", "LaucherShareDialog sendShareReceiver ---->");
diff --git a/modules/mogo-module-tanlu/build.gradle b/modules/mogo-module-tanlu/build.gradle
index a182478571..2e567d7c7f 100644
--- a/modules/mogo-module-tanlu/build.gradle
+++ b/modules/mogo-module-tanlu/build.gradle
@@ -5,7 +5,7 @@ apply plugin: 'com.alibaba.arouter'
android {
compileSdkVersion rootProject.ext.android.compileSdkVersion
- buildToolsVersion rootProject.ext.android.buildToolsVersion
+ // buildToolsVersion rootProject.ext.android.buildToolsVersion
defaultConfig {
minSdkVersion rootProject.ext.android.minSdkVersion
targetSdkVersion rootProject.ext.android.targetSdkVersion
@@ -53,6 +53,7 @@ dependencies {
implementation rootProject.ext.dependencies.mogoserviceapi
implementation rootProject.ext.dependencies.modulecommon
implementation rootProject.ext.dependencies.moduleservice
+ implementation rootProject.ext.dependencies.moduleshare
} else {
implementation project(":libraries:mogo-map")
implementation project(":foudations:mogo-utils")
@@ -60,6 +61,7 @@ dependencies {
implementation project(':services:mogo-service-api')
implementation project(':modules:mogo-module-common')
implementation project(':modules:mogo-module-service')
+ implementation project(':modules:mogo-module-share')
}
implementation 'com.shuyu:gsyVideoPlayer-armv7a:7.1.1'
diff --git a/modules/mogo-module-tanlu/src/main/AndroidManifest.xml b/modules/mogo-module-tanlu/src/main/AndroidManifest.xml
index a238192807..e5e74d1ffe 100644
--- a/modules/mogo-module-tanlu/src/main/AndroidManifest.xml
+++ b/modules/mogo-module-tanlu/src/main/AndroidManifest.xml
@@ -14,6 +14,13 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/callback/UploadShareCallback.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/callback/UploadShareCallback.java
new file mode 100644
index 0000000000..c0ae07ea7a
--- /dev/null
+++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/callback/UploadShareCallback.java
@@ -0,0 +1,14 @@
+package com.mogo.module.tanlu.callback;
+
+import com.mogo.commons.data.BaseData;
+
+
+/**
+ * @author lixiaopeng
+ * @description 上报分享
+ * @since 2020-01-09
+ */
+public interface UploadShareCallback {
+ void onSuccess(BaseData data);
+ void onFail(String message, int code);
+}
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 c40193a41a..5472fb444e 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
@@ -12,7 +12,19 @@ public class TanluConstants {
public static final String NAVI_INFO = "navi_info";
public static final String MODEL_NAME = "CARD_TYPE_ROAD_CONDITION";
+ public static final String[] CMD_PLAY_ROAD_CONDITION = {"播放路况"};
- public static final String UPLOAD_ROAD_CONDITION = "upload_road_condition";
+ //上报路况
+ public static final String UPLOAD_ROAD_CONDITION = "command_upload_roadcondition";
+ //xx堵不堵
+ public static final String SPECIFIEDROAD_SEARCH = "com.zhidao.pathfinder.specifiedroad.search";
+ //播放
+ public static final String PLAY_VIDEO = "com.zhidao.tanlu.play";
+ //分享封路
+ public static final String SHARE_ROAD_CLOSURE = "com.zhidao.share.road.closure";
+ //分享交通检查
+ public static final String SHARE_TRAFFIC_CHECK = "com.zhidao.share.traffic.check";
+ //我要分享
+ public static final String GO_TO_SHARE = "com.zhidao.share";
}
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 f62392ca7d..e92c76d446 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
@@ -25,7 +25,7 @@ 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.google.gson.JsonObject;
+import com.mogo.commons.data.BaseData;
import com.mogo.commons.mvp.IView;
import com.mogo.commons.mvp.MvpFragment;
import com.mogo.commons.mvp.Presenter;
@@ -43,6 +43,7 @@ import com.mogo.map.marker.MogoMarkerOptions;
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.MogoPoiItem;
import com.mogo.map.search.poisearch.IMogoPoiSearchListener;
import com.mogo.map.search.poisearch.MogoPoiResult;
@@ -51,9 +52,11 @@ import com.mogo.map.uicontroller.IMogoMapUIController;
import com.mogo.module.common.entity.MarkerExploreWay;
import com.mogo.module.common.entity.MarkerShowEntity;
import com.mogo.module.service.receiver.MogoReceiver;
+import com.mogo.module.share.ShareControl;
import com.mogo.module.tanlu.R;
import com.mogo.module.tanlu.callback.AlongTheWayCallback;
import com.mogo.module.tanlu.callback.RoadLineCallback;
+import com.mogo.module.tanlu.callback.UploadShareCallback;
import com.mogo.module.tanlu.callback.VoiceSearchCallback;
import com.mogo.module.tanlu.constant.TanluConstants;
import com.mogo.module.tanlu.model.Center;
@@ -63,6 +66,7 @@ import com.mogo.module.tanlu.model.PathLineResult;
import com.mogo.module.tanlu.model.TanluModelData;
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;
@@ -85,6 +89,7 @@ import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
+import org.json.JSONObject;
import java.util.ArrayList;
import java.util.List;
@@ -108,7 +113,7 @@ public class TanluCardViewFragment extends MvpFragment>
IMogoLocationListener,
View.OnClickListener {
- private static final String TAG = "liyz";
+ private static final String TAG = "TanluCardViewFragment";
SimpleCoverVideoPlayer simpleCoverVideoPlayer;
AutoZoomInImageView autoZoomInImageView;
//map
@@ -130,8 +135,8 @@ public class TanluCardViewFragment extends MvpFragment>
//media
private GSYVideoOptionBuilder gsyVideoOptionBuilder = new GSYVideoOptionBuilder();
- private String mVideoUrl = "http://ivi.bupt.edu.cn/hls/cctv1hd.m3u8";
- private String mImageUrl = "https://oimagec4.ydstatic.com/image?id=-5397300958976572132&product=adpublish&w=520&h=347";
+ private String mVideoUrl = "";
+ private String mImageUrl = "";
private String mTitle = "";
private long mGenerateTime = 0;
private IMogoImageloader mogoImageloader;
@@ -152,6 +157,7 @@ public class TanluCardViewFragment extends MvpFragment>
private List passedByPoints;
private IMogoRegisterCenter mMogoRegisterCenter;
private String mKeywords;
+ private boolean isCurrentPage;
@Override
@@ -180,9 +186,7 @@ public class TanluCardViewFragment extends MvpFragment>
simpleCoverVideoPlayer.setVisibility(View.VISIBLE);
autoZoomInImageView.setVisibility(View.GONE);
- //视频配置 TODO 需要去掉
-// gsyVideoOptionBuilder.setUrl(mVideoUrl).setCacheWithPlay(false).setPlayTag(TAG)
-// .build(simpleCoverVideoPlayer);
+ //视频点击
simpleCoverVideoPlayer.getStartButton().setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
@@ -202,10 +206,9 @@ public class TanluCardViewFragment extends MvpFragment>
//切换卡片操作
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());
@@ -233,14 +236,15 @@ public class TanluCardViewFragment extends MvpFragment>
Double longit; //经度
Double lat; //维度
if (mKeywords.equals("附近")) {
+ Logger.d(TAG, "附近 ----1---");
longit = TanluServiceHandler.getLocationClient().getLastKnowLocation().getLongitude();
lat = TanluServiceHandler.getLocationClient().getLastKnowLocation().getLatitude();
} else {
+ Logger.d(TAG, "其他 ---1----");
longit = latLon.getLongitude();
lat = latLon.getLatitude();
}
- Log.d(TAG, "geoSearch keywords = $keywords --cityCode = $cityCode " +
- "--longitude= longit --latitude = $lat");
+ Log.d(TAG, "geoSearch keywords =" + mKeywords + ">>longitude= " + longit + "--latitude" + lat);
getVoiceControlRoadData(mKeywords, lat, longit);
} else {
String cityCode = TanluServiceHandler.getLocationClient().getLastKnowLocation().getCityCode();
@@ -249,7 +253,7 @@ public class TanluCardViewFragment extends MvpFragment>
poiSearch.setOnPoiSearchListener(new PoiSearch.OnPoiSearchListener() {
@Override
public void onPoiSearched(PoiResult p0, int p1) {
- Logger.d(TAG, "setOnPoiSearchListener ------mKeywords =" + mKeywords + ">>p1 =" + p1);
+ Logger.d(TAG, "setOnPoiSearchListener--mKeywords =" + mKeywords + ">>p1 =" + p1);
if (p1 == 1000) {
if (p0.getPois() != null && p0.getPois().size() != 0) {
PoiItem poi = p0.getPois().get(0);
@@ -258,15 +262,16 @@ public class TanluCardViewFragment extends MvpFragment>
Double longit; //经度
Double lat; //维度
if (mKeywords.equals("附近")) {
+ Logger.d(TAG, "附近 ----2---");
longit = TanluServiceHandler.getLocationClient().getLastKnowLocation().getLongitude();
lat = TanluServiceHandler.getLocationClient().getLastKnowLocation().getLatitude();
} else {
+ Logger.d(TAG, "其他 --2----");
longit = latLon.getLongitude();
lat = latLon.getLatitude();
}
getVoiceControlRoadData(mKeywords, lat, longit);
- Logger.d(TAG, "poi search keywords = $keywords --cityCode = $cityCode " +
- "--longitude= $long --latitude = $lat");
+ Log.d(TAG, "setOnPoiSearchListener keywords =" + mKeywords + ">>longitude= " + longit + "--latitude" + lat);
} else {
Logger.e(TAG, "poi == null");
}
@@ -293,16 +298,13 @@ public class TanluCardViewFragment extends MvpFragment>
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
getViewLifecycleOwner().getLifecycle().addObserver(mPresenter);
+ Logger.d(TAG, "onActivityCreated -------> ");
EventBus.getDefault().register(this);
initInterface();
initModelData();
- handleRoadLineMessage();
initMap();
initStrings();
initListener();
-
- //TODO切换探路卡片
-// iMogoCardManager.switch2(TanluConstants.MODEL_NAME);
}
private void initModelData() {
@@ -318,12 +320,10 @@ public class TanluCardViewFragment extends MvpFragment>
mMogoRegisterCenter.registerMogoNaviListener(TanluConstants.MODEL_NAME, new IMogoNaviListener() {
@Override
public void onInitNaviFailure() {
-
}
@Override
public void onInitNaviSuccess() {
-
}
@Override
@@ -332,9 +332,9 @@ public class TanluCardViewFragment extends MvpFragment>
}
@Override
- public void onStartNavi() { //开始导航
- initModelData();
- getNavigationLineData();
+ public void onStartNavi() { //开始导航,这期先不做
+// initModelData();
+// getNavigationLineData();
}
@Override
@@ -351,18 +351,28 @@ public class TanluCardViewFragment extends MvpFragment>
public void onoCalculateFailed() {
}
+
+ @Override
+ public void onUpdateTraffic( MogoTraffic traffic ) {
+
+ }
});
//监听marker点击
mMogoRegisterCenter.registerMogoMarkerClickListener(TanluConstants.MODEL_NAME, new IMogoMarkerClickListener() {
@Override
public boolean onMarkerClicked(IMogoMarker marker) {
- //点击marker以后,确认他的位置?然后点击下一个操作 TODO
+ //点击marker以后,确认他的位置?然后点击下一个操作
+ mEmptyLayout.setVisibility(View.GONE);
+ mRootLayout.setVisibility(View.VISIBLE);
+
+ Logger.d(TAG, "onMarkerClicked registerMogoMarkerClickListener = ");
MarkerExploreWay exploreWay = extractFromMarker(marker);
if (exploreWay == null) {
return false;
}
+ //TODO 自己打的点,需要重新组装新数据,清理老的
if (exploreWay.getFileType() == 0) { //图片
refreshPhotoData(exploreWay);
} else if (exploreWay.getFileType() == 1) { //视频
@@ -404,13 +414,16 @@ public class TanluCardViewFragment extends MvpFragment>
* 注册listener监听
*/
private void initListener() {
- //某某路堵不堵,某某地点堵不堵,附近堵不堵,播放路况 TODO
//唤醒
- mogoIntentManager.registerIntentListener(MogoReceiver.ADAS_ACTION, mogoIntentListener);
- //免唤醒
- AIAssist.getInstance(getActivity()).registerUnWakeupCommandCallback(TanluConstants.UPLOAD_ROAD_CONDITION, mogoVoiceListener);
+ mogoIntentManager.registerIntentListener(TanluConstants.UPLOAD_ROAD_CONDITION, mogoIntentListener);
+ mogoIntentManager.registerIntentListener(TanluConstants.SPECIFIEDROAD_SEARCH, mogoIntentListener);
+ mogoIntentManager.registerIntentListener(TanluConstants.PLAY_VIDEO, mogoIntentListener);
+ mogoIntentManager.registerIntentListener(TanluConstants.SHARE_ROAD_CLOSURE, mogoIntentListener);
+ mogoIntentManager.registerIntentListener(TanluConstants.SHARE_TRAFFIC_CHECK, mogoIntentListener);
+ mogoIntentManager.registerIntentListener(TanluConstants.GO_TO_SHARE, mogoIntentListener);
}
+
/**
* 唤醒语音
*/
@@ -419,10 +432,33 @@ public class TanluCardViewFragment extends MvpFragment>
public void onIntentReceived(String intentStr, Intent intent) {
String data = intent.getStringExtra("data");
Logger.e(TAG, "唤醒 mogoIntentListener intentStr =" + intentStr + ">>data =" + data);
+ if (intentStr.equals(TanluConstants.SPECIFIEDROAD_SEARCH)) { //地点堵不堵 ok
+ try {
+ JSONObject jsonObject = new JSONObject(data);
+ mKeywords = jsonObject.get("location").toString();
+ Logger.d(TAG, "mogoIntentListener specified mKeywords = " + mKeywords);
+ handleActionFoo(mKeywords);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ } else if (intentStr.equals(TanluConstants.UPLOAD_ROAD_CONDITION)) { //上报路况 免唤醒 ok
+ sendShareReceiver("1");
+ Logger.d(TAG, "mogoIntentListener 上报路况 ----> ");
+ } else if (intentStr.equals(TanluConstants.PLAY_VIDEO)) { //播放视频 免唤醒
+ Logger.d(TAG, "mogoIntentListener 播放视频 ----> ");
+ //TODO
- JsonObject jsonObject = new JsonObject();
- mKeywords = jsonObject.get("location").toString();
- handleActionFoo(mKeywords);
+ } else if (intentStr.equals(TanluConstants.SHARE_ROAD_CLOSURE)) { //分享封路
+ sendShareReceiver("3");
+ Logger.d(TAG, "mogoIntentListener 分享封路 ----> ");
+ } else if (intentStr.equals(TanluConstants.SHARE_TRAFFIC_CHECK)) { //分享交通检查
+ sendShareReceiver("2");
+ Logger.d(TAG, "mogoIntentListener 分享交通检查 ----> ");
+ } else if (intentStr.equals(TanluConstants.GO_TO_SHARE)) { //我要分享
+ ShareControl shareControl = new ShareControl();
+ shareControl.showDialog(getActivity());
+ Logger.d(TAG, "mogoIntentListener 我要分享 ----> ");
+ }
}
};
@@ -434,33 +470,44 @@ public class TanluCardViewFragment extends MvpFragment>
@Override
public void onCmdSelected(String cmd) {
Logger.e(TAG, "免唤醒 onCmdSelected mogoVoiceListener cmd =" + cmd);
- if (cmd.equals(TanluConstants.UPLOAD_ROAD_CONDITION)) {
- //
- Logger.d(TAG, "");
+ if (cmd.equals(TanluConstants.PLAY_VIDEO)) {
+ //TODO
+
}
}
@Override
public void onCmdAction(String speakText) {
-
+ Logger.d(TAG, "免唤醒 onCmdAction speakText =" + speakText);
}
@Override
public void onCmdCancel(String speakText) {
-
+ Logger.d(TAG, "免唤醒 onCmdCancel speakText =" + speakText);
}
@Override
public void onSpeakEnd(String speakText) {
-
+ Logger.e(TAG, "免唤醒 onSpeakEnd speakText =" + speakText);
}
@Override
public void onSpeakSelectTimeOut(String speakText) {
-
+ Logger.e(TAG, "免唤醒 onSpeakSelectTimeOut speakText =" + speakText);
}
};
+ /**
+ * 发送广播 1拥堵,2交通检查,3封路
+ */
+ private void sendShareReceiver(String type) {
+ Logger.d(TAG, "TanluCardViewFragment sendShareReceiver ---->");
+ Intent intent = new Intent();
+ intent.setAction("com.zhidao.roadcondition.share");
+ intent.putExtra("type", type);
+ getContext().sendBroadcast(intent);
+ }
+
private MarkerExploreWay extractFromMarker(IMogoMarker marker) {
if (marker == null) {
@@ -476,30 +523,6 @@ public class TanluCardViewFragment extends MvpFragment>
}
- /**
- * 处理路线数据信息,msgType
- */
- private void handleRoadLineMessage() {
-// mMogoSocketManager = (IMogoSocketManager) ARouter.getInstance().build(MogoServicePaths.PATH_SOCKET_MANAGER).navigation();
-// mMogoSocketManager.registerOnMessageListener(401005, new IMogoOnMessageListener() {
-// @Override
-// public Class target() {
-// return MarkerResponse.class;
-// }
-//
-// @Override
-// public void onMsgReceived(MarkerResponse obj) {
-// Logger.e(TAG, "handleRoadLineMessage onMsgReceived obj= " + obj);
-// }
-// });
-
-
- //TODO 广播类型判断
-// getNavigationLineData();
-// getRoadLineData();
-
- }
-
/**
* @param view
*/
@@ -530,23 +553,12 @@ public class TanluCardViewFragment extends MvpFragment>
handleData(markerExploreWayList.get(currentPosition));
}
- } else if (id == R.id.tv_main_empty) { //TODO上报路况,逻辑
+ } else if (id == R.id.tv_main_empty) { //上报路况
Logger.d(TAG, "tv_main_empty click -----> ");
sendShareReceiver("1");
}
}
- /**
- * 发送广播
- */
- private void sendShareReceiver(String type) {
- Logger.d("liyz", "LaucherShareDialog sendShareReceiver ---->");
- Intent intent = new Intent();
- intent.setAction("com.zhidao.roadcondition.share");
- intent.putExtra("type", type);
- getContext().sendBroadcast(intent);
- }
-
/**
* 执行图片动画
*/
@@ -612,6 +624,7 @@ public class TanluCardViewFragment extends MvpFragment>
simpleCoverVideoPlayer.setVisibility(View.VISIBLE);
//视频配置
mVideoUrl = videoUrl;
+ simpleCoverVideoPlayer.loadCoverImage(mImageUrl, getContext());
gsyVideoOptionBuilder.setUrl(videoUrl).setCacheWithPlay(false).setPlayTag(TAG)
.build(simpleCoverVideoPlayer);
if (mImageUrl == null) {
@@ -670,6 +683,10 @@ public class TanluCardViewFragment extends MvpFragment>
*/
@Override
public void onPerform() {
+ //免唤醒
+ AIAssist.getInstance(getActivity()).registerUnWakeupCommand(TanluConstants.PLAY_VIDEO, TanluConstants.CMD_PLAY_ROAD_CONDITION, mogoVoiceListener);
+
+ isCurrentPage = true;
Logger.d(TAG, "tanlu卡片 onPerform 有效 ---->");
mMarkerManager = mMogoMapService.getMarkerManager(getActivity());
List markers = mMarkerManager.getMarkers(TanluConstants.MODEL_NAME);
@@ -715,6 +732,8 @@ public class TanluCardViewFragment extends MvpFragment>
@Override
public void onDisable() {
Logger.d(TAG, "tanlu卡片 无效 ----->");
+ isCurrentPage = false;
+ AIAssist.getInstance(getActivity()).unregisterUnWakeupCommand(TanluConstants.PLAY_VIDEO);
}
@Override
@@ -754,11 +773,6 @@ public class TanluCardViewFragment extends MvpFragment>
@Override
public void onLocationChanged(MogoLocation location) {
-// if (location.getErrCode() == 0) {
-// Logger.d(TAG, "onLocationChanged 当前位置 -->" + location.getAddress());
-// } else {
-// Logger.d(TAG, "onLocationChanged 定位失败 -->" + location.getErrInfo());
-// }
}
@Override
@@ -788,6 +802,7 @@ public class TanluCardViewFragment extends MvpFragment>
getViewLifecycleOwner().getLifecycle().removeObserver(mPresenter);
TanluServiceHandler.getLocationClient().removeLocationListener(this);
mMogoRegisterCenter.unregisterMogoNaviListener(TanluConstants.MODEL_NAME);
+ mogoIntentManager.unregisterIntentListener(MogoReceiver.ACTIION_ADAS );
}
/**
@@ -797,42 +812,75 @@ public class TanluCardViewFragment extends MvpFragment>
*/
@Subscribe(threadMode = ThreadMode.MAIN)
public void onMarkerInfo(final MarkerInfo event) {
- Logger.d(TAG, "onMarkerInfo ------>");
+ Logger.d(TAG, "onMarkerInfo ------------>");
if (event.type.equals("1")) { //上报路况
- mMarkerIcon = BitmapFactory.decodeResource(getResources(), R.drawable.tanlu_block_up);
+ mMarkerIcon = BitmapFactory.decodeResource(getResources(), R.drawable.tanlu_marker_block_up);
} else if (event.type.equals("2")) { //交通检查
- mMarkerIcon = BitmapFactory.decodeResource(getResources(), R.drawable.tanlu_traffic_check);
+ mMarkerIcon = BitmapFactory.decodeResource(getResources(), R.drawable.tanlu_marker_traffic_check);
} else if (event.type.equals("3")) { //封路
- mMarkerIcon = BitmapFactory.decodeResource(getResources(), R.drawable.tanlu_road_closure);
+ mMarkerIcon = BitmapFactory.decodeResource(getResources(), R.drawable.tanlu_marker_road_closure);
+ } else {
+ mMarkerIcon = BitmapFactory.decodeResource(getResources(), R.drawable.tanlu_marker_block_up);
}
- mogoImageloader.downloadImage(getActivity(), event.imageUrl, new IMogoImageLoaderListener() {
- @Override
- public void onStart() {
- Logger.d(TAG, "onMarkerInfo onStart ------>");
- }
+ Logger.d(TAG, "onMarkerInfo onCompleted ------>");
+ MogoMarkerOptions options = new MogoMarkerOptions()
+ .icon(mMarkerIcon)
+ .latitude(event.lat)
+ .owner(TanluConstants.MODEL_NAME)
+ .longitude(event.lon);
+ IMogoMarker marker = mMarkerManager.addMarker("share_tag", options); //随便传tag,不可点击
+ //TODO 请求分享接口
+ MarkerExploreWay markerExploreWay = markerExploreWayList.get(0);
+ if (markerExploreWay.getUserInfo() != null) {
- @Override
- public void onCompleted(Bitmap bitmap) {
- Logger.d(TAG, "onMarkerInfo onCompleted ------>");
- MogoMarkerOptions options = new MogoMarkerOptions()
- .icon(mMarkerIcon)
- .latitude(event.lat)
- .owner(TanluConstants.MODEL_NAME)
- .longitude(event.lon);
-
- IMogoMarker marker = mMarkerManager.addMarker("share_tag", options);
-
- //TODO 请求分享接口
- }
-
- @Override
- public void onFailure(Exception e) {
- Logger.e(TAG, "onMarkerInfo onFailure -----e =" + e);
- }
- });
+ }
+ uploadShareInfo(markerExploreWay.getType(), "", markerExploreWay.getUserInfo().getUserName(),
+ markerExploreWay.getUserInfo().getUserHead());
}
+
+ /**
+ * 上报分享信息
+ */
+ private void uploadShareInfo(String poiType, String poiImgUrl, String nickname, String headImgUrl) {
+ double lat = TanluServiceHandler.getLocationClient().getLastKnowLocation().getLatitude();
+ double lon = TanluServiceHandler.getLocationClient().getLastKnowLocation().getLongitude();
+ String addressStr = TanluServiceHandler.getLocationClient().getLastKnowLocation().getAddress();
+
+ mTanluModelData.addTrafficCheckInfo(poiType, poiImgUrl, nickname, headImgUrl, lat, lon, addressStr,
+ new UploadShareCallback() {
+ @Override
+ public void onSuccess(BaseData data) {
+ Logger.d(TAG, "uploadShareInfo onSuccess ----->");
+ AIAssist.getInstance(getContext()).speakTTSVoice(getString(R.string.tanlu_share_success), null);
+ }
+
+ @Override
+ public void onFail(String message, int code) {
+ Logger.d(TAG, "uploadShareInfo onFail ----->");
+ AIAssist.getInstance(getContext()).speakTTSVoice(getString(R.string.tanlu_share_failed), null);
+ }
+ });
+ }
+
+
+ /**
+ * push 类型,1为导航数据,2为通勤族 TODO
+ *
+ * @param event
+ */
+ @Subscribe(threadMode = ThreadMode.MAIN)
+ public void onPushInfo(final PushTypeInfo event) {
+ Logger.d(TAG, " onPushInfo event.type =" + event.type);
+ if (event.type.equals("1")) {
+ getNaviRoadLineInfo();
+ } else if (event.type.equals("2")) {
+ getRoadLineData();
+ }
+ }
+
+
/**
* 导航路线数据事件
*/
@@ -900,12 +948,13 @@ public class TanluCardViewFragment extends MvpFragment>
}
/**
- * 绘制线路
+ * 绘制线路 TODO
*/
private void drawMapLine(List pointList) {
int intervalNum = Utils.getIntervalValue(pointList.size());
Logger.d(TAG, "drawMapLine intervalNum = $intervalNum -- pointList.size = ${pointList.size}");
int listSize = pointList.size();
+ passedByPoints = new ArrayList<>();
//沿途最多15个点
for (int i = 0; i < listSize; i += intervalNum) {
@@ -925,32 +974,44 @@ public class TanluCardViewFragment extends MvpFragment>
public void getVoiceControlRoadData(String keywords, final double lat, final double lon) {
String adCode = TanluServiceHandler.getLocationClient().getLastKnowLocation().getAdCode();
String cityCode = TanluServiceHandler.getLocationClient().getLastKnowLocation().getCityCode();
- Logger.d(TAG, "getVoiceControlRoadData lat =" + lat + ">>>lon =" + lon + ">>>cityCode=" + cityCode + ">>>adCode =" + adCode);
+
+ //移动到具体位置
+ MogoLatLng latLng = new MogoLatLng(lat, lon);
+ mMApUIController.moveToCenter(latLng);
+
+ Logger.d(TAG, "getVoiceControlRoadData lat =" + lat + ">>>lon =" + lon + ">>>cityCode= " + cityCode + " >>>adCode = " + adCode);
mTanluModelData.getVoiceControlRoadData(keywords, cityCode, lon, lat, adCode, new VoiceSearchCallback() {
@Override
public void onSuccess(VoiceSearchResult o) {
- String discription = o.getDescription();
- Logger.d(TAG, "getVoiceControlRoadData discription = " + discription);
- if (o.getInformations() != null && o.getInformations().size() > 0) {
- speakSuccessVoice(o.getInformations(), discription == null ? "" : discription);
+ String discription = o.getResult().getDescription();
+ Logger.d(TAG, "getVoiceControlRoadData discription = " + discription);
+ if (o.getResult().getInformations() != null && o.getResult().getInformations().size() > 0) {
+ //切换到探路卡片
+ if (!isCurrentPage) {
+ //切换探路卡片
+ iMogoCardManager.switch2(TanluConstants.MODEL_NAME);
+ }
- List informationList = o.getInformations();
- //移动
- MogoLatLng latLng = new MogoLatLng(lat, lon);
- mMApUIController.moveToCenter(latLng);
+ speakSuccessVoice(o.getResult().getInformations(), discription == null ? "" : discription);
+ List informationList = o.getResult().getInformations();
//清除探路之前的数据
mMarkerManager.removeMarkers(TanluConstants.MODEL_NAME);
mMogoStatusManager.setUserInteractionStatus(TanluConstants.MODEL_NAME, true, false);
- //打点 TODO
+ //打点
ArrayList optionList = new ArrayList<>();
for (int i = 0; i < informationList.size(); i++) {
//根据type确定添加的图片
- if (informationList.get(i).type == 0) { //图片
- multiMarkerIcon = BitmapFactory.decodeResource(getResources(), R.drawable.ic_search_poi_location);
- } else if (informationList.get(i).type == 1) { //视频
-
+ String trafficType = informationList.get(i).trafficInfoType;
+ if (trafficType.equals("traffic_jam")) { //拥堵
+ multiMarkerIcon = BitmapFactory.decodeResource(getResources(), R.drawable.tanlu_marker_block_up);
+ } else if (trafficType.equals("car_checking")) { //查车
+ multiMarkerIcon = BitmapFactory.decodeResource(getResources(), R.drawable.tanlu_marker_traffic_check);
+ } else if (trafficType.equals("0")) {
+ multiMarkerIcon = BitmapFactory.decodeResource(getResources(), R.drawable.tanlu_marker_traffic_check);
+ } else if (trafficType.equals("traffic_control")) {
+ multiMarkerIcon = BitmapFactory.decodeResource(getResources(), R.drawable.tanlu_marker_road_closure);
}
MogoMarkerOptions options = new MogoMarkerOptions()
@@ -961,11 +1022,9 @@ public class TanluCardViewFragment extends MvpFragment>
optionList.add(options);
}
-
+ Logger.d(TAG, "getVoiceControlRoadData optionList.size() = " + optionList.size());
mMarkerManager.addMarkers(TanluConstants.MODEL_NAME, optionList, true);
//直接使用当前数据list,作为切换的数据源
-
-
} else {
if (!TextUtils.isEmpty(discription)) {
AIAssist.getInstance(getContext()).speakTTSVoice(discription, null);
@@ -973,7 +1032,6 @@ public class TanluCardViewFragment extends MvpFragment>
AIAssist.getInstance(getContext()).speakTTSVoice("未找到其他车主分享的路况信息", null);
}
}
-
}
@Override
@@ -1026,7 +1084,6 @@ public class TanluCardViewFragment extends MvpFragment>
}
}
-
private void initStrings() {
voiceGetInfoMationTts =
getContext().getResources().getString(R.string.voice_get_informations_tts);
@@ -1052,5 +1109,3 @@ public class TanluCardViewFragment extends MvpFragment>
}
-
-
diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/Information.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/Information.java
index 3ddfc14bc3..fe996b025f 100644
--- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/Information.java
+++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/Information.java
@@ -23,6 +23,7 @@ public class Information extends BaseData implements Parcelable {
public int distance;
public String nickName;
public String headImgUrl;
+ public String trafficInfoType;
@Override
@@ -42,6 +43,7 @@ public class Information extends BaseData implements Parcelable {
dest.writeInt(this.distance);
dest.writeString(this.nickName);
dest.writeString(this.headImgUrl);
+ dest.writeString(this.trafficInfoType);
}
public Information() {
@@ -58,6 +60,7 @@ public class Information extends BaseData implements Parcelable {
this.distance = in.readInt();
this.nickName = in.readString();
this.headImgUrl = in.readString();
+ this.trafficInfoType = in.readString();
}
public static final Creator CREATOR = new Creator() {
diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/Sns.kt b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/Sns.kt
index f075745c2b..2ea9c8ebe7 100644
--- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/Sns.kt
+++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/Sns.kt
@@ -5,9 +5,13 @@ class Sns {
var sns: List
var localUserId: String
+ var localNickName: String
+ var localHeadImgUrl: String
- constructor(sns: List, localUserId: String) {
+ constructor(sns: List, localUserId: String, localNickName: String, localHeadImgUrl: String) {
this.sns = sns
this.localUserId = localUserId
+ this.localNickName = localNickName
+ this.localHeadImgUrl = localHeadImgUrl
}
}
\ No newline at end of file
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 8239fb2cb3..065d48976a 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
@@ -5,12 +5,14 @@ import android.util.Log;
import com.alibaba.android.arouter.launcher.ARouter;
import com.google.gson.Gson;
+import com.mogo.commons.data.BaseData;
import com.mogo.commons.debug.DebugConfig;
import com.mogo.commons.network.ParamsProvider;
import com.mogo.commons.network.SubscribeImpl;
import com.mogo.commons.network.Utils;
import com.mogo.module.tanlu.callback.AlongTheWayCallback;
import com.mogo.module.tanlu.callback.RoadLineCallback;
+import com.mogo.module.tanlu.callback.UploadShareCallback;
import com.mogo.module.tanlu.callback.VoiceSearchCallback;
import com.mogo.module.tanlu.constant.HttpConst;
import com.mogo.module.tanlu.constant.TanluConstants;
@@ -66,7 +68,7 @@ public class TanluModelData {
Logger.d(TAG, "getVoiceControlRoadData -------> " + getSn());
final Map params = new ParamsProvider.Builder(mContext)
- .append("sn", "ZD821C1933L00974") //getSn
+ .append("sn", Utils.getSn())
.append("data", searchInformationStr)
.append("getSnData", locCarsWithRadiusStr)
.build();
@@ -103,7 +105,7 @@ public class TanluModelData {
public void getRoadLineData(final RoadLineCallback callback) {
Logger.d(TAG, "getRoadLineData -------> =" + Utils.getSn());
final Map params = new ParamsProvider.Builder(mContext)
- .append("sn", "ZD821C1933L00974")
+ .append("sn", Utils.getSn())
.build();
mTanluApiService.getRoadLineInfo(params)
@@ -134,12 +136,12 @@ public class TanluModelData {
}
/**
- * 导航路径,监听消息自己请求路线数据
+ * 导航路径,监听消息自己请求路线数据 ZD821C1933L00974
*/
public void getNaviRoadLineInfo(final RoadLineCallback callback) {
Logger.d(TAG, "getNaviRoadLineInfo -------> =" + Utils.getSn());
final Map params = new ParamsProvider.Builder(mContext)
- .append("sn", "ZD821C1933L00974")
+ .append("sn", Utils.getSn())
.build();
mTanluApiService.getNaviRoadLineInfo(params)
@@ -177,6 +179,9 @@ public class TanluModelData {
Gson gson = new Gson();
NaviLatLng coordinates = new NaviLatLng(getNaviInfo(lon, lat).fromStart(), getNaviInfo(lon, lat).toEnd());
Logger.d(TAG, "getNavigationLineData -------> " + getSn());
+ if (coordinates == null) {
+ return;
+ }
List list = new ArrayList<>();
list.add(lon);
@@ -189,7 +194,7 @@ public class TanluModelData {
.append("getSnData", locCarsWithRadiusStr)
.build();
- mTanluApiService.requestInformationAlongTheWay(getSn(), params)
+ mTanluApiService.requestInformationAlongTheWay(Utils.getSn(), params)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new SubscribeImpl(RequestOptions.create(mContext)) {
@@ -223,14 +228,61 @@ public class TanluModelData {
Log.d(TAG, " getNaviInfo naviInfo =" + naviInfo);
NaviLatLngInfo naviLatLngInfo = new Gson().fromJson(naviInfo, NaviLatLngInfo.class);
Log.d(TAG, "getLocNaviInfo lat = $lat -----> lon = $lon");
- if (lon == 0.0 || lat == 0.0) {
- return naviLatLngInfo;
+ if (naviLatLngInfo != null) {
+ if (lon == 0.0 || lat == 0.0) {
+ return naviLatLngInfo;
+ } else {
+ naviLatLngInfo.setFromPoiLatitude(lat + "");
+ naviLatLngInfo.setFromPoiLongitude(lon + "");
+ SharedPrefsMgr.getInstance(mContext).putString(TanluConstants.NAVI_INFO, new Gson().toJson(naviLatLngInfo));
+ return naviLatLngInfo;
+ }
} else {
- naviLatLngInfo.setFromPoiLatitude(lat + "");
- naviLatLngInfo.setFromPoiLongitude(lon + "");
- SharedPrefsMgr.getInstance(mContext).putString(TanluConstants.NAVI_INFO, new Gson().toJson(naviLatLngInfo));
- return naviLatLngInfo;
+ return null;
}
}
+
+ /**
+ * 上报交通检查和封路 TODO
+ */
+ public void addTrafficCheckInfo(String poiType, String poiImgUrl, String nickname, String headImgUrl,
+ double lat, double lon, String address, final UploadShareCallback callback) {
+ Gson gson = new Gson();
+ UploadShareRoadInfo uploadShareRoadInfo = new UploadShareRoadInfo(poiType, poiImgUrl, nickname, headImgUrl, new Center(lat, lon), address);
+ String uploadShareStr = gson.toJson(uploadShareRoadInfo);
+ Logger.d(TAG, "addTrafficCheckInfo sn= " + getSn() + ">> uploadShareStr =" + uploadShareStr);
+
+ final Map params = new ParamsProvider.Builder(mContext)
+ .append("sn", Utils.getSn())
+ .append("data", uploadShareStr)
+ .build();
+ mTanluApiService.searchOnLineInformation(params)
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new SubscribeImpl(RequestOptions.create(mContext)) {
+ @Override
+ public void onSuccess(BaseData o) {
+ super.onSuccess(o);
+ callback.onSuccess(o);
+ Logger.d(TAG, "addTrafficCheckInfo onSuccess ------>");
+ }
+
+ @Override
+ public void onError(String message, int code) {
+ super.onError(message, code);
+ callback.onFail(message, code);
+ Logger.e(TAG, "addTrafficCheckInfo onError message= " + message + ">>code =" + code);
+ }
+
+ @Override
+ public void onError(Throwable e) {
+ super.onError(e);
+ Logger.d(TAG, "addTrafficCheckInfo onError ------> e= " + e.getMessage());
+ }
+ });
+
+ }
+
+
}
diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/UploadShareRoadInfo.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/UploadShareRoadInfo.java
new file mode 100644
index 0000000000..e8e69d6650
--- /dev/null
+++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/UploadShareRoadInfo.java
@@ -0,0 +1,26 @@
+package com.mogo.module.tanlu.model;
+
+/**
+ * @author lixiaopeng
+ * @description 分享上报信息参数
+ * @since 2020-01-16
+ */
+public class UploadShareRoadInfo {
+
+ public String poiType;
+ public String poiImgUrl;
+ public String nickname;
+ public String headImgUrl;
+ private Center location;
+ private String address;
+
+ public UploadShareRoadInfo(String poiType, String poiImgUrl, String nickname,
+ String headImgUrl, Center location, String address) {
+ this.poiType = poiType;
+ this.poiImgUrl = poiImgUrl;
+ this.nickname = nickname;
+ this.headImgUrl = headImgUrl;
+ this.location = location;
+ this.address = address;
+ }
+}
diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/VoiceSearchResult.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/VoiceSearchResult.java
index a4ed3c5f26..086957fc6b 100644
--- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/VoiceSearchResult.java
+++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/VoiceSearchResult.java
@@ -9,31 +9,45 @@ import java.util.List;
* @since 2020-01-08
*/
public class VoiceSearchResult extends BaseData {
- private List informations;
- private String description;
- private Sns snResult;
- public List getInformations() {
- return informations;
+ private Result result;
+
+ public Result getResult() {
+ return result;
}
- public void setInformations(List informations) {
- this.informations = informations;
+ public void setResult(Result result) {
+ this.result = result;
}
- public String getDescription() {
- return description;
+ public static class Result {
+ private List informations;
+ private String description;
+ private Sns snResult;
+
+ public List getInformations() {
+ return informations;
+ }
+
+ public void setInformations(List informations) {
+ this.informations = informations;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public Sns getSnResult() {
+ return snResult;
+ }
+
+ public void setSnResult(Sns snResult) {
+ this.snResult = snResult;
+ }
}
- public void setDescription(String description) {
- this.description = description;
- }
-
- public Sns getSnResult() {
- return snResult;
- }
-
- public void setSnResult(Sns snResult) {
- this.snResult = snResult;
- }
}
diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/event/PushTypeInfo.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/event/PushTypeInfo.java
new file mode 100644
index 0000000000..52c23ebdda
--- /dev/null
+++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/model/event/PushTypeInfo.java
@@ -0,0 +1,17 @@
+package com.mogo.module.tanlu.model.event;
+
+import java.io.Serializable;
+
+/**
+ * @author lixiaopeng
+ * @description push区分类别
+ * @since 2020-01-08
+ */
+public class PushTypeInfo implements Serializable {
+ public String type;
+
+ public PushTypeInfo(String type) {
+ this.type = type;
+ }
+
+}
diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/net/TanluApiService.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/net/TanluApiService.java
index 5d085fe683..90760afe9c 100644
--- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/net/TanluApiService.java
+++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/net/TanluApiService.java
@@ -1,5 +1,6 @@
package com.mogo.module.tanlu.net;
+import com.mogo.commons.data.BaseData;
import com.mogo.module.tanlu.model.InformationAndLiveCarResult;
import com.mogo.module.tanlu.model.PathLineResult;
import com.mogo.module.tanlu.model.VoiceSearchResult;
@@ -20,7 +21,7 @@ import retrofit2.http.Query;
public interface TanluApiService {
/**
- * 探路沿途数据
+ * 探路沿途数据,只是为了通知server下发push
*/
@FormUrlEncoded
@POST("deva/car/path/no/getOnTheWayDataAndSn/v1")
@@ -47,5 +48,11 @@ public interface TanluApiService {
@POST("deva/car/search/no/searchInforationByAddress/v1")
Observable searchOnLineInformation(@FieldMap Map infoBody);
+ /**
+ * 上报交通检查,封路
+ */
+ @FormUrlEncoded
+ @POST("deva/car/poi/no/addNovelty/v1")
+ Observable uploadCheckTrafficInfor(@FieldMap Map infoBody);
}
diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/receiver/PushReceiver.kt b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/receiver/PushReceiver.kt
new file mode 100644
index 0000000000..731f251884
--- /dev/null
+++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/receiver/PushReceiver.kt
@@ -0,0 +1,22 @@
+package com.mogo.module.tanlu.receiver
+
+import android.content.BroadcastReceiver
+import android.content.Context
+import android.content.Intent
+import android.util.Log
+import com.mogo.module.tanlu.model.event.PushTypeInfo
+import com.mogo.module.tanlu.model.event.VoiceRoadInfo
+import org.greenrobot.eventbus.EventBus
+
+/**
+ * 导航和通勤族 push的action
+ */
+class PushReceiver : BroadcastReceiver() {
+ override fun onReceive(context: Context, intent: Intent) {
+ if (intent.action == "com.zhidao.roadcondition.split"){
+ var type = intent.getStringExtra("type")
+ Log.d("PushReceiver", "type = $type")
+ EventBus.getDefault().post(PushTypeInfo(type))
+ }
+ }
+}
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 8643ae7cfd..a27b37a2e1 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
@@ -56,12 +56,11 @@ class SimpleCoverVideoPlayer : StandardGSYVideoPlayer {
}
}
-// fun loadCoverImage(url: String, mContext: Context) {
-// Glide.with(mContext.applicationContext)
-// .load(url)
-// .error(R.color.color_303447)
-// .into(coverImage)
-// }
+ fun loadCoverImage(url: String, mContext: Context) {
+ Glide.with(mContext.applicationContext)
+ .load(url)
+ .into(coverImage)
+ }
override fun updateStartImage() {
when (mCurrentState) {
diff --git a/modules/mogo-module-tanlu/src/main/res/drawable-xhdpi/tanlu_marker_block_up.png b/modules/mogo-module-tanlu/src/main/res/drawable-xhdpi/tanlu_marker_block_up.png
new file mode 100644
index 0000000000..a934c7a994
Binary files /dev/null and b/modules/mogo-module-tanlu/src/main/res/drawable-xhdpi/tanlu_marker_block_up.png differ
diff --git a/modules/mogo-module-tanlu/src/main/res/drawable-xhdpi/tanlu_marker_road_closure.png b/modules/mogo-module-tanlu/src/main/res/drawable-xhdpi/tanlu_marker_road_closure.png
new file mode 100644
index 0000000000..d399d10169
Binary files /dev/null and b/modules/mogo-module-tanlu/src/main/res/drawable-xhdpi/tanlu_marker_road_closure.png differ
diff --git a/modules/mogo-module-tanlu/src/main/res/drawable-xhdpi/tanlu_marker_traffic_check.png b/modules/mogo-module-tanlu/src/main/res/drawable-xhdpi/tanlu_marker_traffic_check.png
new file mode 100644
index 0000000000..b47d3866ef
Binary files /dev/null and b/modules/mogo-module-tanlu/src/main/res/drawable-xhdpi/tanlu_marker_traffic_check.png differ
diff --git a/modules/mogo-module-tanlu/src/main/res/drawable/shape_bg_222533.xml b/modules/mogo-module-tanlu/src/main/res/drawable/shape_bg_222533.xml
index 12b869a5ff..1776be8082 100644
--- a/modules/mogo-module-tanlu/src/main/res/drawable/shape_bg_222533.xml
+++ b/modules/mogo-module-tanlu/src/main/res/drawable/shape_bg_222533.xml
@@ -1,5 +1,7 @@
-
-
+
+
+
\ No newline at end of file
diff --git a/modules/mogo-module-tanlu/src/main/res/drawable/tanlu_gradual_change_bg.xml b/modules/mogo-module-tanlu/src/main/res/drawable/tanlu_gradual_change_bg.xml
new file mode 100644
index 0000000000..6f95f6d2e9
--- /dev/null
+++ b/modules/mogo-module-tanlu/src/main/res/drawable/tanlu_gradual_change_bg.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
\ No newline at end of file
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 913bfc2e39..aab6356f38 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
@@ -3,7 +3,7 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="@dimen/dp_660"
android:layout_height="@dimen/dp_660"
- android:background="@drawable/shape_bg_222533_10px">
+ android:background="@drawable/tanlu_gradual_change_bg">
@@ -52,9 +52,9 @@
android:layout_below="@+id/tv_information_media_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
- android:layout_marginRight="@dimen/dp_32"
+ android:layout_marginRight="@dimen/dp_24"
android:text="2019-10-10"
- android:textColor="@color/color_999999"
+ android:textColor="@color/color_99FFFFFF"
android:textSize="@dimen/dp_26" />
@@ -64,8 +64,8 @@
android:layout_width="@dimen/dp_596"
android:layout_height="@dimen/dp_355"
android:layout_below="@+id/layout_top_view"
- android:layout_marginLeft="@dimen/dp_32"
- android:layout_marginRight="@dimen/dp_32"
+ android:layout_marginLeft="@dimen/dp_24"
+ android:layout_marginRight="@dimen/dp_24"
android:background="@drawable/shape_bg_222533_9px">
+ android:layout_marginTop="@dimen/dp_30"
+ android:layout_marginLeft="@dimen/dp_24"
+ android:layout_marginRight="@dimen/dp_24">
+ android:textColor="@color/white"
+ android:textSize="@dimen/dp_28" />
+ android:textColor="@color/white"
+ android:textSize="@dimen/dp_28" />
@@ -126,7 +125,7 @@
+ android:textSize="@dimen/dp_34" />
\ No newline at end of file
diff --git a/modules/mogo-module-tanlu/src/main/res/values/colors.xml b/modules/mogo-module-tanlu/src/main/res/values/colors.xml
index 6c0dd2590f..78aa080e47 100644
--- a/modules/mogo-module-tanlu/src/main/res/values/colors.xml
+++ b/modules/mogo-module-tanlu/src/main/res/values/colors.xml
@@ -34,7 +34,9 @@
#DADAE2
#545362
#99191C25
- #666666
+ #99666666
#999999
+ #99FFFFFF
+ #59FFFFFF
diff --git a/modules/mogo-module-tanlu/src/main/res/values/strings.xml b/modules/mogo-module-tanlu/src/main/res/values/strings.xml
index b6fc8a1bd9..104e6ba3bd 100644
--- a/modules/mogo-module-tanlu/src/main/res/values/strings.xml
+++ b/modules/mogo-module-tanlu/src/main/res/values/strings.xml
@@ -6,7 +6,7 @@
已同意
探路共享计划 >>
探路APP用户服务协议
- 未找到其他用户分享的路况,
您可以试试上报路况]]>
+ 未找到其他用户分享的路况,
您可以试试上报路况]]>
未知区域
上报路况
正在更新情报数据
@@ -17,7 +17,8 @@
共享计划
上一条
下一条
-
+ 分享成功
+ 分享失败
- 正在为您搜索路况
diff --git a/services/mogo-service-api/build.gradle b/services/mogo-service-api/build.gradle
index a3c7bea1c2..8dc15e3ab2 100644
--- a/services/mogo-service-api/build.gradle
+++ b/services/mogo-service-api/build.gradle
@@ -2,7 +2,7 @@ apply plugin: 'com.android.library'
android {
compileSdkVersion rootProject.ext.android.compileSdkVersion
- buildToolsVersion rootProject.ext.android.buildToolsVersion
+ // buildToolsVersion rootProject.ext.android.buildToolsVersion
defaultConfig {
minSdkVersion rootProject.ext.android.minSdkVersion
targetSdkVersion rootProject.ext.android.targetSdkVersion
diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/imageloader/MogoImageView.java b/services/mogo-service-api/src/main/java/com/mogo/service/imageloader/MogoImageView.java
index 18612539a7..8b9f951a83 100644
--- a/services/mogo-service-api/src/main/java/com/mogo/service/imageloader/MogoImageView.java
+++ b/services/mogo-service-api/src/main/java/com/mogo/service/imageloader/MogoImageView.java
@@ -64,6 +64,8 @@ public class MogoImageView extends GenericDraweeView {
mIsBlur = arrays.getBoolean( R.styleable.MogoImageView_miv_isBlur, false );
mBlurRadius = arrays.getInt( R.styleable.MogoImageView_miv_blurRadius, 25 );
arrays.recycle();
+
+ setImageResource( mPlaceHolder );
}
public void setRadius( float radius ) {
diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/intent/IMogoIntentManager.java b/services/mogo-service-api/src/main/java/com/mogo/service/intent/IMogoIntentManager.java
index 1a978d1b25..cb3538048f 100644
--- a/services/mogo-service-api/src/main/java/com/mogo/service/intent/IMogoIntentManager.java
+++ b/services/mogo-service-api/src/main/java/com/mogo/service/intent/IMogoIntentManager.java
@@ -8,7 +8,7 @@ import com.alibaba.android.arouter.facade.template.IProvider;
* @author congtaowang
* @since 2020-01-09
*
- * 免唤醒语音控制
+ * 唤醒语音控制
*/
public interface IMogoIntentManager extends IProvider {
diff --git a/services/mogo-service/build.gradle b/services/mogo-service/build.gradle
index 912ded01fc..66f2a244d6 100644
--- a/services/mogo-service/build.gradle
+++ b/services/mogo-service/build.gradle
@@ -3,7 +3,7 @@ apply plugin: 'com.alibaba.arouter'
android {
compileSdkVersion rootProject.ext.android.compileSdkVersion
- buildToolsVersion rootProject.ext.android.buildToolsVersion
+ // buildToolsVersion rootProject.ext.android.buildToolsVersion
defaultConfig {
minSdkVersion rootProject.ext.android.minSdkVersion
targetSdkVersion rootProject.ext.android.targetSdkVersion