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 75f89e661f..1675ec9d3f 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
@@ -184,6 +184,10 @@ public class NaviClient implements IMogoNavi {
return mMogoNaviConfig;
}
+ @Override public boolean setBroadcastMode(int mode) {
+ return mAMapNavi.setBroadcastMode(mode);
+ }
+
// -- end
private boolean checkAMapNavi() {
diff --git a/libraries/mogo-map-api/src/main/AndroidManifest.xml b/libraries/mogo-map-api/src/main/AndroidManifest.xml
index cc565f439e..6699b2d36f 100644
--- a/libraries/mogo-map-api/src/main/AndroidManifest.xml
+++ b/libraries/mogo-map-api/src/main/AndroidManifest.xml
@@ -1,2 +1,4 @@
+ package="com.mogo.map.api" >
+
+
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 660aa7b528..73fcb2d307 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
@@ -104,7 +104,17 @@ public interface IMogoNavi {
*/
void setCalculatePathDisplayBounds( Rect bounds );
-
+ /**
+ * 导航配置
+ * @return
+ */
MogoNaviConfig getNaviConfig();
+ /**
+ * 设置播报模式
+ * @param mode
+ * @return
+ */
+ boolean setBroadcastMode(int mode);
+
}
diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/MogoNavi.java b/libraries/mogo-map/src/main/java/com/mogo/map/MogoNavi.java
index 256e9377e1..d93bc08212 100644
--- a/libraries/mogo-map/src/main/java/com/mogo/map/MogoNavi.java
+++ b/libraries/mogo-map/src/main/java/com/mogo/map/MogoNavi.java
@@ -142,4 +142,11 @@ public class MogoNavi implements IMogoNavi {
}
return null;
}
+
+ @Override public boolean setBroadcastMode(int mode) {
+ if (mDelegate != null) {
+ return mDelegate.setBroadcastMode(mode);
+ }
+ return false;
+ }
}
diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/constants/BroadcastMode.java b/libraries/mogo-map/src/main/java/com/mogo/map/constants/BroadcastMode.java
new file mode 100644
index 0000000000..ac6c7a1781
--- /dev/null
+++ b/libraries/mogo-map/src/main/java/com/mogo/map/constants/BroadcastMode.java
@@ -0,0 +1,10 @@
+package com.mogo.map.constants;
+
+/**
+ * @author zyz
+ * 2020-01-14.
+ */
+public class BroadcastMode {
+ public static final int CONCISE = 1;
+ public static final int DETAIL = 2;
+}
diff --git a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/setting/NaviSettingFragment.kt b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/setting/NaviSettingFragment.kt
index c93a9b3703..eab135cf33 100644
--- a/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/setting/NaviSettingFragment.kt
+++ b/modules/mogo-module-search/src/main/java/com/mogo/module/navi/ui/setting/NaviSettingFragment.kt
@@ -1,5 +1,7 @@
package com.mogo.module.navi.ui.setting
+import android.content.Context
+import android.media.AudioManager
import android.os.Bundle
import android.view.View
import android.widget.CompoundButton
@@ -8,6 +10,8 @@ import android.widget.SeekBar
import android.widget.SeekBar.OnSeekBarChangeListener
import com.alibaba.android.arouter.facade.annotation.Route
import com.alibaba.android.arouter.launcher.ARouter
+import com.mogo.map.constants.BroadcastMode
+import com.mogo.map.uicontroller.EnumMapUI
import com.mogo.module.common.MogoModulePaths
import com.mogo.module.navi.R
import com.mogo.module.navi.constants.SearchServiceHolder
@@ -108,6 +112,10 @@ class NaviSettingFragment : BaseFragment(), OnCheckedChangeListener {
rb_navi_no_high_way.setOnCheckedChangeListener(this)
rb_navi_fee.setOnCheckedChangeListener(this)
+ var audioManager = activity?.getSystemService(Context.AUDIO_SERVICE) as AudioManager
+ sb_navi_volume_progress.max = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC)
+ sb_navi_volume_progress.progress = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC)
+
sb_navi_volume_progress.setOnSeekBarChangeListener(object : OnSeekBarChangeListener {
override fun onProgressChanged(
@@ -115,9 +123,9 @@ class NaviSettingFragment : BaseFragment(), OnCheckedChangeListener {
progress: Int,
fromUser: Boolean
) {
- if (fromUser) {
- SettingManager.volume = progress
- }
+ audioManager.setStreamVolume(
+ AudioManager.STREAM_MUSIC, progress, AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE
+ )
}
override fun onStartTrackingTouch(seekBar: SeekBar?) {
@@ -131,9 +139,28 @@ class NaviSettingFragment : BaseFragment(), OnCheckedChangeListener {
rg_navi_day_night.setOnCheckedChangeListener { group, checkedId ->
SettingManager.mapType = checkedId
+
+ when (checkedId) {
+ R.id.rb_navi_day -> {
+ SearchServiceHolder.getMapUIController()
+ .changeMapMode(EnumMapUI.Type_Night)
+ }
+ R.id.rb_navi_night -> {
+ SearchServiceHolder.getMapUIController()
+ .changeMapMode(EnumMapUI.Type_Light)
+ }
+ R.id.rb_navi_auto -> {
+ SearchServiceHolder.getMapUIController()
+ .changeMapMode(EnumMapUI.Type_AUTO_LIGHT_Night)
+ }
+ }
}
rg_navi_sound_type.setOnCheckedChangeListener { group, checkedId ->
SettingManager.voiceStyle = checkedId
+ SearchServiceHolder.getNavi()
+ .setBroadcastMode(
+ if (checkedId == R.id.rb_navi_detail) BroadcastMode.DETAIL else BroadcastMode.CONCISE
+ )
}
}