diff --git a/.idea/misc.xml b/.idea/misc.xml
index 21e99e2dc0..cd77a1f062 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -4,7 +4,7 @@
-
+
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index d31249a591..33615bd328 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -111,6 +111,8 @@ android {
buildConfigField 'boolean', 'USE_CUSTOM_NAVI', 'false'
// 是否加载引导模块
buildConfigField 'boolean', 'LOAD_GUIDE_MODULE', 'false'
+ // 是否支持换肤
+ buildConfigField 'boolean', 'IS_SKIN_SUPPORTED', 'true'
}
// f系列-分体机
f80x {
@@ -127,6 +129,8 @@ android {
buildConfigField 'boolean', 'USE_CUSTOM_NAVI', 'false'
// 是否加载引导模块
buildConfigField 'boolean', 'LOAD_GUIDE_MODULE', 'false'
+ // 是否支持换肤
+ buildConfigField 'boolean', 'IS_SKIN_SUPPORTED', 'true'
}
// e系列,采用Launcher方案
e8xx {
@@ -143,6 +147,8 @@ android {
buildConfigField 'boolean', 'USE_CUSTOM_NAVI', 'false'
// 是否加载引导模块
buildConfigField 'boolean', 'LOAD_GUIDE_MODULE', 'false'
+ // 是否支持换肤
+ buildConfigField 'boolean', 'IS_SKIN_SUPPORTED', 'true'
}
// 同上
em4 {
@@ -159,6 +165,8 @@ android {
buildConfigField 'boolean', 'USE_CUSTOM_NAVI', 'false'
// 是否加载引导模块
buildConfigField 'boolean', 'LOAD_GUIDE_MODULE', 'false'
+ // 是否支持换肤
+ buildConfigField 'boolean', 'IS_SKIN_SUPPORTED', 'true'
}
// e系列-2+32,对标D系列2+32,采用独立app的形式
em3 {
@@ -175,6 +183,8 @@ android {
buildConfigField 'boolean', 'USE_CUSTOM_NAVI', 'false'
// 是否加载引导模块
buildConfigField 'boolean', 'LOAD_GUIDE_MODULE', 'false'
+ // 是否支持换肤
+ buildConfigField 'boolean', 'IS_SKIN_SUPPORTED', 'false'
}
// e系列-1+16,对标D系列1+16,采用独立app形式
em1 {
@@ -191,6 +201,8 @@ android {
buildConfigField 'boolean', 'USE_CUSTOM_NAVI', 'false'
// 是否加载引导模块
buildConfigField 'boolean', 'LOAD_GUIDE_MODULE', 'false'
+ // 是否支持换肤
+ buildConfigField 'boolean', 'IS_SKIN_SUPPORTED', 'false'
}
// d系列
d8xx {
@@ -207,6 +219,8 @@ android {
buildConfigField 'boolean', 'USE_CUSTOM_NAVI', 'false'
// 是否加载引导模块
buildConfigField 'boolean', 'LOAD_GUIDE_MODULE', 'true'
+ // 是否支持换肤
+ buildConfigField 'boolean', 'IS_SKIN_SUPPORTED', 'false'
}
// d系列 2 + 32
d80x {
@@ -223,6 +237,8 @@ android {
buildConfigField 'boolean', 'USE_CUSTOM_NAVI', 'false'
// 是否加载引导模块
buildConfigField 'boolean', 'LOAD_GUIDE_MODULE', 'true'
+ // 是否支持换肤
+ buildConfigField 'boolean', 'IS_SKIN_SUPPORTED', 'false'
}
// d系列 1+16 版本
d82x {
@@ -239,6 +255,8 @@ android {
buildConfigField 'boolean', 'USE_CUSTOM_NAVI', 'false'
// 是否加载引导模块
buildConfigField 'boolean', 'LOAD_GUIDE_MODULE', 'true'
+ // 是否支持换肤
+ buildConfigField 'boolean', 'IS_SKIN_SUPPORTED', 'false'
}
// 比亚迪
bydauto {
@@ -255,6 +273,8 @@ android {
buildConfigField 'boolean', 'USE_CUSTOM_NAVI', 'true'
// 是否加载引导模块
buildConfigField 'boolean', 'LOAD_GUIDE_MODULE', 'false'
+ // 是否支持换肤
+ buildConfigField 'boolean', 'IS_SKIN_SUPPORTED', 'false'
}
qa {
dimension "env"
diff --git a/app/src/main/java/com/mogo/launcher/MogoApplication.java b/app/src/main/java/com/mogo/launcher/MogoApplication.java
index 58c4a17564..656fef5fb5 100644
--- a/app/src/main/java/com/mogo/launcher/MogoApplication.java
+++ b/app/src/main/java/com/mogo/launcher/MogoApplication.java
@@ -30,6 +30,7 @@ import com.mogo.test.crashreport.ITestCrashReportProvider;
import com.mogo.utils.UiThreadHandler;
import com.mogo.utils.logger.LogLevel;
import com.mogo.utils.logger.Logger;
+import com.mogo.utils.storage.SharedPrefsMgr;
import com.squareup.leakcanary.LeakCanary;
import com.zhidao.boot.persistent.lib.PersistentManager;
import com.zhidao.mogo.module.left.panel.LeftPanelConst;
@@ -65,6 +66,8 @@ public class MogoApplication extends AbsMogoApplication {
if ( DebugConfig.isLoadGuideModule() ) {
MogoModulePaths.addModule( new MogoModule( PATH_GUIDE_FRAGMENT, PATH_GUIDE_MODULE_NAME ) );
+ }else{
+ SharedPrefsMgr.getInstance(this).putBoolean(DebugConfig.getSpGuide(),true);
}
MogoModulePaths.addModule( new MogoModule( MogoServicePaths.PATH_AGREEMENT, AuthorizeConstant.PATH_AGREEMENT_MODULE_NAME ) );
@@ -80,7 +83,7 @@ public class MogoApplication extends AbsMogoApplication {
MogoModulePaths.addModule( new MogoModule( TanluApiConst.MODULE_PATH, TanluApiConst.MODULE_NAME ) );
MogoModulePaths.addBaseModule( new MogoModule( TanluConstants.TAG, TanluConstants.MODEL_NAME ) );
- MogoModulePaths.addModule( new MogoModule( MogoServicePaths.PATH_SHARE, "ShareControl" ) );
+ MogoModulePaths.addBaseModule( new MogoModule( MogoServicePaths.PATH_SHARE, "ShareControl" ) );
MogoModulePaths.addModule( new MogoModule( LeftPanelConst.PATH_NAME, LeftPanelConst.MODULE_NAME ) );
@@ -127,6 +130,7 @@ public class MogoApplication extends AbsMogoApplication {
DebugConfig.setSocketAppId( BuildConfig.SOCKET_APP_ID );
DebugConfig.setRoadEventAnimated( BuildConfig.ROAD_EVENT_ANIMATED );
DebugConfig.setLoadGuideModule( BuildConfig.LOAD_GUIDE_MODULE );
+ DebugConfig.setSkinSupported( BuildConfig.IS_SKIN_SUPPORTED );
}
@Override
diff --git a/foudations/mogo-commons/src/main/java/com/mogo/commons/debug/DebugConfig.java b/foudations/mogo-commons/src/main/java/com/mogo/commons/debug/DebugConfig.java
index 084326da6e..4f9761ca27 100644
--- a/foudations/mogo-commons/src/main/java/com/mogo/commons/debug/DebugConfig.java
+++ b/foudations/mogo-commons/src/main/java/com/mogo/commons/debug/DebugConfig.java
@@ -267,4 +267,14 @@ public class DebugConfig {
public static String getSpGuide(){
return SP_GUIDE;
}
+
+ private static boolean isSkinSupported = false;
+
+ public static void setSkinSupported( boolean isSkinSupported ) {
+ DebugConfig.isSkinSupported = isSkinSupported;
+ }
+
+ public static boolean isSkinSupported() {
+ return isSkinSupported;
+ }
}
diff --git a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/CosStatusController.kt b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/CosStatusController.kt
index 9cf32f0e38..502e6b1c5a 100644
--- a/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/CosStatusController.kt
+++ b/libraries/tanlulib/src/main/java/com/zhidao/roadcondition/service/CosStatusController.kt
@@ -4,6 +4,7 @@ import android.content.Intent
import android.util.Log
import com.google.gson.Gson
import com.mogo.commons.AbsMogoApplication
+import com.mogo.commons.debug.DebugConfig
import com.mogo.utils.TipToast
import com.zhidao.cosupload.DbPriorityConfig
import com.zhidao.cosupload.callback.CosStatusCallback
@@ -105,7 +106,10 @@ class CosStatusController : CosStatusCallback {
} else {
//重试一次,如果还失败就提示
if (entity?.isCustom && mFromType != UPLOAD_FROM_STRATEGY_ACCIDENT_AUTO) {
- sendGetInfoFailedReceiver("100")
+ if(DebugConfig.isLauncher()) {
+ // 只有Launcher上报的时候,失败会提示,独立app不会提示
+ sendGetInfoFailedReceiver("100")
+ }
}
if (localPath!!.endsWith("mp4") || localPath!!.contains("Thumbnail")) {
diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/dialog/BaseFloatDialog.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/dialog/BaseFloatDialog.java
index 58eb4cab55..b39f1dfb0c 100644
--- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/dialog/BaseFloatDialog.java
+++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/dialog/BaseFloatDialog.java
@@ -27,7 +27,7 @@ public class BaseFloatDialog extends Dialog {
}
private void addFlag() {
- getWindow().setType(WindowManager.LayoutParams.FIRST_SYSTEM_WINDOW + 10);
+ getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN
| WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION
| WindowManager.LayoutParams.FLAG_LOCAL_FOCUS_MODE);
diff --git a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/fragment/GuideFragment.kt b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/fragment/GuideFragment.kt
index b08d4375a9..5d4054afdc 100644
--- a/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/fragment/GuideFragment.kt
+++ b/modules/mogo-module-guide/src/main/java/com/mogo/module/guide/fragment/GuideFragment.kt
@@ -24,6 +24,7 @@ class GuideFragment : MvpFragment(), GuideC
}
private var duringTime: Long = 0L
+ private var recordCount = 0
override fun getLayoutId(): Int {
return R.layout.module_guide_fragment
@@ -90,15 +91,18 @@ class GuideFragment : MvpFragment(), GuideC
}
fun closeGuideFragment() {
- val recordTime = System.currentTimeMillis() - duringTime
- val currentItem = moduleGuideViewPager.currentItem + 1
- AnalyticsUtil.track(INVOKE_TRACK_PLAY_PASS_ID,
- hashMapOf(INVOKE_TRACK_PASS_TIME to currentItem
- , INVOKE_TRACK_PLAY_TIME to recordTime))
- Logger.d(TAG, "closeGuideFragment -> recordTime : $recordTime , currentItem : $currentItem")
+ recordCount = moduleGuideViewPager.currentItem + 1
destroy()
}
+ private fun track() {
+ val recordTime = System.currentTimeMillis() - duringTime
+ AnalyticsUtil.track(INVOKE_TRACK_PLAY_PASS_ID,
+ hashMapOf(INVOKE_TRACK_PASS_TIME to recordCount
+ , INVOKE_TRACK_PLAY_TIME to recordTime))
+ Logger.d(TAG, "closeGuideFragment -> recordTime : $recordTime , recordCount : $recordCount")
+ }
+
private fun destroy() {
speak(context!!, context!!.resources.getString(R.string.module_guide_voice_page_end), object : IMogoVoiceCmdCallBack {
override fun onTTSEnd(ttsId: String?, tts: String?) {
@@ -119,6 +123,7 @@ class GuideFragment : MvpFragment(), GuideC
override fun onDestroy() {
super.onDestroy()
+ track()
invokeAuthorize()
}
}
\ No newline at end of file
diff --git a/modules/mogo-module-guide/src/main/res/values/strings.xml b/modules/mogo-module-guide/src/main/res/values/strings.xml
index 653d0616bf..de95ff4900 100644
--- a/modules/mogo-module-guide/src/main/res/values/strings.xml
+++ b/modules/mogo-module-guide/src/main/res/values/strings.xml
@@ -6,9 +6,9 @@
跳过
欢迎使用蘑菇出行,您下次可以直接对我说,打开蘑菇出行来直接进入应用,点击左下方按钮进行摄像头设置
- 左边是道路事件的播报,点击右边地图上的事件标示可以查看事件详情
+ 左边是道路事件的播报,点击右边地图上的事件标示可以查看事件详情,或者直接唤醒小智说,中关村附近堵不堵,来查询目的地周围路况
这里是道路信息显示,点击后可查看事件详情
这里是事件汇总,您可以查看您参与的事件和您的分享记录
- 更多设置,在左上角的设置功能中,点击右下角的分享,可以把路况分享给其他车友
+ 更多设置,在左上角的设置功能中,点击右下角的分享,可以把路况分享给其他车友,或者直接唤醒小智说,上报路况
我们希望让您的出行更加安全高效,更多功能等着你去发现,快去体验体验吧
diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java
index 0c0ef0ba16..85a097bb79 100644
--- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java
+++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java
@@ -163,7 +163,9 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
// obuManager.registerObuDataChangedListener(EventDispatchCenter.getInstance());
// }
- initAdasControlStatusListener();
+ if ( DebugConfig.isSkinSupported() ) {
+ initAdasControlStatusListener();
+ }
EventDispatchCenter.getInstance().setMapLoadedCallback( () -> {
Logger.d( TAG, "map loaded." + Thread.currentThread().getName() );
diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/manager/GridBtnManager.kt b/modules/mogo-module-share/src/main/java/com/mogo/module/share/manager/GridBtnManager.kt
index 275a0e1b1a..7dd041a33e 100644
--- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/manager/GridBtnManager.kt
+++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/manager/GridBtnManager.kt
@@ -70,8 +70,10 @@ class GridBtnManager(val context: Context, private val container: GridLayout, pr
generateShareButton(FixableButton(poiType = IMogoTanluProvider.TYPE_DENSE_FOG, title = "浓雾"))
} else {
val btnList = GsonUtil.arrayFromJson(config, FixableButton::class.java)
- btnList.forEach { btn ->
- generateShareButton(btn)
+ if(btnList!=null&&btnList.isNotEmpty()) {
+ btnList.forEach { btn ->
+ generateShareButton(btn)
+ }
}
}
}
diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluListWindow.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluListWindow.java
index f9f27f4699..fe3450625c 100644
--- a/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluListWindow.java
+++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/module/tanlu/fragment/TanluListWindow.java
@@ -1086,7 +1086,7 @@ public class TanluListWindow extends RelativeLayout implements IMogoMarkerClickL
if (!NetworkUtils.isConnected(getContext())) { //没有网络
TipToast.shortTip("分享失败,请检查网络",new TipDrawable(getResources().getDrawable(R.drawable.module_tanlu_upload_fail)));
- } else if(TanluServiceManager.getMogoStatusManager().isMainPageOnResume()) {
+ } else {
float bearing = TanluServiceManager.getLocationClient().getLastKnowLocation().getBearing(); //角度
Logger.d(TAG, "onMarkerInfo event.type = " + event.type + " >>event.lat = " + event.lat + " >>event.lon = " + event.lon + " >>event.imageUrl =" + event.imageUrl);
String poiType = event.type;
@@ -1095,49 +1095,51 @@ public class TanluListWindow extends RelativeLayout implements IMogoMarkerClickL
Logger.d(TAG, "onMarkerInfo share poiType = " + poiType + " --isCumtom = " + isCumtom + " >> getMathRandom = " + getMathRandom() + " >>> bearing = " + bearing + ">>>fromType = " + fromType);
if (!fromType.equals("5")) {
if (isCumtom && !poiType.equals("0")) {
- double lat = TanluServiceManager.getLocationClient().getLastKnowLocation().getLatitude();
- double lon = TanluServiceManager.getLocationClient().getLastKnowLocation().getLongitude();
- Log.d(TAG, "onMarkerInfo lat = " + lat + " >>>> lon = " + lon);
- String cityName = TanluServiceManager.getLocationClient().getLastKnowLocation().getCityName();
- String address = TanluServiceManager.getLocationClient().getLastKnowLocation().getAddress();
- MarkerExploreWay markerExploreWay = new MarkerExploreWay();
- markerExploreWay.setCityName(cityName);
- markerExploreWay.setPoiType(poiType);
-
- MarkerLocation markerLocation = new MarkerLocation();
- markerLocation.setLat(lat);
- markerLocation.setLon(lon);
- markerLocation.setAddress(address);
-
- MarkerShowEntity markerShowEntity = new MarkerShowEntity();
- markerShowEntity.setBindObj(markerExploreWay);
- markerShowEntity.setTextContent(address);
- markerShowEntity.setMarkerType(TanluConstants.MODEL_NAME);
- markerShowEntity.setMarkerLocation(markerLocation);
-
+ // 不管在不在前台,都要提示分享成功
AIAssist.getInstance(getContext()).speakTTSVoice((
String.format(voiceShareSuccessTts, getMathRandom())), null);
- TipToast.shortTip("分享成功",new TipDrawable(getResources().getDrawable(R.drawable.module_tanlu_upload_success)));
+ TipToast.shortTip("分享成功", new TipDrawable(getResources().getDrawable(R.drawable.module_tanlu_upload_success)));
+ if(TanluServiceManager.getMogoStatusManager().isMainPageOnResume()) {
+ double lat = TanluServiceManager.getLocationClient().getLastKnowLocation().getLatitude();
+ double lon = TanluServiceManager.getLocationClient().getLastKnowLocation().getLongitude();
+ Log.d(TAG, "onMarkerInfo lat = " + lat + " >>>> lon = " + lon);
+ String cityName = TanluServiceManager.getLocationClient().getLastKnowLocation().getCityName();
+ String address = TanluServiceManager.getLocationClient().getLastKnowLocation().getAddress();
+ MarkerExploreWay markerExploreWay = new MarkerExploreWay();
+ markerExploreWay.setCityName(cityName);
+ markerExploreWay.setPoiType(poiType);
- IMogoMarker mogoMarker = TanluServiceManager.getServiceApis().getMarkerService().drawMarker(markerShowEntity);
- mogoMarker.setClickable(false);
+ MarkerLocation markerLocation = new MarkerLocation();
+ markerLocation.setLat(lat);
+ markerLocation.setLon(lon);
+ markerLocation.setAddress(address);
- //开启动画
- mogoMarker.startScaleAnimationWithAlpha(0, 1.2f, 0, 1.2f, 0f, 1f, 300, new LinearInterpolator(), new OnMarkerAnimationListener() {
- @Override
- public void onAnimStart() {
- Logger.d(TAG, " onAnimStart ---1----> ");
- }
+ MarkerShowEntity markerShowEntity = new MarkerShowEntity();
+ markerShowEntity.setBindObj(markerExploreWay);
+ markerShowEntity.setTextContent(address);
+ markerShowEntity.setMarkerType(TanluConstants.MODEL_NAME);
+ markerShowEntity.setMarkerLocation(markerLocation);
- @Override
- public void onAnimEnd() {
- if (mogoMarker.isDestroyed()) {
- return;
+ IMogoMarker mogoMarker = TanluServiceManager.getServiceApis().getMarkerService().drawMarker(markerShowEntity);
+ mogoMarker.setClickable(false);
+
+ //开启动画
+ mogoMarker.startScaleAnimationWithAlpha(0, 1.2f, 0, 1.2f, 0f, 1f, 300, new LinearInterpolator(), new OnMarkerAnimationListener() {
+ @Override
+ public void onAnimStart() {
+ Logger.d(TAG, " onAnimStart ---1----> ");
}
- mogoMarker.startScaleAnimation(1.2f, 1, 1.2f, 1, 100, new LinearInterpolator(), null);
- }
- });
+
+ @Override
+ public void onAnimEnd() {
+ if (mogoMarker.isDestroyed()) {
+ return;
+ }
+ mogoMarker.startScaleAnimation(1.2f, 1, 1.2f, 1, 100, new LinearInterpolator(), null);
+ }
+ });
+ }
} else {
Logger.e(TAG, "onMarkerInfo share onCompleted poiType = -1 --- else ---->");
}